修改后DLL未加载

时间:2011-03-01 18:44:10

标签: dll

我有一个dll,其中有一些像myname这样的文本,现在我想把它改成mynaam。当我用Windows中的记事本打开DLL时,我能够看到myname,我将其更改为mynaam并保存。但我的应用程序甚至没有加载这个DLL。由于myname和mynaam具有相同的大小,因此dll不会损坏。请提出建议,这对我来说是一个很大的帮助。我是否需要使用任何二进制编辑器或十六进制编辑器来执行此操作?

我观察到另一件事我将原来的dll重命名为其他名称并使用原始名称制作了这个修改过的dll。然后应用程序仍在识别旧DLL,即使名称不同。我想知道windows如何检查库。请在此建议

感谢StackOverFlow .....

阳光

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

不建议这样做,但有可能。我曾经做过类似的事情。您将需要使用一些好的十六进制编辑器。您可以更改的唯一内容是字符串内容。该字符串必须在.data节中静态分配(全局变量或C extenally linkage编译变量,其内容最初设置为某些非空字符串)。接下来尝试使用PE二进制文件中的HEX编辑器找到此字符串内容。在您找到它之后,您可以自由更改实际的字符串内容 - 只需用新内容覆盖旧内容即可。提示 - 新内容的长度不得超过旧内容的长度,包括空终止符。替换旧内容时 - 不要忘记将null终止符显式放在新字符串的末尾。提示 - OVERWRITE内容,但强烈不要添加一些新字节。

真诚的,Alex。