我有一个用C#编写的应用程序(当然没有源代码),需要稍微修改一下。例如,我需要停止创建不必要菜单的几行代码。所以我想我应该把它们注释掉。
源代码不被混淆。我知道我可以使用Reflector/Reflexil这样的工具完全反编译、修改和编译。但是每个人都知道,通过这样做,许多代码部分就不会再编译了!在Reflector (或任何其他产品)中,是否有一种方法可以在没有此过程的情况下禁用/更改其一部分?
谢谢。
发布于 2015-04-06 14:30:47
最后,我设法“禁用”了编译后的exe中的几行代码。
我用反光镜安装了Reflexil插件。Reflexil允许我编辑MSIL指令,然后将结果保存回exe文件。因此,它涉及到学习一些MSIL指令,特别是"no making“命令(让一行代码什么也不做)。要查看说明列表和教程,请参阅这里和这里。
希望它能帮到别人。
发布于 2013-08-26 05:32:35
如果您确实需要这样做,您可以使用Reflector (或类似的产品)解压缩它,然后使用它在.Net中重新创建一个解决方案,该解决方案将产生相同的可执行文件。
您可能会在以下几个方面遇到问题:
这更不用说与此有关的潜在法律问题了。如果可执行文件是在允许您这样做的许可下发布的,那么您很可能可以访问源代码。因此,您无法访问源代码这一事实意味着,执行您建议的操作可能是不合法的。
发布于 2013-08-26 07:26:21
为了完整起见:另一种可能的解决方案是使用ildasm反汇编程序,编辑http://msdn.microsoft.com/en-US/library/f7dy01k1%28v=vs.80%29.aspx并将其反馈给ilasm。
当然,这个解决方案的实用性取决于你。
https://stackoverflow.com/questions/18437031
复制相似问题