首页
社区
课程
招聘
VC6.0实现0day实验环境问题
发表于: 2021-3-16 11:32 5039

VC6.0实现0day实验环境问题

2021-3-16 11:32
5039
#include<windows.h>
#include<stdio.h>
#define DLL_NAME "user32.dll"
main()
{
    BYTE* ptr;
    int position, address;
    HINSTANCE handle;
    BOOL done_flag = FALSE;
    handle = LoadLibrary(DLL_NAME);
    if(!handle)
    {
        printf("load dll erro \n");
        exit(0);
    }
    ptr = (BYTE*)handle;
    for(position = 0; !done_flag; position++)
    {
        try
        {
            if(ptr[position] == 0xFF && ptr[position+1] == 0XE4)
            {
                int address = (int) ptr + position;
                printf("opcode found at 0x%x\n", address);
            }
        }
        catch(...)
        {
            int address = (int)ptr + position;
            printf("end of 0x%x\n", address);
            done_flag = true;
        }
    }
}


这是VC6.0的环境问题吗?怎么解决?

或有知道怎么其他方便实验的环境求分享。谢谢


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 10310
活跃值: (4515)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
#include "stdafx.h"
#include<windows.h>
#include<stdio.h>
#define DLL_NAME "user32.dll"
int main()
{
    BYTE* ptr;
    int position, address;
    HINSTANCE handle;
    BOOL done_flag = FALSE;
    handle = LoadLibrary(DLL_NAME);
    if(!handle)
    {
        printf("load dll erro \n");
        return 0;
    }
    ptr = (BYTE*)handle;
    for(position = 0; !done_flag; position++)
    {
        try
        {
            if(ptr[position] == 0xFF && ptr[position+1] == 0XE4)
            {
                int address = (int) ptr + position;
                printf("opcode found at 0x%x\n", address);
            }
        }
        catch(...)
        {
            int address = (int)ptr + position;
            printf("end of 0x%x\n", address);
            done_flag = true;
        }
    }
return 0;
}

上述代码可编译通过。

2021-3-18 09:50
1
雪    币: 6885
活跃值: (3161)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你用的是XX.c文件?
2021-3-18 13:12
0
游客
登录 | 注册 方可回帖
返回
//