首页
社区
课程
招聘
[分享]IDA5.2无响应时的处理
发表于: 2008-4-16 13:35 8101

[分享]IDA5.2无响应时的处理

2008-4-16 13:35
8101

IDA5.2无响应时的处理
最近总是碰到IDA数据库损坏问题,不知大家有没有碰到过。
通常都做了很多标记的文件,一旦损坏,IDA导入后就停止响应。以前只好放弃,重新来过。有时是几天的心血。
最近尝试修复了一下。以下是方法,分享一下,不知大家还有什么好方法没。

问题:可能是由于机器断电或其它原因,导致最近调试的一个程序的IDB文件损坏,当我在IDA disassembly窗口到达某个地址范围内后,IDA就停止相应,只能强退。之后该IDB就再也无法打开。

分析:猜测是某个地址的数据损坏,导致解码错误,IDA的反汇编引擎进入递归死循环。

解决方法:
1、附加:使用OD附加停止响应的IDA,中断到系统领空后,运行到程序领空,
2、找循环:按住f8多次单步执行,不久就会发现一个小循环,在循环内重复执行,
3、跳出循环:找到循环内的条件跳转,更改状态寄存器,使其跳出循环,跳出后,f9运行。
4、切换到IDA窗口,此时IDA已可以响应。不要在disassembly窗口进行操作,切换到hexview窗口,(我对比了正常的数据库发现确实有几个字节错误,如c7变成了C5,5B变成了5e).
5、选择file-loadfile-reloadinputfile,修复。


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

收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 250
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
思路值得借鉴,谢谢!
2008-4-16 14:03
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
3
好,学习了。
2008-4-16 14:16
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
4
这个算是IDA的BUG?

刚立刻把IDB备分了。。。
2008-4-16 15:45
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
好主意啊,顶顶
2008-4-16 16:26
0
雪    币: 191
活跃值: (95)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
关注。。。。
2008-4-16 17:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
好,学习了。
2008-4-17 09:17
0
雪    币: 224
活跃值: (16)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
不要吓我,赶紧备份,我可是两个月的结果
2008-4-18 09:58
0
游客
登录 | 注册 方可回帖
返回
//