PE-Pack脱壳手记
2007-01-12 20:13:06 来源:WEB开发网前天在国外某网站下载了一个注册机制作工具(类似于国内的注册机生成器),某些功能很有特色,所以想汉化了自己用,用PEiD查看加的什么壳,原来是PE-Pack 1.0加壳的,当即用trw载入,跟踪到入口,makepe,结果不能使用,用ImportREC可以修复,却不能跨平台运行 于是在网上找了一下,找到一个叫Depepack的程序,很容易就把壳脱了,当时也没有在意,今天无意中打开《论坛精华4》,看到 娃娃[CCG] 写的《PEPack1.0脱壳手记》,有几点疑问:
1.他makepe出来的文件可以跨平台!?为了验证他的话,我用了1.13,1.22,1.23的makepe还是搞不定.不知他用的是什么版本.
2.写了个PROCDUMP1.62的PEPack脱壳脚本,但是在我这里不能用.
于是决定自己写一篇,各位高手可以对照一下
1.关于程序的oep,娃娃写了很长的篇幅介绍如何找到OEP
以下是我找Oep的总结
0187:0040D000 60 PUSHA
0187:0040D001 E800000000 CALL 0040D006
0187:0040D006 5D POP EBP
0187:0040D007 83ED06 SUB EBP,BYTE +06
0187:0040D00A 80BD3E05000001 CMP BYTE [EBP+053E],01
0187:0040D011 0F8448020000 JZ NEAR 0040D25F (NO JUMP) //直接G到0040D25F看看
....
0187:0040D25F 8B8557050000 MOV EAX,[EBP+0557]
0187:0040D265 03858B050000 ADD EAX,[EBP+058B]
0187:0040D26B 8944241C MOV [ESP+1C],EAX
0187:0040D26F 61 POPA
0187:0040D270 FFE0 JMP EAX //是不是很熟悉,直接跳到OEP去了
....
0187:004010CC 55 PUSH EBP //这里就是Oep,可以makepe但是生成的文件却不能使用!
0187:004010CD 8BEC MOV EBP,ESP
0187:004010CF 83EC44 SUB ESP,BYTE +44
.....
2.关于如何脱壳的文件可以跨平台运行
我用Notepad.exe试遍了PE-Pack的所有参数,可是就找不到一个可以直接makepe出来的,莫非是我功力不够,还请高手指教.
以下是PE-PaCK的参数:
Usage: pepack filename [/-,options]
~~~~~
Options: a option can start with '/', '-' or ','
~~~~~~~ -? -h this short help
-o write to output.exe
-rs- do not pack RESOURCES
-ver also pack versioninfo
-icn also pack ICON
-aln set file align to 512
-spd faster compression
没有办法,只有自己动手了,这里也有个建议,不要只看别人的经验,最好是自己动手.
运行脱壳后的程序,出现错误提示:
链接文件 newpe.exe
到不存在的输出 output.exe: 伞
(注:output.exe是未脱壳的文件)
哈,让我们看看到底是怎么了
看看正常程序的导入表
shell32.dll
kernel32.dll
user32.dll
gdi32.dll
advapi32.dll
condlg32.dll
再看看makepe出来的错误文件
output.exe //注意这里,它里面的Api显示为?
shell32.dll
kernel32.dll
user32.dll
gdi32.dll
advapi32.dll
condlg32.dll
于是大胆删除了导入表里面的output.exe
再运行程序,这次正常了,也可以跨平台运行了.
后记:
如果感兴趣的朋友可以自己动手试一试,也不知道在你们那里是不是和我的一样,我用的加壳工具是PE-PaCK 1.0版及他的win界面sPEP10.
- ››PE工具箱安装ghostXP/Win7系统步骤
- ››PendingIntent实现原理和代码
- ››Pentium III处理器的单指令多数据流扩展指令(1)...
- ››Pentium III处理器的单指令多数据流扩展指令(2)...
- ››Pentium III处理器的单指令多数据流扩展指令(3)...
- ››Perl 6 发布
- ››PermissionInfo Android权限枚举方法
- ››Perl 和 Amazon 云,第 1 部分:通过构建简单的照...
- ››Perl 和 Amazon 云,第 2 部分:通过 HTML 表单将...
- ››Perl 和 Amazon 云,第 3 部分:上传图像并创建、...
- ››Perl 和 Amazon 云,第 4 部分:深入探究完整 mod...
- ››Perl 和 Amazon 云,第 5 部分:了解完整 mod_per...
更多精彩
赞助商链接