我有一个程序,我经常使用与.NET制成。 这个方案有一个小虫子,这是非常讨厌,开发者应用程序是无处可寻。
我发现在反射问题的位置,只是想在这里补充一个if语句,然后重新编译程序。
什么是最简单的方法是什么?
我已经使用反射器的出口功能的尝试,但它似乎并没有很好地工作。 对于using指令的例子很多失踪,被投来回整数枚举也不会导出正确。 我相信我可以用一些工作,解决这个问题,但如果有这样做的任何更简单的方法我不知道。
更新:解决它通过这样做:
该计划是一个可执行文件
- 找到C# - 视图在反射器的bug。 然后切换到IL-视图来查看你应该寻找在第5步中的内容。
- 打开程序要与ILDASM改变
- 按转储,并选择一个空文件夹,默认设置为我工作。
- 找到这个文件夹中的文件的.il并打开任何文本编辑
- 查找步骤1中的代码。
- 用新的代码替换它,在我来说,我只是用了一个简单的返回来替代函数的所有内容(IL_0000:RET)。 我不认为所有修补程序会这么容易。
- 步骤3中的文件夹中打开一个commandwindow
- 运行ILASM,我还必须包括从原来的exe文件的一些资源。 这些都是与ILDASM自动输出。 我用这个ILASM这样的“C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ ilasm.exe” test.il /resource=test.res /output=FixedProgram.exe
完成! 我只用固定的程序了几分钟,但现在它似乎就像之前除臭虫工作:)
我也遇到了一些问题,应用程序设置。 在%APPDATA%\ ProgramName中有一个叫像中存储了所有的设置ProgramName.exe_Url_qa5i3p42aomuvoxpuxuficvbmngksgjs文件夹。 我的新的可执行文件创建一个新的文件夹这样的,并在最后与默认设置不同的随机字母。 要复制您使用之前只是旧文件夹中的所有内容复制到新的设置。