好友
阅读权限255
听众
最后登录1970-1-1
|
Hmily
发表于 2008-3-25 22:46
【文章标题】: Reloz1.0 试脱(eXPressor.Protection V1.6.0.1)
【文章作者】: a__p [CUG]
【作者邮箱】: a__p@163.com
【作者主页】: http://www.unpack.cn
【作者QQ号】: xxxxxxx
【软件名称】: Reloz1.0
【下载地址】: 自己搜索下载
【保护方式】: eXPressor.Protection V1.6.0.1
【使用工具】: OD,UIF,LoadPE,ImporptREC
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
PEID扫描:eXPressor.Protection V1.6.0.1 -> CGSoftLabs * Sign.By.fly * 20080308 *
1、F8一下, HR ESP
00413000 > 68 92944100 push 00419492 ; F8一下
00413005 C3 retn ; HR ESP
00413006 02048A add al,byte ptr ds:[edx+ecx*4]
00413009 A0 000A9682 mov al,byte ptr ds:[82960A00]
0041300E B4 7E mov ah,7E
00413010 64:17 pop ss ; 段寄存器更改
00413012 2E:BB E193D89B mov ebx,9BD893E1 ; 多余的前缀
00413018 D6 salc
00413019 01ED add ebp,ebp
0041301B AE scas byte ptr es:[edi]
0041301C 64:2285 4A87BB37 and al,byte ptr fs:[ebp+37BB874A]
00413023 8E71 EA mov seg?,word ptr ds:[ecx-16] ; 未定义的段寄存器
00413026 1D 0FE3C6CD sbb eax,CDC6E30F
0041302B 89E4 mov esp,esp
2、BP VirtualProtect 后F9,注意看堆栈出现Size = 1000 时停止。
0012F658 00B7A669 /CALL 到 VirtualProtect 来自 00B7A666
0012F65C 7C80A7D4 |Address = kernel32.GetLocalTime
0012F660 00001000 |Size = 1000 (4096.) ;看这里。
0012F664 00000020 |NewProtect = PAGE_EXECUTE_READ
0012F668 0012F6B0 \pOldProtect = 0012F6B0
0012F66C 7C930738 ntdll.7C930738
3、BP GetProcAddress , RET返回,F8几下,直到出现下面代码:
00B62CC3 81BD 5CFDFFFF AF027294 cmp dword ptr ss:[ebp-2A4],947202AF
00B62CCD 74 24 je short 00B62CF3 ;不能跳,NOP
00B62CCF 81BD 5CFDFFFF 3B1032E3 cmp dword ptr ss:[ebp-2A4],E332103B
00B62CD9 74 18 je short 00B62CF3 ;不能跳,NOP
00B62CDB 81BD 5CFDFFFF AB1CA7D7 cmp dword ptr ss:[ebp-2A4],D7A71CAB
00B62CE5 74 0C je short 00B62CF3 ;不能跳,NOP
00B62CE7 81BD 5CFDFFFF 3C7C33B6 cmp dword ptr ss:[ebp-2A4],B6337C3C
00B62CF1 75 2A jnz short 00B62D1D ;不能跳,NOP
00B62CF3 EB 01 jmp short 00B62CF6
00B62CF5 EA FFB5D0FD FFFF jmp far FFFF:FDD0B5FF ; 远跳转
00B62CFC FFB5 58FDFFFF push dword ptr ss:[ebp-2A8]
00B62D02 E8 ED120000 call 00B63FF4
00B62D07 59 pop ecx
00B62D08 59 pop ecx
00B62D09 85C0 test eax,eax
4、一路F9,直到出现OEP为止,删除硬件断点后用 UIF,输入进程ID后修复。
0040B2CD > 8BEC mov ebp,esp ;OEP
0040B2CF 83C4 F0 add esp,-10
0040B2D2 B8 7CB24000 mov eax,0040B27C
0040B2D7 E8 048FFFFF call 004041E0
0040B2DC A1 70C44000 mov eax,dword ptr ds:[40C470]
0040B2E1 33D2 xor edx,edx
0040B2E3 E8 DCDFFFFF call 004092C4
0040B2E8 A1 70C44000 mov eax,dword ptr ds:[40C470]
0040B2ED 8B00 mov eax,dword ptr ds:[eax]
0040B2EF 83C0 18 add eax,18
0040B2F2 E8 E1BCFFFF call 00406FD8
0040B2F7 E8 1C80FFFF call 00403318
0040B2FC 0000 add byte ptr ds:[eax],al
0040B2FE 0000 add byte ptr ds:[eax],al
0040B300 0000 add byte ptr ds:[eax],al
UIF 修复记录(勾选:Fix Directiy Imports / Fix NtDll to Kernel32)
Fixing Success...
Fixed Module : Reloz.exe
Image Base : 00400000
IAT RVA : 00650000
IAT Size : 0000024C
Normal Imports : 148
Directly Imports : 0
All Imports : 148
5、LoadPE 修正镜像后DUMP,ImporptREC修复(输入UIF修复后的IAT RVA : 00650000 IAT Size : 0000024C)即可。
--------------------------------------------------------------------------------
【经验总结】
eXPressor.Protection V1.6.0.1 最近看到加此壳比较常见,大多为外挂、木马。。。。
Reloz1.0 是个非常不错的工具!
--------------------------------------------------------------------------------
【版权声明】: 本文原创于一蓑烟雨技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2008年03月25日 22:17:52 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|