我正在Ollydbg中(几乎)每天(几乎)每天编辑可执行文件,这很烦人,“将所有修改复制到可执行文件”不能正常工作。

我编辑的所有代码将.text节中的“ .text”复制到新的可执行文件中,但不会复制对.rsrc节(资源)所做的所有更改。 (使用“全部复制...”)

要保存在.rsrc部分中所做的更改,我需要在此部分中选择修改后的代码,并特别单击“复制到可执行文件”。

是否有一种解决方法可以实际复制所有修改?

#1 楼

您需要两次保存更改。

每次使用此选项,OllyDBG只需保存使用“复制到可执行文件”的部分的所有更改即可。

评论


@ Hamid ollydbg依赖于分析数据来保存所有修改,并且如果您在rsrc节中有n次修改,则它不分析除代码节之外的任何节,如果所有修改都在n次中,则可能需要复制n次。 .rsrc节ollydbg iirc甚至不会在任何其他节中显示“复制所有修改”上下文菜单,但具有分析数据的代码节及其内部修改(int cc hit trace runtrace名称符号信息)和外部修改(补丁)的副本除外window)盲目复制是不合逻辑的要求

– blabb
2014年2月2日在17:54

@blabb最好的选择是使用资源编辑器软件来更改资源部分中的数据。这是一个错误,如果您有N个部分,则每次都要将N次“复制到可执行文件”。如果在资源部分中使用“复制到可执行文件”,则无法在另一部分中保存其他更改,只需保存此部分即可。但是更改应在PE文件大小的范围内。有时,VSize大于RSize。

–HamiD
2014年2月3日在9:20