用Bitblaze进行程序分析之一------如何遍历程序所有可执行路径

Concolic Exection 的执行流程

(1)配置temu中的tracecap文件(/ini/main.ini),对一些关键操作进行设置,如何时开始记录指令到trace文件中

 

(1)在temu的guest os中加载目标程序(exe),生成.trace文件。.trace文件中记录着一条执行的路径,但是用二进制机器码的形式记录的,人工是不可读的,可以用vine下的工具把trace文件翻译成汇编并在控制台显示(~bitblaze/vine-1.0/trace_utils/trace_reader -traceexamples/five.trace | grep T1)

 

(2)用vine下的trace工具对.trace文件进行处理,生成.il/.wp/.stp文件(~bitblaze/vine-1.0/trace_utils/appreplay -traceexamples/five.trace  -stp-out five.stp-ir-out five.il -wp-out five.wp )。其中,.il文件时中间语言文件,具有可读性。.stp文件是stp求解器的目标文件,其语法遵循stp官方文档的规范(http://people.csail.mit.edu/vganesh/STP_files/stp-docs.html),同样具有可读性。.wp文件是。。。

 

(3)迭代对.il文件进行取反,生成新的可执行路径及其对应的.il/.stp文件,每一个.il文件对应一条可执行路径,直到所有可执行路径遍历完成为止。

 

(4)对所有stp文件,分别调用~bitblaze/vine-1.0/stp/stp程序,对.stp文件进行求解,生成完整的测试输入,覆盖所有的可执行路径;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值