我在我们的代码中使用的遗留第三方程序集上检测到一些缺陷,对它们进行反编译。我想修复它们,但由于我没有源代码,我需要直接修改字节码。更改非常简单(将 AND 更改为 OR 并对某些行进行 NOP)。
有编辑来做这种事情吗?使用十六进制编辑器进行工作将是最后的选择,我更愿意提示我在光标周围有什么指令......
我在我们的代码中使用的遗留第三方程序集上检测到一些缺陷,对它们进行反编译。我想修复它们,但由于我没有源代码,我需要直接修改字节码。更改非常简单(将 AND 更改为 OR 并对某些行进行 NOP)。
有编辑来做这种事情吗?使用十六进制编辑器进行工作将是最后的选择,我更愿意提示我在光标周围有什么指令......
我认为您正在寻找的是带有Reflexil附加组件的.NET Reflector。看看截图,它非常强大,它可以在运行时修改 IL 代码。反射器过去是免费的,你也许可以在某个地方获得一些旧版本。
我假设程序集没有强命名,因为否则没有签名密钥您将无能为力。
如果没有,这听起来Ildasm
对你有用。您可以反编译程序集、执行修改并使用Ilasm
.
另一个免费选项可能是 Telerik 的JustDecompile,它“可以从反编译的程序集创建 Visual Studio 项目”。——我没用过,但这听起来像是反编译为源代码并创建了一个准备构建的项目。这将非常方便,因为您甚至不必使用 IL。
试试 Simple Assembly Explorer,它允许您编辑字节码并默认工作更多生命 Reflexil
https://sites.google.com/site/simpledotnet/simple-assembly-explorer