手动脱壳入门第十八篇 PC Shrinker 0.71
互联网 发布时间:2008-10-08 19:04:25 作者:佚名
我要评论
【脱文标题】 手动脱壳入门第十八篇 PC Shrinker 0.71
【脱文作者】 weiyi75[Dfcg]
【作者邮箱】 weiyi75@sohu.com
【作者主页】 Dfcg官方大本营
【使用工具】 Peid,Ollydbg,ImportREC
【脱壳平台】 Win2K/XP
【软件名称】 Pcshrink.exe
【软件简
【脱文标题】 手动脱壳入门第十八篇 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
【脱文作者】 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
相关文章
- “CMOS密码”就是通常所说的“开机密码”,主要是为了防止别人使用自已的计算机,设置的一个屏障2023-08-01

QQScreenShot之逆向并提取QQ截图--OCR和其他功能
上一篇文章逆向并提取QQ截图没有提取OCR功能, 再次逆向我发现是可以本地调用QQ的OCR的,但翻译按钮确实没啥用, 于是Patch了翻译按钮事件, 改为了将截图用百度以图搜图搜索.2023-02-04
QQ截图是我用过的最好用的截图工具, 由于基本不在电脑上登QQ了, 于是就想将其提取出独立版目前除了屏幕录制功能其他都逆出来了, 在此分享一下2023-02-04
非系统分区使用BitLocker加密导致软件无法安装的解决方法
很多电脑用户在考虑自己电脑磁盘分区安全时会采用 Windows 自带的 BitLocker 加密工具对电脑磁盘分区进行加密。但有些人加密后就会忘记自己设置的密码从而导致在安装其它软2020-11-25
防止离职员工带走客户、防止内部员工泄密、避免华为员工泄密事件的发生
这篇文章为大家详细介绍了如何才能防止离职员工带走客户、防止内部员工泄密、避免华为员工泄密事件的发生,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-06-27
彻底防止计算机泄密、重要涉密人员离职泄密、涉密人员离岗离职前防范举
近些年企业商业机密泄漏的事件屡有发生,这篇文章主要教大家如何彻底防止计算机泄密、重要涉密人员离职泄密、告诉大家涉密人员离岗离职前的防范举措,具有一定的参考价值,2017-06-27- 最近有电脑用户反应量子计算机可以破解下载的所有的加密算法吗?其实也不是不可以,下面虚拟就为大家讲解买台量子计算机,如何分分钟破解加密算法2016-09-26
怎么破解Webshell密码 Burpsuite破解Webshell密码图文教程
webshell是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,一种网页后门。黑客通常会通过它控制别人网络服务器,那么怎么破解webshell密码呢?一起来看看吧2016-09-19- 本文讨论了针对Linux系统全盘加密的冷启动攻击,大家都认为这种攻击是可行的,但执行这么一次攻击有多难?攻击的可行性有多少呢?需要的朋友可以参考下2015-12-28
防止泄露公司机密、企业数据防泄密软件排名、电脑文件加密软件排行
面对日渐严重的内部泄密事件,我们如何守护企业的核心信息,如何防止内部泄密也就成了摆在各个企业领导面前的一大问题。其实,针对内网安全,防止内部信息泄漏早已有了比较2015-12-17







最新评论