将两位数字插入到每个十六进制的二进制中 - 不会使 EXE 损坏

逆向工程 修补 。网 十六进制 字符串
2021-06-17 13:48:38

我对汇编程序的了解不多。我提前请你原谅。

我需要更改一个双二进制 (Net) 中的 IP 地址,其中 IP 是硬编码的。只需使用十六进制编辑器更改 IP 就很容易。但是新 IP 有更长的八位字节 - 例如

在此处输入图片说明

我想将 123.12.12.123 更改为 123.12 3 .12 3 .123 只是在每个十六进制编辑器中插入一些数字会使文件损坏(我猜来自例程等的地址正在移动)。

什么是“最简单”的方法来做到这一点?谢谢。

1个回答

由于您正在处理一个 dot Net 应用程序,这将非常容易。

由于 dot Net 应用程序是使用中间语言 (IL)“编译”的,因此您可能能够恢复非常接近原始源代码的内容。如果二进制文件没有被混淆/保护,你只需要在 .NET 编辑器中打开你的应用程序。

DnSpy 是我认为最完整的一个。可以使用其他软件,例如 ILSpy。

这些工具允许您编辑反编译的代码,然后重新编译它。

在您的情况下,您必须找到声明此 IP 的位置,将其更改为您想要的任何内容,然后重新编译二进制文件。

这不是那么容易,但你很幸运:你找到了更简单的逆向工程案例:)