首页
社区
课程
招聘
[旧帖] IDA 是如何找到程序内所有函数地址的? 0.00雪花
发表于: 2011-12-16 21:19 6003

[旧帖] IDA 是如何找到程序内所有函数地址的? 0.00雪花

2011-12-16 21:19
6003
IDA 是如何找到程序内所有函数地址的?

比如我写了一个程序 程序有一个函数A

如何在程序运行时,得到这个A函数的地址(当然是在没有源码的情况下)

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 585
活跃值: (568)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
2
pe文件格式里
2011-12-16 21:21
0
雪    币: 1886
活跃值: (161)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
可否再给点提示 ?

补充:比如我写了一个程序 程序有一个函数A

如何在程序运行时,得到这个A函数的地址(当然是在没有源码的情况下)
2011-12-16 21:28
0
雪    币: 227
活跃值: (66)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
大概原理就是从entry开始搜call,一层层递归进去
细节处理就不好说了~比如要考虑什么时候不跟进
按照这种方法,可以找到你的函数A,不过通常来讲你不会知道他是函数A,只会是一个sub_xxxxxx
2011-12-16 22:43
0
雪    币: 1886
活跃值: (161)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
谢谢,我要的就是所有的sub_xxxxxx

但也没有效率点的方法

如果加了VMP得程序 用这个方法 是不是就有点郁闷
2011-12-16 23:23
0
雪    币: 1886
活跃值: (161)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
另外对 CALL EAX

这样的指令 就无法进去了吧
2011-12-17 10:26
0
雪    币: 227
活跃值: (66)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
7
这种指令还是要特殊分析,不能全一棒子打死
比如
mov eax, dword_xxxxxxxx
call eax

所以说做这个很复杂

效率只能尽量优化,本质上不会很高效
遇到强壳什么的IDA也没辙,自己写更不好弄咯
2011-12-17 10:57
0
雪    币: 1886
活跃值: (161)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
[QUOTE=Naylon;1030143]这种指令还是要特殊分析,不能全一棒子打死
比如
mov eax, dword_xxxxxxxx
call eax

所以说做这个很复杂

效率只能尽量优化,本质上不会很高效
遇到强壳什么的IDA也没辙,自己写更不好弄咯[/QUOTE]

先谢谢你,最后顶一次,没其他方法就结帖了
2011-12-21 00:30
0
游客
登录 | 注册 方可回帖
返回
//