9

我在我们的代码中使用的遗留第三方程序集上检测到一些缺陷,对它们进行反编译。我想修复它们,但由于我没有源代码,我需要直接修改字节码。更改非常简单(将 AND 更改为 OR 并对某些行进行 NOP)。

有编辑来做这种事情吗?使用十六进制编辑器进行工作将是最后的选择,我更愿意提示我在光标周围有什么指令......

4

4 回答 4

7

dnSpy, 允许您修改 IL 和 C# 代码。查看他们的截图

于 2017-05-01T13:14:27.863 回答
4

我认为您正在寻找的是带有Reflexil附加组件的.NET Reflector。看看截图,它非常强大,它可以在运行时修改 IL 代码。反射器过去是免费的,你也许可以在某个地方获得一些旧版本。

于 2012-04-27T13:08:23.377 回答
3

我假设程序集没有强命名,因为否则没有签名密钥您将无能为力。

如果没有,这听起来Ildasm对你有用。您可以反编译程序集、执行修改并使用Ilasm.

另一个免费选项可能是 Telerik 的JustDecompile,它“可以从反编译的程序集创建 Visual Studio 项目”。——我没用过,但这听起来像是反编译为源代码并创建了一个准备构建的项目。这将非常方便,因为您甚至不必使用 IL。

于 2012-04-27T10:34:00.407 回答
2

试试 Simple Assembly Explorer,它允许您编辑字节码并默认工作更多生命 Reflexil

https://sites.google.com/site/simpledotnet/simple-assembly-explorer

于 2015-05-14T13:57:00.740 回答