首页
社区
课程
招聘
[求助]帮菜菜看下动态获取API地址的问题!
发表于: 2008-12-4 17:46 3732

[求助]帮菜菜看下动态获取API地址的问题!

2008-12-4 17:46
3732
代码如下:
 find_functions:
       pushad
       mov eax,[ebp+0x3c];ebp=base address of user32.dll
       mov ecx,[ebp+eax+0x78]
       add ecx,ebp
       mov ebx,[ecx+0x20];ebx=relative offset of names table
       add ebx,ebp
       xor  edi,edi
next_function_loop:
      inc edi
      mov esi,[ebx+edi*4];esi=relative offset of current function name
      add esi,ebp ;esi=absolute offset of current function name

上面的一句 inc edi  如果先让edi加一  再执行mov esi,[ebx+edi*4]  那岂不是把输出表中的函数名称表的第一个给跳过去了吗? 但是运行结果并没有跳过啊。我觉得名称表的第一个应该是
mov esi,[ebx].请知道的麻烦给讲一下,谢谢。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
2
希望我之前的一个帖子可以帮到你......
http://bbs.pediy.com/showthread.php?t=76204
2008-12-4 19:52
0
雪    币: 1736
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=北极狐狸;545344]希望我之前的一个帖子可以帮到你......
http://bbs.pediy.com/showthread.php?t=76204[/QUOTE]
学习了,非常感谢!你的代码中取第一个函数名的地址是:
mov eax,dword ptr[eax]                ;获取函数名字符串偏移
add eax,ebx                                  ;计算函数字符串RVA(这儿应该是VA吧)
我再看看我的那个程序代码吧,感觉应该是跳了一个, 再次感谢!
2008-12-5 12:09
0
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=sylingyy;545594]学习了,非常感谢!你的代码中取第一个函数名的地址是:
mov eax,dword ptr[eax]                ;获取函数名字符串偏移
add eax,ebx                                  ;计算函数字符串RVA(这儿应该是VA吧)
我再看...[/QUOTE]

不好意思....错了。我回头修改一下.....
2008-12-5 16:08
0
游客
登录 | 注册 方可回帖
返回