x64_dbg 中的 Code-Cave 程序集修补问题

逆向工程 艾达 拆卸 x64 修补 机器码
2021-06-20 17:35:12

我正在尝试使用代码洞穴方法来解决这个问题,这个问题之前在这个论坛上被问到过。

我正在使用x64_dbg来执行此任务。我的问题是,在我在代码洞中编写了额外的汇编行之后, usingRight-Click > Patches并不适用它们。

x64_dbg是否需要额外的附加组件来执行这种修补?但是,代码在函数补丁的地址空间内更改就好了。

汇编代码(Code-Cave)

在此处输入图片说明

失败的对话框

在此处输入图片说明

1个回答

x64_dbg使用TitanEngineConvertVAtoFileOffsetEx()函数来应用补丁。该函数在运行时验证要修补的字节的虚拟地址是否在节的内存空间内(基于节的虚拟地址和节的虚拟大小)。由于您正在修补的字节在该部分的虚拟大小末尾之后,因此不会ConvertVAtoFileOffsetEx()返回0并且永远不会应用补丁。

作为一种解决方法,我建议修补您要附加这些新字节的部分的虚拟大小。无论当前的虚拟大小是14多少,请在 PE 部分的标题中使其字节更大。

您可以使用Explorer Suite 之类的工具通过导航到文件的部分标题并增加目标部分的虚拟大小字段中的值来进行此更改

探索者套房