最近看到verydoc的一套命令行转换工具,其中有一款PDF to vec(PDF文件转矢量文件),用PEiD查看是UPX 0.89.6 – 1.02 / 1.05 – 1.24 -> Markus & Laszlo壳,准备脱了他。
工具:
PEid
LoadPE
WinHex
UPX 2.03w
参照http://teach.hanzify.org/article/15-1060099200.html
第一步 PEid检测壳结果如下图
第二步 修改数据段
启动LoadPE工具,加载pdf2vec.exe,Sections,修改第一、第二段的名称分别为UPX0、UPX1保存。
第三步 修改UPX的解压版本
启动WinHex工具,打开第二步修改后的文件,移动数据区到03E0位置。如下图:
当前的版本是2.00,我们用UPX的高版来解压他,修改UPX的版本为2.03w。
保存修改的文件。
第四步 命令行解压
在命令窗口里输入upxe –d pdf2vec.exe就可以完成UPX解压。
此时会发现解压后的文件比原有的文件增大1M左右,这是UPX的压缩的结果。
用PEid再次检测一次,原程序是采用Microsoft Visual C++ 6.0开发,如下图:
总结,该程序不经过上述修改而直接进行解压会出现如下提示
Ultimate Packer for eXecutables
Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006
UPX 2.03w Markus Oberhumer, Laszlo Molnar & John Reiser Nov 7th 2006
File size Ratio Format Name
——————– —— ———– ———–
upxe: pdf2vec.exe: CantUnpackException: file is modified/hacked/protected; take
care!!!