在 C 代码中解压 .xz 文件
Posted
技术标签:
【中文标题】在 C 代码中解压 .xz 文件【英文标题】:Unpack .xz file within C code 【发布时间】:2012-12-22 14:43:44 【问题描述】:我的问题很简单。有没有办法从 C 代码中解压打包的 .xz 文件?我可能会调用一些默认的 linux 集成程序来为我解包,但它究竟是如何工作的呢?我调用了外部函数,然后以某种方式直接返回到提取文件的程序内容?假设 .xz 文件里面是文本文件,我想在之后阅读它。
【问题讨论】:
检查 system() api pubs.opengroup.org/onlinepubs/009695399/functions/system.htmlxzutils
下载附带文档和示例代码:git.tukaani.org/?p=xz.git;a=blob_plain;f=doc/examples/…
【参考方案1】:
我会使用system("xz -dl file.xz")
,但这里有很好的信息和实现源代码的链接:
http://tukaani.org/xz/format.html
【讨论】:
也是引入参数注入漏洞的好方法。 (不要将system()
用于您实际让其他人执行的任何代码。)
是的,像往常一样,如果您想拥有一个安全的系统,您想了解自己在做什么。而且 system() 并不是特别安全...
此外,您假设system
可以执行命令并且该命令(xz)存在于机器上......我会明确使用库(这成为正常的依赖项如果您不包含该软件,则为该软件)
我对@987654325@ 做了一些研究,发现函数popen。就像在 python 中一样。那不是更好吗?
@Jendas 在安全方面?到目前为止。以上是关于在 C 代码中解压 .xz 文件的主要内容,如果未能解决你的问题,请参考以下文章