手动脱壳入门第十八篇 PC Shrinker 0.71

所属分类: 网络安全 / 加密解密 阅读数: 196
收藏 0 赞 0 分享
【脱文标题】 手动脱壳入门第十八篇 PC Shrinker 0.71
【脱文作者】 weiyi75[Dfcg]
【作者邮箱】 weiyi75@sohu.com
【作者主页】 Dfcg官方大本营
【使用工具】 Peid,Ollydbg,ImportREC
【脱壳平台】 Win2K/XP
【软件名称】 Pcshrink.exe
【软件简介】 Phrozen Crew PE Shrinker is an windows 9x/NT executable file compressor, allowing compressed executables to run, functionally,the same as always, but occupy a significantly less amount of disk space.
【软件大小】 15 KB
【下载地址】 本地下载
PC Shrinker 0.71.rar
【加壳方式】 PC Shrinker 0.71 -> Virogen
【保护方式】 PC Shrinker压缩壳
【脱壳声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【脱壳内容】
这个程序的压缩选项是非常丰富的,从界面中也没有加密选项,无效隐藏OD和设置异常。
先看看它加壳的记事本
本地下载
NOTEPAD.rar
首先Peid查壳,为PC Shrinker 0.71 -> Virogen,OD载入运行,无任何异常,判断其为压缩壳。
0040AAFB > 9C PUSHFD //记事本外壳入口。
0040AAFC 60 PUSHAD //仍然是ESP定律
0040AAFD BD B7710000 MOV EBP,71B7 //这里的ESP为12FFA0
0040AB02 01AD 543A4000 ADD DWORD PTR SS:[EBP 403A54],EBP
0040AB08 FFB5 503A4000 PUSH DWORD PTR SS:[EBP 403A50]
0040AB0E 6A 40 PUSH 40
0040AB10 FF95 883A4000 CALL DWORD PTR SS:[EBP 403A88]
0040AB16 50 PUSH EAX
0040AB17 50 PUSH EAX
0040AB18 2D 7D394000 SUB EAX,NOTEPAD.0040397D
0040AB1D 8985 7E394000 MOV DWORD PTR SS:[EBP 40397E],EAX
0040AB23 5F POP EDI
0040AB24 8DB5 7D394000 LEA ESI,DWORD PTR SS:[EBP 40397D]
0040AB2A B9 FC000000 MOV ECX,0FC
0040AB2F F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
0040AB31 5F POP EDI
0040AB32 FFE7 JMP EDI
..................................................
命令行 dd 12ffa0
下硬件访问-Dword断点。
F9运行
硬件中断。
标签1
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
0040AAFB > 9C PUSHFD //记事本外壳入口。
0040AAFC 60 PUSHAD //
解压缩过程,就是我们以前慢慢跟踪的一下循环圈。
00132DC6 61 POPAD //堆栈平衡,完全工整对应。
00132DC7 9D POPFD //这里是出口,我们断在这里。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
00132DC6 61 POPAD
00132DC7 9D POPFD //这里是出口,我们断在这里。转标签1看看
00132DC8 BA CC104000 MOV EDX,4010CC
00132DCD FFE2 JMP EDX //EDX=4010CC,这个是地球人都只道的记事本的OEP
004010CC 55 PUSH EBP //在这里用Loadpe直接脱壳
004010CD 8BEC MOV EBP,ESP
004010CF 83EC 44 SUB ESP,44
004010D2 56 PUSH ESI //我们看到加密表没有破坏,往下看到KERNEL32.GetCommandLineA
004010D3 FF15 E4634000 CALL DWORD PTR DS:[4063E4] ; KERNEL32.GetCommandLineA
004010D9 8BF0 MOV ESI,EAX
004010DB 8A00 MOV AL,BYTE PTR DS:[EAX]
004010DD 3C 22 CMP AL,22
004010DF 75 1B JNZ SHORT NOTEPAD.004010FC
004010E1 56 PUSH ESI
004010E2 FF15 F4644000 CALL DWORD PTR DS:[4064F4] ; USER32.CharNextA
004010E8 8BF0 MOV ESI,EAX
004010EA 8A00 MOV AL,BYTE PTR DS:[EAX]
004010EC 84C0 TEST AL,AL
004010EE 74 04 JE SHORT NOTEPAD.004010F4
004010F0 3C 22 CMP AL,22
004010F2 ^ 75 ED JNZ SHORT NOTEPAD.004010E1
...........................................................
运行ImportREC,选择这个进程。把OEP改为000010cc,点IT AutoSearch,点“Get Import”,函数都是有效的。FixDump,正常运行,记事本脱壳完毕。
脱壳主程序
继续OD载入它的主程序。
004066F8 > 9C PUSHFD //主程序外壳入口。
004066F9 60 PUSHAD //从这这句过后用ESP定律吧,
004066FA BD B42D0000 MOV EBP,2DB4 //到这里ESP=19ffa0
004066FF 01AD 543A4000 ADD DWORD PTR SS:[EBP 403A54],EBP
00406705 FFB5 503A4000 PUSH DWORD PTR SS:[EBP 403A50]
0040670B 6A 40 PUSH 40
0040670D FF95 883A4000 CALL DWORD PTR SS:[EBP 403A88]
00406713 50 PUSH EAX
00406714 50 PUSH EAX
00406715 2D 7D394000 SUB EAX,PCSHRINK.0040397D
0040671A 8985 7E394000 MOV DWORD PTR SS:[EBP 40397E],EAX
00406720 5F POP EDI
00406721 8DB5 7D394000 LEA ESI,DWORD PTR SS:[EBP 40397D]
00406727 B9 FC000000 MOV ECX,0FC
0040672C F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
0040672E 5F POP EDI
0040672F FFE7 JMP EDI
................................................................................
dd 19ffa0
下硬件访问-Dword断点。
F9运行
硬件中断。
001A2DD6 61 POPAD
001A2DD7 9D POPFD //堆栈平衡
001A2DD8 BA 00104000 MOV EDX,401000
001A2DDD FFE2 JMP EDX //EDX=401000是主程序的OEP
00401000 E8 DB E8 //这种情况大家应该见多了,点右键-分析-清除分析。
00401001 05 DB 05
00401002 16 DB 16
00401003 00 DB 00
00401004 00 DB 00
00401005 A3 DB A3
00401006 DF DB DF
00401007 37 DB 37 ; CHAR '7'
00401008 40 DB 40 ; CHAR '@'
00401009 00 DB 00
0040100A E8 DB E8
0040100B BF DB BF
0040100C 15 DB 15

