用Bitblaze进行程序分析之一------如何遍历程序所有可执行路径
来源:互联网 发布:编程经典算法 编辑:程序博客网 时间:2024/05/14 17:35
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文件进行求解,生成完整的测试输入,覆盖所有的可执行路径;
- 用Bitblaze进行程序分析之一------如何遍历程序所有可执行路径
- 用Bitblaze进行程序分析之三------VINE的使用
- 用Bitblaze进行程序分析之二------TEMU的配置和使用
- 可执行程序当前路径
- 如何创建可执行程序
- 如何遍历一个程序中的所有控件
- linux 程序内部 查看可执行程序路径
- JAVA如何生成可执行程序?
- Qt 如何生成可执行程序
- 在程序中如何调用可执行程序。
- 在程序中如何调用可执行程序。
- Linux查看可执行程序所在路径
- 可执行程序dll的依赖分析,dll文件32/64区分,dll的搜索路径
- 操作系统执行可执行程序时,是如何进行内存分配的?
- 《Linux操作系统分析》之分析Linux内核如何装载和启动一个可执行程序
- Linux 装载可执行程序过程的分析
- 如何通过文件对话框运行可执行程序
- 如何制作一个可执行的java程序
- C++变量名、C++变量命名规范
- win32 019使用单选框和复选框
- 7个示例科普CPU Cache
- codeforces 4D Mysterious Present
- c/c++小知识(一)
- 用Bitblaze进行程序分析之一------如何遍历程序所有可执行路径
- QML与C++交互:登陆界面设计
- VS 2010 内存窗口
- 链接法(chaining)构建散列表(hash table)(C++实现)
- 慢阻肺怎么用药治疗才是最好的?
- 多变量线性回归中的批量梯度下降法(Batch Gradient Descent in Linear Regression with Multiple Variable)
- 关于某机构的面试,呵呵
- Android Bitmap 全面解析(一)加载大尺寸图片
- Android library projects cannot be launched.