我正在尝试对 exe 使用的 .Net dll(注意:dll 是混合模式模块)进行一些更改,ProtectionID 未检测到任何内容,因此我很高兴地跳入 dnSpy 并进行了更改。
我用 dnSpy 调试器运行了可执行文件,一切都按预期工作。但是,当我保存模块并尝试运行可执行文件时,它就像没有进行任何更改一样工作。
我仔细检查过,但模块保存正确,x64dbg 显示它是在运行时加载的。那么这怎么可能呢?
我正在尝试对 exe 使用的 .Net dll(注意:dll 是混合模式模块)进行一些更改,ProtectionID 未检测到任何内容,因此我很高兴地跳入 dnSpy 并进行了更改。
我用 dnSpy 调试器运行了可执行文件,一切都按预期工作。但是,当我保存模块并尝试运行可执行文件时,它就像没有进行任何更改一样工作。
我仔细检查过,但模块保存正确,x64dbg 显示它是在运行时加载的。那么这怎么可能呢?
找到原因,我现在觉得很迟钝,因为它太明显了。加载的是 NativeImage 并删除所有生成的图像实际上使我的更改加载。感谢@PawełŁukasik 为我指明了正确的方向。