【发布时间】:2021-12-26 06:57:05
【问题描述】:
在研究逆向工程时,我经常想到,由于我可以传递任何位置(我有权访问)作为参数,因此带有一些非硬编码或“非确定性”目标的跳转指令(如程序之前没有明确定义)可以瞄准任何地方。因此,如果我使用基于操作系统版本字符串的值加载EAX 并执行jmp eax,那么似乎任何试图生成控制流图的工具都不知道目标在哪里(它可以以您当前的环境为基础,但这可能会导致程序中断)。
我错过了什么吗?因为如果我正确理解了这一点,我在 IDA 中打开的每个恶意软件似乎都会这样做(基于他们了解其目标环境的某些条件),但我没有看到像这样损坏的控制流图。再说一次,我对逆向工程还是很陌生。
【问题讨论】:
-
吹毛求疵,没有
Jcc EAX。所有条件跳转指令都立即进行位移。 -
@NateEldredge 啊,我想知道我是不是搞砸了。我对汇编的学习还不是很实际。泰。
标签: assembly x86 reverse-engineering control-flow-graph