您的位置:首页 > 其它

mian( )函数查找(Windows下逆向分析)

2016-02-22 07:59 423 查看

Visual Studio编译的Hello World程序为例:
1、字符串分析法
搜索字符串Hello World并进入,跳转到上层函数(信息窗口),寻找标志:函数参数(main函数后两个参数是指针),exit等。





2、API下断栈回溯法
找到main函数中的Hello World并进入,在函数入口处下断,F9运行,查看堆栈情况,找到离断点最近的return,单击回车,便回到上一个栈帧。
查找关键函数,下断

根据字符串找到此处,并在入口处下断





F9运行,查看堆栈
找到离断点最近的return,单击回车,回到上一个栈帧





栈回溯结果:





3、单步跟踪法(最靠谱、适应性最强)

以JMP和Call为单位逐个跟进,根据main函数的特征判断main函数的位置(参数个数,参数类型,临近exit)

注:逐层查找

4、若是窗口程序,可通过查找 窗口回调函数(Spy++)进行分析

经验之谈:
a.OD上 E 键调出模块信息,找到用户模块,可跳转到main函数,同时得到模块基址;
b.一般情况下,条件分支不走的分支,设置为新的EIP,直接运行过去;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: