看雪发过,搬运到冰凌一份~
本系列文章预计分4篇介绍下hutrace以及hzytrace工具,前3篇主要介绍下hutrace基本功能以及不同应用场景使用示例,hutrace工具本身是基于drltrace开源项目开发,支持Windows+Linux平台,最后1篇会介绍hutrace的同款工具hzytrace,hzytrace是基于Pin开发完成hutrace大部分功能,但侧重点略有区别,虽然hzytrace也可以支持windows,但Windows上相应需求基本可全部由hutrace达成,且效率更高,故目前暂先完善了Linux平台下的hzytrace。利用hutrace、hzytrace在很多分析场景下甚至可以不需调试就可以完成分析目的,因为Linux上找到样例偏少,本篇基本功能介绍部分将主要以Windows为例介绍其功能,实际两个平台上功能基本一致(dynamorio本身是支持arm linux、arm android的、pin也支持macos,但我自己测试移植到对应平台还有些问题,需求比较小众,对应平台也有一些替代工具,暂也没来及继续深入研究)。
1. 简介
hutrace工具主要基于drltrace项目开发,原项目相当于一个利用dynamorio实现的特别简易的apimonitor,而dynamorio本身机制为动态插桩,自带N种反调试技术的免疫效果,后面又根据工作过程中的各类实际需求断断续续的对hutrace进行功能完善,目前主要支持的功能列表如下:
C:\Users\huhu\Desktop\bin64>hutrace.exe
ERROR: Usage error:
Usage:
-logdir //生成的trace日志存储位置,默认为hutrace程序目录
-only_from_app //只记录主程序执行情况
-trace_to_librarys //除主程序外指定记录特定模块,与only_from_app结合使用
-record_start_addr //指定记录开始地址
-record_end_addr //指定记录结束地址
-follow_children //追踪子进程
-print_ret_addr //打印API函数调用返回地址
-print_ins_info //打印所有执行基本块的汇编代码
-print_ins_reg //打印所有执行指令的代码以及寄存器、内存引用数据
-print_ins_all //不推荐,print_in
支付5UD,阅读全文
还有更多的精彩内容,作者设置为付费后可见