有谁知道任何RTL压缩工具?

时间:2014-02-12 15:53:59

标签: winapi compression

有没有人知道使用名为RtlCompressBuffer的Windows API函数压缩文件的好工具?我想使用这种方法压缩可执行文件。

1 个答案:

答案 0 :(得分:1)

RtlCompressBuffer是一个相当低级的工具。在实际压缩可执行文件之前,您通常会使用它来创建一些更高级别的工具。

Windows有几个这样的更高级别的工具,具体取决于您想要完成的任务。如果您想要以压缩形式存储在文件系统上的可执行文件,那么您可能希望使用NTFS压缩。要使用此功能压缩可执行文件,请使用FSCTL_SET_COMPRESSION标记调用DeviceIoControl

如果要压缩文件以进行分发(例如,因此用户可以更快地下载),您通常希望将其放入文件柜中,然后您可以自行发货,或者(通常首选)将其打包成MSI包。至于预先打包的工具,你会看到微软的cabarc。如果您想在自己的代码中完成工作,可以使用File Compression Interface (FCI)

强制性的注意事项:虽然这些都进行了压缩(并且还支持匹配解压缩),但是我不确定是否使用RtlCompressBuffer实际实现了(更不用说两者)了。我认为微软的文档几乎没有详细说明它们的实现。