0

我正在尝试将 dll 文件“打包”到包含其他资源的文件中。我正在读取 DLL 的字节并将它们写回“包”文件中,但是当我解压缩所有内容时,DLL 已损坏。

我可以看到我正在错误地编写“包”文件(输入为 8kb - 输出为 9kb 并且 dll 不起作用),我似乎无法理解为什么会发生这种情况。

我从输入文件中读取字节,通过二进制写入器将它们放入内存流,然后使用 File.WriteAllBytes 将它们写入“包”文件。

byte[] bytes = File.ReadAllBytes(fileDest[i]);

using (MemoryStream ms = new MemoryStream())
        {
            BinaryWriter bw = new BinaryWriter(ms);

            bw.Write(count); //int32
            bw.Write(version); //int32

            for (int i = 0; i < count; i++)
            {
                bw.Write(lengthofbytes);
                bw.Write(someinfo); // string
                bw.Write(filecontents); // bytes
            }

            byte[] bytes = ms.ToArray();
            File.WriteAllBytes("some.dll", bytes);
        }

我要做的是将一堆文件合并到一个文件中,然后将它们“解包”到需要的位置。不幸的是,其中一个文件必须是 .DLL

4

0 回答 0