我已经检测到遗留第三方程序集上的一些缺陷,我们会在代码中对它们进行反编译。我想解决它们,但由于我没有源代码,我需要直接修改字节码。这些变化非常简单(对OR进行AND更改,对某些行进行NOP操作)。
有编辑要做这种事吗?使用十六进制编辑器进行工作将是最后一个选项,我会想知道我在光标周围有什么指示......
答案 0 :(得分:4)
我认为您正在寻找.NET Reflector添加Reflexil的内容。看一下截图,它非常强大,它可以在运行时修改IL代码。反射器过去是免费的,你可能可以在某处获得一些旧版本。
答案 1 :(得分:3)
我假设程序集没有强名称,因为否则没有签名密钥就无法做到。
如果没有,听起来Ildasm
会对你有用。您可以使用Ilasm
反编译程序集,执行修改并再次组装它们。
另一个免费选项可能是Telerik的JustDecompile,其中“可以从反编译的程序集中创建一个Visual Studio项目。” - 我没有使用它,但这听起来像它反编译为源并创建一个可立即构建的项目。这将非常方便,因为您甚至不必使用IL。
答案 2 :(得分:3)
dnSpy
,允许您修改IL和C#代码。查看他们的screenshots。
答案 3 :(得分:0)
尝试简单的程序集资源管理器,它允许您编辑字节码,并默认工作更多生活Reflexil
https://sites.google.com/site/simpledotnet/simple-assembly-explorer