替换可执行文件中的CORd字符串(x86)

时间:2011-03-07 22:33:29

标签: assembly x86 xor ollydbg

我有一个可执行文件,我正在尝试修补。可执行文件使用XOR加密存储字符串。我用XORSearch找到了我正在寻找的字符串。它回来了:

找到XOR FD位置3E22:

现在我想改变那个字符串。我假设“FD”是xor键,所以如果我用FD xor'ed新字符串我应该能够修补可执行文件。问题是:我找不到可执行文件中的位置。我不确定3E22的意思是什么。

请帮忙!

2 个答案:

答案 0 :(得分:1)

位置3E22是十六进制的,从一开始就意味着字节15906.

答案 1 :(得分:0)

这取决于你的代码是否可以重定位。通常好的程序员可以制作可重定位的代码,因为它可以节省一些空间,例如在使用分支条件时。你想要的是先重新定位代码然后在那个位置修补代码。但是这样的xor代码很容易打破统计分析。你有钥匙吗?