我有一个 64 位 exe,我正在使用 x64dbg 进行调试。
我正在搜索一个特定的字符串值myvalue,该值位于 exe 中的某处加密(因此,在myvalue开始时搜索不返回任何内容)。
当值被解密时,我可以搜索它并获取当前的内存地址。我可以在该特定地址被写入/读取时放置一个断点,但这没有任何意义,因为它只会被解密和加载一次。
由于ASLR策略,每次关闭和打开程序时,这个内存地址都是不同的。
我的目标是为 exe 生成一个补丁,以便在写入后立即myvalue成为anothervalue,myvalue或者通过识别写入该值的代码段。
link /edit /dynamicbase:NO filename.exe无所事事地禁用 ASLR :无论如何,内存地址每次都不同。在整个操作系统范围内禁用 ASLR 似乎有点矫枉过正和危险。
我不能在写入之前放置断点,因为我不知道地址。
理想情况下,“内存”页面上应该有一个菜单,上面写着“谁在这里写的”,并将我指向执行此操作的反汇编程序行。
我怎样才能做到这一点?