飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4711|回复: 2

[原创] UPX-Scrambler RC1.x -> ㎡nT畂L [Overlay]脱壳

[复制链接]

该用户从未签到

发表于 2008-4-2 18:58:04 | 显示全部楼层 |阅读模式
UPX-Scrambler RC1.x -> ㎡nT畂L [Overlay]

OD载入,ep处代码

0040DA7F >  90                 nop
0040DA80    61                 popad
0040DA81    BE 00B04000        mov esi,packer.0040B000
0040DA86    8DBE 0060FFFF      lea edi,dword ptr ds:[esi+FFFF6000]
0040DA8C    57                 push edi
0040DA8D    83CD FF            or ebp,FFFFFFFF
0040DA90    EB 10              jmp short packer.0040DAA2
0040DA92    EB 00              jmp short packer.0040DA94
0040DA94  ^ EB EA              jmp short packer.0040DA80
0040DA96  ^ EB E8              jmp short packer.0040DA80
0040DA98    8A06               mov al,byte ptr ds:[esi]
1,脱壳,bp LoadLibraryA两次后,alt+F9返回
0040DBA8    95              xchg    eax, ebp
0040DBA9    8A07            mov     al, byte ptr [edi]
0040DBAB    47              inc     edi
0040DBAC    08C0            or      al, al
0040DBAE  ^ 74 DC           je      short 0040DB8C
0040DBB0    89F9            mov     ecx, edi
0040DBB2    79 07           jns     short 0040DBBB
0040DBB4    0FB707          movzx   eax, word ptr [edi]
0040DBB7    47              inc     edi
0040DBB8    50              push    eax
0040DBB9    47              inc     edi
0040DBBA    B9 5748F2AE     mov     ecx, AEF24857
0040DBBF    55              push    ebp
0040DBC0    FF96 74E50000   call    dword ptr [esi+E574]
0040DBC6    09C0            or      eax, eax
0040DBC8    74 07           je      short 0040DBD1
0040DBCA    8903            mov     dword ptr [ebx], eax
0040DBCC    83C3 04         add     ebx, 4
0040DBCF  ^ EB D8           jmp     short 0040DBA9
0040DBD1    FF96 78E50000   call    dword ptr [esi+E578]
0040DBD7    60              pushad
0040DBD8  - E9 AA4AFFFF     jmp     00402687  //F2下断,shift+F9,到达OEP


00402687    8D4424 F8       lea     eax, dword ptr [esp-8]  //OEP,脱壳,完成
0040268B    64:8705 0000000>xchg    dword ptr fs:[0], eax
00402692    BB D5264000     mov     ebx, 004026D5
00402697    8925 58544000   mov     dword ptr [405458], esp
0040269D    53              push    ebx
0040269E    50              push    eax

2,试运行,提示未与破解程序在同一目录
   可能性:1,程序有自校验(bp CreateFileA等相关API未找到,于是有了第二种可能,overlay)
           2,附加数据

WINHEX出场,打开packer,翻到文件末尾,发现Overlay在4800H处,复制附加数据,粘贴到dump出的文件尾(记录overlay粘贴的位置10FE0)。
对dump出的文件,从新载入,下 bp SetFilePointer,发现参数4800,修改为10FE0,保存。运行,在次出错。只好再分析。
分析注册机的特殊性,想到CreateFileA,再次 bp CreateFileA,到
0040141E    E8 FD1D0000     call    <jmp.&kernel32.GetFileSize>
00401423    2D E00F0100     sub     eax, 4800  //4800改为10FE0
保存,运行,OK.


当然想学习内存补丁的,现在可以动手了,哈哈!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

x
PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2016-2-3 06:45
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-4-2 23:10:51 | 显示全部楼层
    学习中……/:018
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-6 20:31:43 | 显示全部楼层
    ok ,学习了,经典方法办事。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表