可以参考相关论文 动态二进制插桩 方向
基于QEMU的动态二进制翻译和插桩技术 重要
核心
QEMU,一个快速便捷的动态翻译器 论文译文
https://blog.csdn.net/u011364612/article/details/53486530
它的翻译过程,分两步完成,如下图, TCG是微型代码生成
- gen_intermediate_code:QEMU中,将目标客户机指令翻译成TCG中间代码的过程
- tcg_gen_code:将中间代码翻译成宿主机指令
相关术语
基本块和分支
一个程序可以画成下面一样的流程图,每一个基本块只有一个入口和一个出口(call jxx);分支把这些基本块连接组织起来,指明一个基本块执行完后,程序会继续执行的基本块,两者一起形成了程序流。
覆盖率
每次程序运行,对基本块的覆盖程度。
热路径分析
热,程序执行频率最高。
热路径,程序执行最常走的几条路径