android 函数调用跟踪,Functrace:使用DynamoRIO追踪函数调用

原标题:Functrace:使用DynamoRIO追踪函数调用

Functrace是一款使用DynamoRIO(http://dynamorio.org/)通过动态检测分析二进制文件的工具。

特性(基于DynamoRIO)

反汇编所有执行的代码

反汇编一个特定的函数(如果是地址则进行转储)

获取特定函数的参数(如果是地址则进行转储)

获取特定函数的返回值(如果这是一个地址则进行转储)

监控应用信号

生成报告文件

ghidracoverage脚本(基于functrace报告文件)安装 $ wget https://github.com/DynamoRIO/dynamorio/releases/download/release_7_0_0_rc1/DynamoRIO-Linux-7.0.0-RC1.tar.gz $ tar xvzf DynamoRIO-Linux-7.0.0-RC1.tar.gz

$ wget https://github.com/DynamoRIO/dynamorio/releases/download/cronbuild-7.91.18047/DynamoRIO-x86_64-Linux-7.91.18047-0.tar.gz $ tar xvzf DynamoRIO-x86_64-Linux-7.91.18047-0.tar.gz

你也可以直接克隆和编译DynamoRIO

$ git clone https://github.com/invictus1306/functrace $ mkdir -p functrace/build $ cd functrace/build $ cmake .. -DDynamoRIO_DIR=/full_DR_path/cmake/ $ make -j4 DEMO

9e857784ca41631cf6d034666d73995b.png

使用 $ drrun -c libfunctrace.so -report_file report -- target_program [args]

选项

支持以下 [functrace](https://github.com/invictus1306/functrace)可选项:

-disassembly -> disassemble all the functions -disas_func function_name -> disassemble only the function function_name -wrap_function function_name -> wrap the function function_name -wrap_function_args num_args -> number of arguments of the wrapped function -cbr -> remove the bb from the cache (in case of conditional jump) -report_file file_name -> report file name (required) -verbose -> verbose

使用示例

选项 -verbose

$ drrun -c libfunctrace.so -report_file report -verbose -- target_program [args]

选项 -disassemby

$ drrun -c libfunctrace.so -report_file report -disassembly -- target_program [args]

选项 -disas_func

$ drrun -c libfunctrace.so -report_file report -disas_func name_function -- target_program [args]

选项 -wrap_function 和 -wrap_function_args

$ drrun -c libfunctrace.so -report_file report -wrap_function name_function -wrap_function_args num_args -- target_program [args]

选项 -cbr

$ drrun -c libfunctrace.so -report_file report -cbr -- target_program [args]

CVE-2018-4013 – 漏洞分析

服务器库上的漏洞。详情请查看。

6d497dc272b609c5e914628f5829081d.png

工作环境

以上测试环境为 Ubuntu 16.04.5 LTS 64 bit

待添加功能

Ghidra插件

可视化设置界面

存储并比较不同的覆盖能力分析

从ghidra运行DR directy

为functrace添加更多功能

支持Android

*参考来源:GitHub,FB小编secist编译,转载请注明来自FreeBuf.COM返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值