首页
社区
课程
招聘
[求助]脱PE-Armor 0.46 -> Hying壳问题
发表于: 2006-11-5 14:39 4306

[求助]脱PE-Armor 0.46 -> Hying壳问题

2006-11-5 14:39
4306
刚找到一个脱PE-Armor 0.46 -> Hying 壳的教程,自己尝试手动脱壳,以下是我照教程脱壳的过程

0073F000 >  E8 AA000000     call    0073F0AF    <-用OD载入后停留在这里
0073F005    2D F0330000     sub     eax, 33F0
0073F00A    0000            add     byte ptr [eax], al
0073F00C    0000            add     byte ptr [eax], al
0073F00E    0000            add     byte ptr [eax], al
0073F010    003D F033002D   add     byte ptr [2D0033F0], bh
0073F016    F0:3300         lock xor eax, dword ptr [eax]            ; 不允许锁定前缀
0073F019    0000            add     byte ptr [eax], al
0073F01B    0000            add     byte ptr [eax], al

Alt+M 打开Memory map,如下:

地址       大小       属主       区段       包含          类型   访问      初始访问  已映射为
00010000   00001000                                       Priv   RW        RW
00020000   00001000                                       Priv   RW        RW
0012B000   00001000                                       Priv   RW  保护    RW
0012C000   00004000                         堆栈 于 主线       Priv   RW  保护    RW
00130000   00003000                                       Map    R         R
00140000   00003000                                       Priv   RW        RW
00240000   00006000                                       Priv   RW        RW
00250000   00003000                                       Map    RW        RW
00260000   00016000                                       Map    R         R         \Device\HarddiskVolume1\WINDOWS\System32\UNICODE.NLS
00280000   0003D000                                       Map    R         R         \Device\HarddiskVolume1\WINDOWS\System32\LOCALE.NLS
002C0000   00041000                                       Map    R         R         \Device\HarddiskVolume1\WINDOWS\System32\SORTKEY.NLS
00310000   00006000                                       Map    R         R         \Device\HarddiskVolume1\WINDOWS\System32\SORTTBLS.NLS
00320000   00041000                                       Map    R         R
00400000   00001000   PR_St                 PE 文件头        Imag   R         RWE
00401000   0029A000   PR_St                 代码            Imag   R         RWE     <-在这里下断点
0069B000   000A4000   PR_St                 数据,资源         Imag   R         RWE
0073F000   00006000   PR_St                 SFX,输入表       Imag   R         RWE
7C800000   00001000   kernel32              PE 文件头        Imag   R         RWE
7C801000   00082000   kernel32   .text      代码,输入表,       Imag   R         RWE
7C883000   00005000   kernel32   .data      数据            Imag   R         RWE
7C888000   0008E000   kernel32   .rsrc      资源            Imag   R         RWE
7C916000   00006000   kernel32   .reloc     重定位           Imag   R         RWE
7C920000   00001000   ntdll                 PE 文件头        Imag   R         RWE
7C921000   0007B000   ntdll      .text      代码,输出表        Imag   R         RWE
7C99C000   00005000   ntdll      .data      数据            Imag   R         RWE
7C9A1000   00010000   ntdll      .rsrc      资源            Imag   R         RWE
7C9B1000   00003000   ntdll      .reloc     重定位           Imag   R         RWE
7F6F0000   00007000                                       Map    R E       R E
7FFA0000   00033000                                       Map    R         R
7FFD9000   00001000                                       Priv   RW        RW
7FFDF000   00001000                         数据块 于 主       Priv   RW        RW
7FFE0000   00001000                                       Priv   R         R

按F9运行程序

0073F105    A4              movs    byte ptr es:[edi], byte ptr [esi>   <-停留在这里
0073F106    B3 02           mov     bl, 2
0073F108    E8 6D000000     call    0073F17A
0073F10D  ^ 73 F6           jnb     short 0073F105
0073F10F    33C9            xor     ecx, ecx
0073F111    E8 64000000     call    0073F17A
0073F116    73 1C           jnb     short 0073F134
0073F118    33C0            xor     eax, eax
0073F11A    E8 5B000000     call    0073F17A
0073F11F    73 23           jnb     short 0073F144
0073F121    B3 02           mov     bl, 2
0073F123    41              inc     ecx
0073F124    B0 10           mov     al, 10

下命令bp GetProcAddress, 再按F9运行,中断后取消断点.

Alt+F9返回在如下:(和作者的有出入不,不知道是我操作有问题还是断点下错地方了)

00373031    8907            mov     dword ptr [edi], eax             ; ntdll.RtlDeleteCriticalSection
00373033    5A              pop     edx
00373034    0FB642 FF       movzx   eax, byte ptr [edx-1]
00373038    03D0            add     edx, eax
0037303A    42              inc     edx
0037303B    83C7 04         add     edi, 4
0037303E    59              pop     ecx
0037303F  ^ E2 CA           loopd   short 0037300B
00373041  ^ EB 93           jmp     short 00372FD6
00373043    8B85 BC020000   mov     eax, dword ptr [ebp+2BC]
00373049    83F8 01         cmp     eax, 1
0037304C    75 27           jnz     short 00373075
0037304E    8BBD C4020000   mov     edi, dword ptr [ebp+2C4]

以下是作者按Alt+F9返回的地址,给各位对照一下:
00033031    8907            mov     dword ptr ds:[edi], e>; ntdll.RtlDeleteCriticalSection
00033033    5A              pop     edx
00033034    0FB642 FF       movzx   eax, byte ptr ds:[edx>
00033038    03D0            add     edx, eax
0003303A    42              inc     edx
0003303B    83C7 04         add     edi, 4
0003303E    59              pop     ecx
0003303F  ^ E2 CA           loopd   short 0003300B
00033041  ^ EB 93           jmp     short 00032FD6
00033043    8B85 BC020000   mov     eax, dword ptr ss:[eb>
00033049    83F8 01         cmp     eax, 1
0003304C    75 27           jnz     short 00033075
0003304E    8BBD C4020000   mov     edi, dword ptr ss:[eb>

另外这个软件有自校验,发现自身被修改后会自动注销系统
以上是我的脱壳记录,请高手指点,不知道什么地方错了
还忘高手指点

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个东西好象有脚本?还是脱壳机?拿哪个东西看看
2006-11-5 15:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sjh
3
我试过脱壳机,但我下载的脱不了,提示出错,电脑就不动了
那位朋友有下载地址给个吧
2006-11-5 16:42
0
游客
登录 | 注册 方可回帖
返回
//