软盘君今天用C++ Builder写了个能发送HTTP请求的小玩意儿,首先遇到了是无法在别的地方执行编译出来的非常小的EXE文件1,按照别人的教程关掉了两个开关就解决了,结果编译出来的文件大小翻了20倍。于是掏出祖传技能:加压缩壳。
打开了我最喜欢的FUPX,把EXE拖进去,按下压缩,直接报错。
UPX仓库中的别人的Issue:Unable to compress any exe file since version 3.92w · Issue #97 · upx/upx (github.com)
报错信息:InternalError: should not happen
这种奇妙的问题我可没有遇到过,但是应该是C++Builder的编译器之类的问题。
于是我去网上找了找其它压缩壳,看见ASPack是支持Borland家产品编译出来的文件的,于是兴致勃勃地装上并打开,把我的EXE压缩了一下。
文件大小是被“优化”下来了,但是不能上UPX还是让我感觉有点不舒服。
于是,软盘君把经过ASPack压缩的EXE文件拖进来FUPX,再一次按下压缩,就套上了UPX了。(当然这个文件大小变化不会很大,就像是你把一段小电影用7zip压缩两遍,第一遍效果显著,第二遍几乎没有效果)
尽管这不单单是用了UPX壳子,但也算是套上了UPX壳子。目前为止我没有在英文社区找到任何有关、有用的信息。
发表回复