C#解密未知加密方法

时间:2015-10-28 12:51:53

标签: c# encryption bytearray bytebuffer

我想问一下我文件的解密方法 我已经有了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#的初学者 你能帮助我吗 ? 谢谢

0 个答案:

没有答案