PECompact是一款能压缩可执行文件(后缀为EXE)的压缩加壳工具,压缩率极高,压缩后的程序无需解压即可直接运行!PECompact通过压缩代码、数据、相关资源使压缩能达到100%,有需要的用户可以来下载体验!
软件介绍
该软件设计得非常实用。通过简单的容量控制,来设置压缩级别,然后选择要压缩的程序类型。高级配置项目包含明细菜单,提供了很多选项:压缩优化的设置,是否优化文件中解压缩程序的大小或速度,要压缩哪些资源,及其他设置。
特点
整个程序在汇编程序中编写完成,压缩时使用了两个压缩库:第一个是aPLiB,它是最佳的压缩算法之一;第二个是JCALG1,由Jeremy Collake编写,与aPLiB不同,它是开放源代码,可免费使用。
令人惊奇的是,如果使用最大压缩,JCALG1的性能甚至优于aPLiB(不过,压缩时间较长)。在加载压缩文件时,两个库所用的时间相同。
该软件设计得非常实用。通过简单的容量控制,来设置压缩级别,然后选择要压缩的程序类型。如图5-5所示,高级配置项目包含明细菜单,提供了很多选项:压缩优化的设置,是否优化文件中解压缩程序的大小或速度,要压缩哪些资源,及其他设置。在文档资料中,您可以找到关于这些设置的详细说明。
PECompact的菜单要比其他压缩程序的菜单稍大些PECompact的另一个卓越功能是可以使用插件。它支持编码、解码、发布和GPA插件,并且包含易于修改的简短示例。例如,发布插件在程序开始处添加消息,适用于创建者的共享件。
不过,该程序也有不足之处: PECompact易于删除。在文档资料中,开发人员称:该程序将复杂化调试。但这并不确切,在该程序中,找不到反调试策略,这意味着,它并非难于调试。在其他方面,PECompact是最优秀的压缩程序之一。如需高压缩率,且不关心压缩程序被轻易解除,那么,PECompact是一个极好的选择。
方法:ESP大法秒脱(PECompact V2.X)
OD设置:忽略非法访问内存异常,其它不忽略任何异常。
00401000 > B8 1C164800 MOV EAX,PEiD.0048161C ;壳入口点
00401005 50 PUSH EAX
00401006 64:FF35 0000000>PUSH Dword PTR FS:[0]
0040100D 64:8925 0000000>MOV DWORD PTR FS:[0],ESP ;在这里直接使用ESP定律
;下硬件断点 hr [ESP]值(一
般为0012ffbc)
;[F9]
00401014 33C0 XOR EAX,EAX
0048164B 83C4 04 ADD ESP,4 ;停在这里,然后向下单步跟。
0048164E 55 PUSH EBP
0048164F 53 PUSH EBX
00481650 51 PUSH ECX
00481651 57 PUSH EDI
004816E3 5A POP EDX
004816E4 5E POP ESI
004816E5 5F POP EDI
004816E6 59 POP ECX
004816E7 5B POP EBX
004816E8 5D POP EBP
004816E9 FFE0 JMP EAX ;跟到这里,也可以使用[F4]直
接运行到当前。
;这里就是关键跳,直飞入口点
按[F8]一次,飞。
004816EB 0000 ADD BYTE PTR DS:[EAX],AL
004816ED 0000 ADD BYTE PTR DS:[EAX],AL
004816EF 0000 ADD BYTE PTR DS:[EAX],AL
004629EC 6A 60 PUSH 60 ;真正入口点,在这里DUMP就
可以了。
004629EE 68 384A4300 PUSH PEiD.00434A38
004629F3 E8 B4180000 CALL PEiD.004642AC
004629F8 BF 94000000 MOV EDI,94
004629FD 8BC7 MOV EAX,EDI
004629FF E8 5CFDFFFF CALL PEiD.00462760
脱出来的程序一般都是可以正常运行的,但比如[98记事本]这样的程序需要修复输入表。
修复时填:
OEP=000010CC
RVA=000062E4
SIZE=00406520-004062E4=23C
先用OD把壳脱掉,再用ImportREC修复文件时所选择的文件应该是OD脱完壳的文件。