Pages

Monday, July 5, 2010

自解压不神奇

小时候总以为自解压文件肯定用到了某种诡异的 PE 格式上的 trick,要不然 Linux 下为什么没怎么见过自解压的东东呢。

然而昨天翻 7-zip 代码的时候惊讶的发现了真相——
你应该已经注意到了,7-zip 可以打开自解压文件。


——所以?





自解压文件其实就是一个精简版的 7-zip 紧连着对应的 7z 压缩文件,它把自己作为压缩包打开,然后解压,就是这样。


根据这个原理,挖出某公有领域的 rijndael-alg-fst.c,某 gpl 的 sha256.c 以及 zlib 中的 crc32.c,然后码了 800+ 行代码,俺自己也成功的做了个可以自解密的 AES 加密工具 —— Windows/Linux 通用,支持大文件,CBC 模式,自己挺喜欢的,哈哈,改天放出

No comments:

Post a Comment