我知道我可以使用 7z 或 winrar,但我想自己学习。
我将如何实现自解压存档?我可以使用 C# 或 C++,但让我解决问题。
当我打开 exe 时,我需要某种 GUI 来询问在哪里提取文件。一旦用户说好的,我显然应该提取它们。我已经在 C# winforms 中实现了一个简单的示例,但我的问题是如何将文件的文件名和二进制文件放入 exe 中?
曾几何时,我问将额外数据添加到 exe 末尾是否安全?答案建议如果我只是将数据添加到 exe 的末尾,它可能会被病毒扫描程序拾取。现在很容易将存档的长度写为最后 4 个字节,只需将数据附加到我的通用 exe 中,我相信我的进程可以读取我自己的 exe,所以这可以工作。但这感觉很hacky,我宁愿不要因为我使用这种技术而让人们指责我编写病毒。实现这一点的正确方法是什么?
注意:我检查了自解压标签,很多问题是如何操作自解压而不是如何实现。除了这个问别的东西自解压自检可执行文件
-edit- 我用 7z 做了两个自解压并比较了它们。它看起来像......它是7z.sfx
文件,但附加了一个常规的 7z 存档。所以……这样做有什么不对吗?有没有更好的办法?我的目标是 Windows,可以使用 C# 编译器来提供帮助,但我不知道有多少额外的工作或以编程方式可能有多困难,也许将数据添加到 exe 的末尾不是坏事吗?