我想问一下我文件的解密方法 我已经有了C#程序,它给了我一些关于解密这个文件的线索
这里有一些解密代码:
string strFilePath = @"F:\Backup Data HDD\Data HDD (E)\project\dat\target_file.bin";
sbyte num;
int num3;
sbyte num5;
FileStream stream = File.OpenRead(strFilePath);
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, (int)stream.Length);
stream.Close();
int num2 = 72957;// 0x11cfd;
int num4 = 0;
for (num3 = 0; num3 != buffer.Length; num3++)
{
num = (sbyte)buffer[num3];
num5 = num;
num = (sbyte)(num ^ (num2 >> 8));
num2 = ((num5 + num2) * 52845/*0xce6d*/) + 22719;//0x58bf;
buffer[num3] = (byte)num;
}
MemoryStream input = new MemoryStream(buffer);
BinaryReader reader = new BinaryReader(input);
switch (this.m_Util.ByteArrayToString(reader.ReadBytes(64)))//0x40
{
case "ItemFile v5":
num4 = 5;
break;
case "ItemFile v6":
num4 = 6;
break;
case "ItemFile v7":
num4 = 7;
break;
case "ItemFile v10":
case "ItemFile v11":
num4 = 10;
break;
}
我只是混淆了如何读取此文件下的字符串 因为我尝试打印时开关盒正在工作:
Console.Write(num4.toString());
它给了我一个数字10
所以这个代码可以读取文件,代码可以读取"项目文件v10"或"项目文件v11"因为它在打印到控制台时返回10
但是当我尝试打印这个
时Console.Write(this.m_Util.ByteArrayToString(reader.ReadBytes(64)));
它给了我È2
(ascii)
我是C#的初学者
你能帮助我吗 ?
谢谢