庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>安全技术>软件破解>脱壳技术>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

PEPack1.0脱壳手记

 作者:本站收集   日期:2005-5-28
字号选择〖 〗/ 双击滚屏 单击停止   
这个壳比EZIP1.0的壳稍微复杂一点 循环比较多 而且左跳右跳 很容易让Cracker迷失方向 不过只要有信心在关键处下好断点 认真仔细的跟踪 我相信你也一定可以搞定它的 ^_^ 好了不废话 开始吧

这次的试验品是一个使用汇编编写的程序 很多人都喜欢用NOTEPAD当作实验品 加壳后再脱壳 但是我比较喜欢使用汇编编写的程序
因为汇编编写的程序非常好判断是否为真正的入口点 一看到 COMMANDLINEA 就证明你到了~~~

用TRW载入程序 下FALLUS OFF命令 F10两下到这里:

017F:00406000 PUSHA /光标停在这里
017F:00406001 CALL 00406006 /这个CALL一定要进入 脱壳的关键CALL
017F:00406006 POP EBP
017F:00406007 SUB EBP,BYTE +06
017F:0040600A CMP BYTE [EBP+053E],01
017F:00406011 JZ NEAR 40625F

进入这个CALL后小心的跟踪很快就来到第一个关键部分:

017F:004060D4 JNC 0040610E
017F:004060D6 DEC EAX
017F:004060D7 JZ 0040610E
017F:004060D9 JS 0040610E
017F:004060DB MOV BX,[ECX+EDI]
017F:004060DF CMP BL,E8
017F:004060E2 JZ 004060F3
017F:004060E4 CMP BL,E9
017F:004060E7 JZ 004060F3
017F:004060E9 CMP BX,25FF
017F:004060EE JZ 004060FF
017F:004060F0 INC ECX
017F:004060F1 JMP SHORT 004060D6

很明显4060F1处构成一个循环 只要EAX寄存器指不为0 程序会一直在这里循环380多次 ^_^ 我可没有时间看着它
一步一步的循环 于是我们来观察这个循环里面的跳转 发现跳的最远的就是4060D7处的 JZ 0040610E 于是我们
在40610E处下断点,按F5~~~~ 跳出这个循环了

接下来是很多比较大的循环 一个循环里面大概有7,8个判断语句 和跳转 这时只要小心的在每一个条件跳转语句上都下上断点不断的排除循环内的断点 很快就会找到真正的入口点了

这个就是最后一个大循环的结尾部分 只要下断点 BPX 40625F就可以跳出循环 406270处的跳转语句就是跳到正确OEP的地址

017F:00406248 POP ECX
017F:00406249 POP EDI
017F:0040624A MOV [EDI],EAX
017F:0040624C POP ESI
017F:0040624D POP EDX
017F:0040624E POP EBX
017F:0040624F ADD ESI,BYTE +04
017F:00406252 ADD EDI,BYTE +04
017F:00406255 JMP SHORT 00406214
017F:00406257 ADD EDX,BYTE +14
017F:0040625A JMP 004061B4
017F:0040625F MOV EAX,[EBP+0557]
017F:00406265 ADD EAX.[EBP+058B]
017F:0040626B MOV [ESP+1C],EAX
017F:0040626F POPA
017F:00406270 JMP EAX

跳过 406270 后下命令MakePE,就可以成功脱壳了~~~~~ 测试后可以夸平台运行

————————————————————————————

脱壳后当然要制作出一个脚本方便大家使用了 ^_^
PROCDUMP1.62带有PEPack的脱壳脚本 但是根本就不好用 下面的是我自己写的 经过测试完美脱壳:

[NYDoll's PEPack]
L1=OBLR
L2=LOOK E9,76,FF,FF,FF /第一处循环入口点的机器码
L3=BP
L4=WALK
L5=OBLR
L6=LOOK FF,E0 /第二处循环入口点的机器码
L7=BP
L8=STEP
OPTL1=00000000
OPTL2=01000001
OPTL3=01010001
OPTL4=00030000
OPTL5=00000000
上一篇:脱pecompact1.71加的壳    下一篇:EZIP1.0脱壳手记  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-5-28
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