我有.deb
个软件包,其内容需要以编程方式提取。但是,我无法找到关于该主题的任何资源,例如.deb
包格式规范,这将使我更加了解如何在不进行逆向工程的情况下解决问题。
有什么想法吗?
答案 0 :(得分:3)
实际上非常简单。
ar xv [name of deb file]
要在C内拨打电话,您可以使用system
:
system("ar xv [name of deb file]");
答案 1 :(得分:1)
如果你没有为此找到一个库(我也没有找到它),并且不能求助于运行系统命令,你可以随时实现自己来读取ar档案。 ar file format并不是非常复杂。
答案 2 :(得分:1)
.deb
包格式的设计目标之一是使用现有工具和/或库轻松提取。顶级结构确实是ar
文件,但在其中,您将找到另一级结构,传统上是一对tar
文件。有关更多文档,请参阅例如http://en.wikipedia.org/wiki/Deb_(file_format)
如果找不到现有的库,您可以使用GNU ar
源来构建自己的库。我希望有ar / tar / cpio的通用库/你有什么。
答案 3 :(得分:0)
我刚刚看到libarchive支持ar
格式以及其他一些格式。