2

我尝试在 MSDN、Google 和 Stack Overflow 上查找,但找不到我正在寻找的答案。

有没有办法通过内存窗口编辑给定地址的代码?我使用反汇编窗口获取要覆盖的指令的地址,在内存窗口中找到它,但“编辑值”显示为灰色。有什么理由吗?是因为我的代码被缓存而 VS 阻止我编辑它吗?有没有办法通过项目设置来改变它?

谢谢

4

1 回答 1

2

应用程序由数据部分和代码的可执行部分组成。Windows默认是禁止修改可执行部分的,但是可以从带有VirtualProtect功能的代码中修改(还要注意备注和FlushInstructionCache)。

也许您的最终目标不是更改调试器中的某些代码,而是可以以不同方式实现的其他内容。你真正想要的是什么?

于 2012-11-06T21:16:03.773 回答