我有一个.deb
包,我需要以编程方式提取其内容。但是,我无法找到有关该主题的任何资源,例如.deb
包格式规范,这将使我更多地了解如何在不进行逆向工程的情况下解决问题。
有任何想法吗?
其实很简单。
ar xv <name of deb file>
要从 C 中调用,您可以使用system
:
system("ar xv <name of deb file>");
包格式的设计目标之一.deb
是使用现有工具和/或库轻松提取。顶层结构确实是一个ar
文件,但是在里面,你会发现另一个层次的结构,传统上是一对tar
文件。有关更多文档,请参见例如http://en.wikipedia.org/wiki/Deb_(file_format )
ar
如果您找不到现有的库,您可能可以使用 GNU源代码来构建您自己的库。我希望有用于 ar / tar / cpio / 你有什么的通用库。
如果你没有找到这个库(我也没有),并且不能求助于运行系统命令,你总是可以实现你自己的来阅读 ar 档案。ar 文件格式并不十分复杂。
我刚刚看到libarchive支持这种ar
格式,还有很多其他格式。