-2
我想在.exe的特定地址更改4个字节。我尝试这样做:如何修改c#中的.exe文件?
string path = @"C:\test\mod.exe";
if (File.Exists(path))
{
using (BinaryWriter stream = new BinaryWriter(File.Open(path, FileMode.Open)))
{
stream.BaseStream.Position = 0x0032D837;
stream.Write(StringToByteArray("00050000"), 0, 4);
}
}
StringToByteArray()是由这样的:
public static byte[] StringToByteArray(string hex)
{
return Enumerable.Range(0, hex.Length)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
.ToArray();
}
发现exe文件,但没有得到改变,所以什么正确的方法是什么?另外我想补充一点,我可以很容易地在HxD十六进制编辑器中手动更改它,但我想要一个程序。
“_Nothing作品迄今_”有没有错误只是没有改变? –
没有得到改变的exe文件 – Anonymous55
@ Anonymous55:你是否积极观察exe地址,以确保他们'你真的没有改变吗?你怎么验证什么都没有改变? – Ingenioushax