首页
社区
课程
招聘
[讨论]手脱UPX DLL变形壳(半成品) 求教育!
发表于: 2012-6-27 19:47 5060

[讨论]手脱UPX DLL变形壳(半成品) 求教育!

2012-6-27 19:47
5060
UPX DLL 变形壳

     加壳方式: UPX 0.80 - 1.24 DLL -> Markus & Laszlo
     使用工具: OllyICE,  LordPE,ImpREC1.7 , ReloREC,WinHex
     操作平台: Win XP

一个N年前的东西 无意间发现,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

EP 段 名称空白  
LordPE 随便改一下字都不能运行 自效验!

OD 载入
00B38E60 > $  807C24 08 01  cmp byte ptr ss:[esp+0x8],0x1
00B38E65   .  0F85 7D010000 jnz _th.00B38FE8
00B38E6B   .  60            pushad
00B38E6C   .  BE 0070B200   mov esi,_th.00B27000
00B38E71   .  8DBE 00A0FDFF lea edi,dword ptr ds:[esi-0x26000]
00B38E77   .  57            push edi
00B38E78   .  83CD FF       or ebp,-0x1
00B38E7B   .  EB 0D         jmp short _th.00B38E8A
.......
.......
.......

00B38FB0   > \61            popad
00B38FB1   .  31C0          xor eax,eax
00B38FB3   .  C2 0C00       retn 0xC
00B38FB6   >  83C7 04       add edi,0x4
00B38FB9   .  8D5E FC       lea ebx,dword ptr ds:[esi-0x4]           ;  F2断下
00B38FBC   >  31C0          xor eax,eax
00B38FBE   .  8A07          mov al,byte ptr ds:[edi]                 ;  重定位
00B38FC0   .  47            inc edi
00B38FC1   .  09C0          or eax,eax
00B38FC3   .  74 22         je short _th.00B38FE7
00B38FC5   .  3C EF         cmp al,0xEF
00B38FC7   .  77 11         ja short _th.00B38FDA
00B38FC9   >  01C3          add ebx,eax
00B38FCB   .  8B03          mov eax,dword ptr ds:[ebx]
00B38FCD   .  86C4          xchg ah,al
00B38FCF   .  C1C0 10       rol eax,0x10
00B38FD2   .  86C4          xchg ah,al
00B38FD4   .  01F0          add eax,esi                              ;  标记
00B38FD6   .  8903          mov dword ptr ds:[ebx],eax
00B38FD8   .^ EB E2         jmp short _th.00B38FBC
00B38FDA   >  24 0F         and al,0xF
00B38FDC   .  C1E0 10       shl eax,0x10
00B38FDF   .  66:8B07       mov ax,word ptr ds:[edi]
00B38FE2   .  83C7 02       add edi,0x2
00B38FE5   .^ EB E2         jmp short _th.00B38FC9
00B38FE7   >  61            popad                                    ;  F4 到此
00B38FE8   >- E9 89EEFDFF   jmp _th.00B17E76                         ;  跳到OEP

LordPE Dump 保存
ImpREC 输入 OEP 自动获取 无无效指针 修复保存

构造重定位表


上面找了一片区域NOP掉
pushad
mov edx,dword ptr ds:[00B40000]
sub ebx,00b00000
mov dword ptr ds:[edx],ebx
add edx,0x4
mov dword ptr ds:[00B40000],edx
popad
jmp 00B38FBC   


F4到 

00B38FDF   .  66:8B07       mov ax,word ptr ds:[edi]
00B38FE2   .  83C7 02       add edi,0x2
复制 出来保存bin

UPX2区块里找一片空白地方的地址
运行ReloREC  重定位表的修复

DLL 错误 不知那里出错了 大神给指点一下


这个程序  N年前的东西 如果你是作者 你也不介意吧!

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自校验在exe里,bp EndDialog你就知道了。
2012-6-27 22:10
0
雪    币: 194
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你那是脱壳机搞的 我的问题出在手稿上  修复到最后重定位错误! 迷惑!
2012-6-28 16:24
0
雪    币: 65
活跃值: (171)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
来看看这个.
2012-6-29 00:57
0
游客
登录 | 注册 方可回帖
返回
//