首页
社区
课程
招聘
[求助]ida调试时如何遍历获得所有模块中的所有函数
发表于: 2013-5-16 11:06 4197

[求助]ida调试时如何遍历获得所有模块中的所有函数

2013-5-16 11:06
4197
网上搜的获得函数地址的代码都差不多,基于ScreenEA的:
from idaapi import * 
current_addr = ScreenEA()
i=0
filePath="e:\\bp_Func.txt"
myfile = open(filePath, 'w') 
for function in Functions(SegStart( current_addr ), SegEnd( current_addr )):
    str_f=str(hex(function))
    myfile.write("bp 0"+ str_f[2:]+ '\n')
    i=i+1
print "Out Put bp number %d" % i
myfile.close()


试了加载exe后不运行的话没问题, 但我的情况是 exe 加载了很多dll,我需要搞的是dll,所以必须动态执行。exe运行之后用ida attach上去,这时候就不能用这段代码了。
我想是因为ScreenEA是用的鼠标当前行,调试时候没有鼠标当前行所以用不了。
请问有什么办法?

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 141
活跃值: (1139)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
2
试一试 BeginEA() 或 MinEA()。
2013-5-16 11:20
0
雪    币: 0
活跃值: (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
试了MinEA不行,BeginEA 只输出了几个函数。这后缀EA代表什么单词? E什么 Address吗?
2013-5-16 11:42
0
雪    币: 0
活跃值: (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
因为照这个帖子 http://bbs.pediy.com/showthread.php?t=134171
如果可以枚举所有模块的话世界会变得更美好
2013-5-16 12:55
0
游客
登录 | 注册 方可回帖
返回