在 IDA 中撤消补丁

逆向工程 艾达 拆卸
2021-06-23 06:23:38

当我使用 IDA 进行修补时,我不小心修补了错误的部分,并且我不记得之前有哪些字节。有没有办法撤销它..?

4个回答

有一个窗口可以查看所有已修补的字节及其未修补的版本:在菜单中,使用View/ Open Subviews/Patched Bytes或按STRG-ALT-P

这是针对 IDA 6.8(最新版本),我不知道旧版本是否有相同的东西。

但是,我建议您安装ida patcher plugin,它可以极大地改善补丁的使用;例如,您可以从其他地方复制/粘贴补丁;您可以用相同的字节填充一个区域,并且有一个类似于标准修补程序窗口的窗口,但允许您为补丁分配注释,并通过单击上下文菜单将它们恢复。

转到查看/打开子视图/补丁字节,补丁所在的位置。右键单击一行,然后单击“还原”。这适用于 Ida 6.8

我不知道你怎么能解开它们,因为我认为没有办法做到这一点(我说的是我使用的 IDA 6.5)。但是我建议您将来在 IDA 中使用数据库快照它非常方便——您可以保存所有字节、函数名称、注释等的状态。如果出现问题,您可以在快照管理器中恢复快照。您可以在 IDA Pro 6.5中的View --> Database Snapshot Manager找到它

另一种解决方案,为老年人IDA版本:
使用File>Produce file>Create DIF file...转储所有的变化。
文件格式Offset: Old New适用于文件中的每个修补字节。
找到要改回来的字节,然后手动进行。
请记住,偏移量是从文件开始的,它们不是内存地址。