Venot Asked:2022-05-08 17:48:00 +0000 UTC2022-05-08 17:48:00 +0000 UTC 2022-05-08 17:48:00 +0000 UTC 在程序执行期间更改寄存器的值? 772 我看到了如何使用 gdb 设置断点,更改寄存器的值,继续执行,结果发生了变化。也就是说,您可以更改任何程序吗?有哪些好的反汇编程序? c++ 1 个回答 Voted Best Answer KoVadim 2022-05-08T18:15:15Z2022-05-08T18:15:15Z 重新启动程序后,所有寄存器都丢失了。所以很可能程序将其结果保存在文件/注册表中的某个位置,然后读取它。 您几乎可以使用任何程序执行此操作。有些程序可能只是主动抵抗(例如,Skype 曾经这样做,许多游戏也这样做)。 如果你学会了如何使用它,gdb 是一件非常好的事情。要开始使用,请阅读类似Habr 的文章。 在反汇编器中,可以注意到经典 - IDA - 现在有免费版本,OllyDbg - 旧经典,对于 Linux 有radare2 - 一个非常有趣的开发,尽管它需要(像任何反汇编器一样)很多知识。
重新启动程序后,所有寄存器都丢失了。所以很可能程序将其结果保存在文件/注册表中的某个位置,然后读取它。
您几乎可以使用任何程序执行此操作。有些程序可能只是主动抵抗(例如,Skype 曾经这样做,许多游戏也这样做)。
如果你学会了如何使用它,gdb 是一件非常好的事情。要开始使用,请阅读类似Habr 的文章。
在反汇编器中,可以注意到经典 - IDA - 现在有免费版本,OllyDbg - 旧经典,对于 Linux 有radare2 - 一个非常有趣的开发,尽管它需要(像任何反汇编器一样)很多知识。