您现在的位置: 骇客基地 >> 黑客文章 >> 黑客攻防 >> 黑客编程 >> 正文

手动脱壳进阶第一篇Petite2.2
骇客基地 阅读: 时间:2007-6-2 8:03:48 来源:www.hookbase.com
  

此文动画教程http://cnxhacker.net/download/show/663.html

简介:           
   Petite2.2具有10级的压缩级别,可以同时压缩 PE 文件的输入/输出表,去除重定位表,并且加上检测病毒的功能,即可以用来给 PE 文件减肥,也可以用来保护自己的程序。评价:压缩级别选9级很费时间,压缩比同Upx和Aspack差不多,优点是具备病毒检测功能,病毒修改未脱壳后会有发现病毒警告,使用了结构化异常处理SEH反跟踪调试,正常运行时没影响。属入门级加密壳,关于SEH知识参考相关文章,本论坛有两篇简介。

软件截图



下载地址

本地下载Petite2.2.rar

脱壳目标,Petite2.2加壳Win98的记事本。

下载地址

本地下载Notepad.rar

软件后用Fi测Notepad.exe的壳为PEtite 2.2 -> Ian Luck
手动脱壳建议大家用Ollydbg,工作平台Win2000,WinXp,Win9x不推荐。
手动脱壳时,用Olldbg载入程序,脱壳程序里面会有有好多循环。对付循环时,只能让程序往前运行,基本不能让它往回跳,要想法跳出循环圈。不要用Peid查入口,单步跟踪,提高手动找入口能力。
从本文开始,我们把Od中的选项-调试选项-异常选项卡中
除了忽略在KERNEL32 中的内存访问异常打勾,其余一个勾都不打,请检查自己的Od设置。

用OD载入程序后。
确定一个入口警告,Od提示程序加壳,选不继续分析。
0040D042 >  B8 00D04000     mov eax, Notepad.0040D000  中断在这里。
0040D047    68 4C584000     push Notepad.0040584C  填充ERR结构的Hander,当发生异常时系统会自动调用这里。
0040D04C    64:FF35 0000000>push dword ptr fs:[0]   填充ERR结构的Prev
0040D053    64:8925 0000000>mov dword ptr fs:[0], esp  建立SEH链,呵,异常后就会到40584C处的代码继续运行。
0040D05A    66:9C           pushfw  关键字1
0040D05C    60              pushad  关键字2
0040D05D    50              push eax
0040D05E    68 00004000     push Notepad.00400000
0040D063    8B3C24          mov edi, dword ptr ss:[esp]
0040D066    8B30            mov esi, dword ptr ds:[eax]
0040D068    66:81C7 8007    add di, 780
0040D06D    8D7406 08       lea esi, dword ptr ds:[esi+eax+8]
0040D071    8938            mov dword ptr ds:[eax], edi
0040D073    8B5E 10         mov ebx, dword ptr ds:[esi+10]
0040D076    50              push eax
0040D077    56              push esi
0040D078    6A 02           push 2
0040D07A    68 80080000     push 880
0040D07F    57              push edi
0040D080    6A 12           push 12
0040D082    6A 06           push 6
0040D084    56              push esi
0040D085    6A 04           push 4
.....................................................
0040D0AB    8B0A            mov ecx, dword ptr ds:[edx]
0040D0AD    0FBAF1 1F       btr ecx, 1F
0040D0B1    73 16           jnb short Notepad.0040D0C9
0040D0B3    8B0424          mov eax, dword ptr ss:[esp]
0040D0B6    FD              std
0040D0B7    8BF0            mov esi, eax
0040D0B9    8BF8            mov edi, eax
0040D0BB    0372 04         add esi, dword ptr ds:[edx+4]
0040D0BE    037A 08         add edi, dword ptr ds:[edx+8]
0040D0C1    F3:A5           rep movs dword ptr es:[edi], dword ptr d>
0040D0C3    83C2 0C         add edx, 0C
0040D0C6    FC              cld
0040D0C7  ^ EB E2           jmp short Notepad.0040D0AB  循环。
0040D0C9    83C2 10         add edx, 10  F4到这里。
0040D0CC    8B5A F4         mov ebx, dword ptr ds:[edx-C]
0040D0CF    85DB            test ebx, ebx
0040D0D1  ^\74 D8           je short Notepad.0040D0AB
0040D0D3    8B0424          mov eax, dword ptr ss:[esp]
0040D0D6    8B7A F8         mov edi, dword ptr ds:[edx-8]
0040D0D9    03F8            add edi, eax
0040D0DB    52              push edx
0040D0DC    8D3401          lea esi, dword ptr ds:[ecx+eax]
0040D0DF    EB 17           jmp short Notepad.0040D0F8   跳。

