是否可以在不破坏可执行文件的情况下使可执行文件中的字符串变大?

逆向工程 可执行 二进制 修补 字符串
2021-06-27 16:33:30

我是一个新的反向工程师。我知道我可以使用十六进制编辑器修补字符串,但显然我无法添加或删除单个字节。是否有任何解决方法可以让我将......比方说,10 字节的字符串,变成 1 MB 的字符串?(只是一个例子)。

1个回答

在这种情况下,您可能需要添加一个新部分(不要认为代码洞可以在任何架构上为 1MB ..)并覆盖代码以从原始字符串位置读取到新字符串位置(至少)或写入你自己的代码来做到这一点。

此外,根据体系结构和实现,通过添加空终止符作为最后一个字节(即 0x00),您很可能可以使字符串比原始字符串更短。根据该字符串之后的内容,在某些情况下,您可以通过移动空终止符来使其更长。