Ollydbg - 改变字符串的第一个字母

Ollydbg - change string's first letter

我用 C++ 编写了一个小的 .exe 程序。

int main()
{                         

    string myString = "Hello";
    printf("%s", myString);    
    return 0;
}

我需要使用 ollydbg 来替换字符串中的第一个字母然后打印它。 或者,我可以打印完全不同的字符串。 我已经将 .exe 文件加载到 ollydbg,发现执行是在调用 printf 的地方,但找不到导致它的 JMP 命令。

如何克服这个问题? 我用 Google 搜索了教程,但没有找到与此类似的内容。

提前致谢。

您可以找到字符串 上下文菜单->搜索->所有引用的文本字符串

在与参考相同的 window 中,有您可以使用 CTRL+E(二进制编辑)编辑的地址

如果您想永久更改它,请执行以下操作:

  • alt + e
  • 找到你的exe文件。 select 它 right click 和 select View executable file.
  • ctrl+B并搜索你好。并更改 h.
  • right click 和 select Save file....