0040D0F8    81FB 00000100   cmp ebx, 10000       到这里。                    
0040D0FE    73 0E           jnb short Notepad.0040D10E
0040D100    68 60C0FFFF     push -3FA0
0040D105    68 60FCFFFF     push -3A0
0040D10A    B6 05           mov dh, 5
0040D10C    EB 22           jmp short Notepad.0040D130  跳。

0040D130    6A 00           push 0    到这里。
0040D132    32D2            xor dl, dl
0040D134    4B              dec ebx
0040D135    A4              movs byte ptr es:[edi], byte ptr ds:[esi>
0040D136    33C9            xor ecx, ecx
0040D138    83FB 00         cmp ebx, 0
0040D13B  ^ 7E A4           jle short Notepad.0040D0E1
0040D13D    E8 AAFFFFFF     call Notepad.0040D0EC  F8步过。
0040D142    72 17           jb short Notepad.0040D15B
0040D144    A4              movs byte ptr es:[edi], byte ptr ds:[esi>
0040D145    305F FF         xor byte ptr ds:[edi-1], bl
0040D148    4B              dec ebx
0040D149  ^ EB ED           jmp short Notepad.0040D138  循环。
0040D14B    41              inc ecx  F4到这里。
0040D14C    E8 9BFFFFFF     call Notepad.0040D0EC
0040D151    13C9            adc ecx, ecx
0040D153    E8 94FFFFFF     call Notepad.0040D0EC
0040D158  ^ 72 F2           jb short Notepad.0040D14C
0040D15A    C3              retn

0040D162    83E9 03         sub ecx, 3  到这里。
0040D165    73 06           jnb short Notepad.0040D16D 跳。

0040D16D    8BC1            mov eax, ecx  到这里。
0040D16F    0FB6CE          movzx ecx, dh
0040D172    E8 75FFFFFF     call Notepad.0040D0EC
0040D177    13C0            adc eax, eax
0040D179    49              dec ecx
0040D17A  ^ 75 F6           jnz short Notepad.0040D172  循环。

0040D17C    83F0 FF         xor eax, FFFFFFFF  F4下来。
0040D17F    3B4424 04       cmp eax, dword ptr ss:[esp+4]
0040D183    83D5 01         adc ebp, 1
0040D186    3B4424 08       cmp eax, dword ptr ss:[esp+8]
.....................................................   
0040D19E   /75 08           jnz short Notepa

[1] [2] [3] [4] 下一页

今天广告
参与评论:
注意事项:
【手动脱壳进阶第一篇Petite2.2】文章由骇客基地网上搜集,其立场行为并不代表本站。
如果您发现该文章若无意中侵犯到您的权利,请联系我们!
未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自本站,谢谢您的支持!
最近更新
最新推荐
     
 
黑客首页 | 服务指南 | 软件发布  | 关于我们 | 本站声明  | 隐私声明 | 诚征英才 | 网站地图 | 友情链接 |
 
 
中国·黑客·骇客·基地 请使用IE6.0版本, 分辩率1024×768进行浏览 www.hookbase.com 站长:利客 Email:hookbase@163.com
Copyright © 2004-2009 All Rights Reserved. 粤ICP备05000985号