我遇到了一个小函数,它唯一的副作用是修改某些处理器标志的状态。当我使用 Hex Rays 反编译器反编译这个函数时,我只是得到了一个空函数,这对弄清楚函数的作用毫无用处。相反,我必须在汇编语言手册中查找每条指令并阅读伪代码以确定该函数的净效果。是否有一些工具可以将组装说明粘贴到其中,它会吐出所有副作用,包括标志?我对 x86 感兴趣。
取一个汇编片段并明确所有副作用?
逆向工程
部件
x86
艾达
2021-07-07 09:11:40
1个回答
Hex-Rays 执行活性分析和死代码消除,就您的函数而言,这听起来像是确定一切都已死。我认为不可能通过 __usercall 告诉 Hex-Rays 某些函数的返回位置在标志位置,因此在这种假设下,Hex-Rays 在这种情况下无能为力。
您需要的是一种能够为给定指令或指令块呈现中间语言翻译的工具。在这方面,BitBlaze、BAP 和 miasm 等工具可以提供帮助。另请参阅此链接以获取与 BAP 的语言无关的界面。