首页
社区
课程
招聘
[讨论]关于IDA遇到ExitProcess和ExitThread就不继续分析的问题。
发表于: 2012-10-27 19:43 4778

[讨论]关于IDA遇到ExitProcess和ExitThread就不继续分析的问题。

2012-10-27 19:43
4778
先请教一下,ida中代码调用ExitProcess后ida就不会继续分析后面的代码了。
虽然可以手动指定函数结束位置,但是在流程图显示仍不正常,hexrays的分析也因此停止于ExitProcess了。
虽然改掉ExitProcess的调用就可以解决,但总是不完美,各位达人有什么好解决办法吗?

另外这个特性,可不可以利用一下用于反静态分析,比如改掉ExitProcess功能,然后调整一下栈的中的返回地址,ExitProcess后跟一堆弹栈和ret,这样不管ida的特性还是人的惯性思维,都会认为后面就不用看了。

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 442
活跃值: (107)
能力值: ( LV9,RANK:350 )
在线值:
发帖
回帖
粉丝
2
单步入ExitProcess呢?或者你在ExitProcess中set point。
2012-10-27 19:59
0
雪    币: 211
活跃值: (66)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不好意思,忘了说明是静态分析的时候,我的意思是说静态分析的时候一个函数中有地方call ExitProcess IDA就会把这一句认为是函数的结束。
2012-10-27 20:04
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
这没有问题吧,正常情况下走到了ExitProcess当然就不会再返回了。如果ExitProcess下面的代码还能继续执行,说明肯定存在某条途径可以jump到下面,给IDA指明这条途径,IDA就可以继续分析了。

如果确实有其他路径可以jump过来,把那条路径告诉IDA。IDA就会正确分析。如果想简单一点,或确实是你说的那种反静态分析方法,可以把光标移到ExitProcess函数上,Alt + P调出 Edit Function对话框,里面有个函数属性选项是“does not return”,把它去掉,IDA就会认为这个函数会返回了。

所以,那个反静态分析的办法,似乎没有什么特别的意义,也就和普通的花指令差不多。
上传的附件:
2012-10-29 15:07
0
游客
登录 | 注册 方可回帖
返回
//