-
-
[讨论]大型系统半自动逆向
-
发表于:
2010-3-2 17:25
5140
-
最近大家不活跃,发一主题讨论讨论,
去年逆向一个大型CAD系统,发现零散的人工的静态逆向,很本无法完成目标,
想做一自动半静态分析辅助工具,主要目标:
1) 做到静态数据C++/C结构和类,数据类型识别
2) 函数参数个数和原子类型识别,库函数识别,
3) 低层数据结构识别(链表访问,数组,树,区间[Base--End),etc..)
4) 能生成类设计流程图
有些功能,IDA5.5已经有了,也非常强大,但IDA只适用交互人工分析,
系统稍大点,逆向人员就崩溃了.
1、2大体没问题,3有点麻烦: a 低层数据结构的收集, b 识别逻辑的编程
b麻烦是程序代码量的问题, a就是人工问题,逆向人员知识面问题,记忆问题.
对付a有两种思路:
1 集思广益,大家一起想,把目前coding的小trick,编译系统生成代码trick,找出来,
通过手工逆向,发现代码中的小结构.
2 用统计方法,通过对大量二进制代码进行反汇编,进行相关性分析,自动找出低层结构.
当然方法2,省时省力了.
只要能完成类、对象识别,SUB程序分析,交叉引用分析, 类设计流图,也就基本出来了.
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课