我想覆盖 exe 中的字节。
所以我需要生成一个随机字符串,进行转换,然后写入exe。
我需要以这种格式 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12) 覆盖您在此处看到的 4 个十六进制字符串,因此需要破折号,这对我来说也是一个问题。
这是第一个字符串的位置。
我完全不知道如何开始,如何用正确的格式用随机字符串覆盖这 4 个字符串(十六进制,所以随机只能是 0123456789abcdef)
任何帮助深表感谢。
您要覆盖的字符串是 GUID。您可以使用Guid
该类生成一个新的(请参阅MSDN 文档)
至于写入文件,请使用BinaryWriter
类。
using (System.IO.BinaryWriter fileWriter = new System.IO.BinaryWriter(System.IO.File.Open("path", System.IO.FileMode.Open)))
{
fileWriter.BaseStream.Position = 0xB8EB9; // set the offset
fileWriter.Write(Encoding.ASCII.GetBytes(Guid.NewGuid().ToString()));
}