首页
社区
课程
招聘
[求助]如何有效地逆向分析一段代码的逻辑
2010-1-20 17:11 4602

[求助]如何有效地逆向分析一段代码的逻辑

2010-1-20 17:11
4602
问的问题可能有点小白,希望有经验的能帮助一下
现在试图查找一个软件的漏洞,可能不像破解那样子有导向性的分析代码,而是需要对某段程序的逻辑了解得比较清晰。由于其中调用的函数为自定义函数,没有名字,用Hey-Rays反编译后传入的参数还是不知道类型,这种情况下如何理解程序逻辑?并且能尽快定位可能漏洞的位置?(c/c++)

觉得可以尝试的方法有:
1)针对要分析的函数f(),首先查看传入它的参数,在调用f()的各个调用处,推测出各个参数的类型,以及该函数的作用;
2)查看该函数f()内有库函数调用的地方,根据库函数的参数类型来推测f()的参数类型,其实1)中也需要用到;
3)首先找到该函数内危险函数的调用位置,然后逆向分析可能调用这些危险函数的路径;
4)通过fuzzing得到一些异常数据,根据错误提示定位出错的位置,进而理解该函数的处理逻辑。

有没有更好的方法呢?因为第一第二种方法,存在的一个问题是,如果库函数的调用比如少的话,分析起来就比较困难了;第三种方法的问题是,可能可疑漏洞定位比较快,但是缺乏全局的分析,不能断定是不是真的漏洞;第四种方法,当然是最合适不过了,但fuzzing报错一般比较初略,很难得到有导向性的结果。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 1489
活跃值: (955)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
仙果 19 2010-1-20 18:48
2
0
不懂哈,没有弄过
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
asmbulls 2010-1-20 21:14
3
0
我的印象里面 hex-rays对分析出来的函数的返回值类型,函数参数类型都是有明显的标注啊。找漏洞,你去看看failwest的《0day安全》
雪    币: 17
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jinbinlin 2010-1-22 09:59
4
0
它好多指针和整型无法正确识别的,现在正在看书,还是基本功太差了,多练练应该可以好些。

谢谢你的建议
游客
登录 | 注册 方可回帖
返回