更多精彩内容其他人还在看

破解Oracle数据库的密码

要连接远程的 Oracle 数据库,需要知道 SID,用户名, 密码,当然还有最重要的 IP 地址。SID 如果被管理 员修改的话,可以利用 sidguess 来进行破解,速度非常的快,至于成功与否,就要看你的字典配置了。破解 效果如图 1。   图 1
收藏 0 赞 0 分享

破解CMOS密码的四种方法

1.简单的DOS下DEBUG破解程序:   用软盘启动进入DOS下,执行Debug程序(你没有,那得去拷贝一个啊)   1)debug   o 70 2e (回车)   o 71 00 (回车)   o 70 2f (回车)
收藏 0 赞 0 分享

轻松破解无线网络WEP密码下篇

上期为各位介绍了将自己的网卡重新安装驱动,以便使用无线网络检测及WEP解密工具。当我们把网卡驱动更新完毕后,我们再来看看如何找出已经禁用了SSID号广播的无线网络以及进行WEP解密工作。   一、使用airodump抓取无线网络数据包并破解SSID名称:   
收藏 0 赞 0 分享

简单破解“高强度文件夹加密大师”

今天我们社团学弟拿了一个高强度文件夹加密大师给社长试试,说是一个这加密文件夹很好的东西,可以把私藏的物品放在文件夹然后加密文件夹。我处于好奇也跟了上去看看。他又说,这是他花了好长时间才找到的一个不错的东西,还说网络上没有比这个还好的加密文件夹软件了
收藏 0 赞 0 分享

在KDE环境下安装GnuPG加密软件

大多数人以前没有使用过加密技术,我记录了在Mandrake 10.0发行版中KDE环境下创建我的公/私钥的过程,我将这些步骤记录下来了,没有使用到命令行,其linux发行版可能更容易安装。   首先你得在纸上创建你的密码,密码的长度没有限制,你应该小心选择,你可以使用空
收藏 0 赞 0 分享

轻松破解无线网络WEP密码上篇

近些年无线技术发展迅速,越来越多的用户使用无线设备在自己家建立起无线网络,通过搭建无线网络可以在家里的每个角落使用笔记本和无线网卡访问internet。有很多文章都向大家介绍了无线安全之中的通过设置WEP加密来保证其他计算机以及非法用户无法连接我们建立的无线
收藏 0 赞 0 分享

简述加密和数字签名的区别

什么是加密?   用非常基本的词汇说,加密是一种以密码方式发送信息的方法。只有拥有正确密钥的人才能解开这个信息的密码。对于其他人来说,这个信息看起来就像是一系列随机的字母、数字和符号。如果你要发送不应该让其他人看的敏感信息时,加密是特别重要的。由于
收藏 0 赞 0 分享

介绍几款“加密”软件的破解方法

现在网络上流行很多文件夹加密和文件加密的所谓加密软件,很多都是个人根据开源代码编写的程序,多数都是利用windows技巧实现的(最常见的就是将文件隐藏到回收站,万一你不小心删除了回收站或者重装了系统,那就只有哭了),最受不了的就是他们还都号称自己是什么“
收藏 0 赞 0 分享

加密全接触

经过陈冠希的艳照门事件之后,相信各位网友都对自己电脑里的一些隐私文件的保存问题有了更高的安全要求(不吃亏不知道补牢)。无论是黑客入侵、电脑丢失、电脑送修等都可能会导致自己的隐私文件泄露。为了避免这些问题,最方便快捷的方法就是对我们的隐私文件进行加密处理
收藏 0 赞 0 分享

破解Rar加密文件的方法

(1)了解破解rar加密文件方面的相关知识 (2)使用工具软件Advanced RAR Password Recovery 1.11破解rar加密文件 对于一些安全意识比较强的人来说,一般都会对文件进行加密,例如使用rar自带的加密功能进行加密,如果偶然获取了
收藏 0 赞 0 分享
查看更多