首页
社区
课程
招聘
0day安全软件漏洞分析技术中第五章的问题
发表于: 2010-3-3 17:07 3502

0day安全软件漏洞分析技术中第五章的问题

2010-3-3 17:07
3502
#include <windows.h>
#include <stdio.h>
#define DLL_NAME "user32.dll"
void main()
{
        BYTE *ptr;
        int position, address;
        HINSTANCE handle;
        BOOL done_flag = FALSE;
        handle = LoadLibrary(DLL_NAME);
        if(!handle)
        {
                printf("load dll erro!");
                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;
                }
        }
}

catch()里面应该填什么?才能正常找出全部跳转地址呢?
我写的是catch(int)结果退出时候没有执行到catch里的语句……

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 424
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
填catch(...)
另还有可能需要设置你的编译器选项开启对SEH的支持
2010-3-3 19:05
0
雪    币: 275
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
还是不行啊~
2010-3-4 09:05
0
雪    币: 275
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
catch(...)可以了。
如何设置编译器选项开启对SEH的支持?SEH是什么?
2010-3-4 11:40
0
雪    币: 424
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
如果可以了就是该选项已经打开,你可以忽略,想要得到详细的信息办法很多,问我没什么用
2010-3-4 12:28
0
雪    币: 275
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢你,分已给!
2010-3-4 13:05
0
游客
登录 | 注册 方可回帖
返回
//