好友
阅读权限 10
听众
最后登录 1970-1-1
icer2
发表于 2010-1-17 01:35
本帖最后由 icer2 于 2010-1-17 01:53 编辑
大牛请Pass~~~ 吧
首先PEID查壳 ASPack 2.12 -> Alexey Solodovnikov [Overlay]
很简单的壳..
OD载入..
关键句: pushad .. OK ESP定律。
007B9001 > 60 pushad
007B9002 E8 03000000 call 永恒盛世.007B900A
007B9007 - E9 EB045D45 jmp 45D894F7
007B900C 55 push ebp
007B900D C3 retn
007B900E E8 01000000 call 永恒盛世.007B9014
007B9013 EB 5D jmp short 永恒盛世.007B9072
007B9015 BB EDFFFFFF mov ebx,-13
007B901A 03DD add ebx,ebp
007B901C 81EB 00903B00 sub ebx,3B9000
007B9022 83BD 22040000 0>cmp dword ptr ss:[ebp+422],0
007B9029 899D 22040000 mov dword ptr ss:[ebp+422],ebx
007B902F 0F85 65030000 jnz 永恒盛世.007B939A
007B9035 8D85 2E040000 lea eax,dword ptr ss:[ebp+42E]
007B903B 50 push eax
007B903C FF95 4D0F0000 call dword ptr ss:[ebp+F4D]
007B9042 8985 26040000 mov dword ptr ss:[ebp+426],eax
007B9048 8BF8 mov edi,eax
很快就到OEP了.. 单步走.
007B939F 50 push eax
007B93A0 0385 22040000 add eax,dword ptr ss:[ebp+422]
007B93A6 59 pop ecx
007B93A7 0BC9 or ecx,ecx
007B93A9 8985 A8030000 mov dword ptr ss:[ebp+3A8],eax
007B93AF 61 popad
007B93B0 75 08 jnz short 永恒盛世.007B93BA
007B93B2 B8 01000000 mov eax,1
007B93B7 C2 0C00 retn 0C
007B93BA 68 FC2F5200 push 永恒盛世.00522FFC
007B93BF C3 retn
007B93C0 8B85 26040000 mov eax,dword ptr ss:[ebp+426]
007B93C6 8D8D 3B040000 lea ecx,dword ptr ss:[ebp+43B]
007B93CC 51 push ecx
007B93CD 50 push eax
007B93CE FF95 490F0000 call dword ptr ss:[ebp+F49]
007B93D4 8985 55050000 mov dword ptr ss:[ebp+555],eax
007B93DA 8D85 47040000 lea eax,dword ptr ss:[ebp+447]
删除分析..
00522FFC 55 db 55 ; CHAR
'U'
00522FFD 8B db 8B
00522FFE EC db EC
00522FFF 83 db 83
00523000 C4 db C4
00523001 F0 db F0
00523002 B8 db B8
00523003 5C db 5C ; CHAR
'\'
00523004 14 db 14
00523005 52 db 52 ; CHAR
'R'
00523006 00 db 00
00523007 E8 db E8
00523008 00 db 00
00523009 41 db 41 ; CHAR
'A'
0052300A EE db EE
0052300B FF db FF
0052300C A1 db A1
0052300D 74 db 74 ; CHAR
't'
0052300E C2 db C2
0052300F 52 db 52 ; CHAR
'R'
00523010 00 db 00
00523011 8B db 8B
00523012 00 db 00
00523013 E8 db E8
00523014 2C db 2C ; CHAR
','
00523015 28 db 28 ; CHAR
'('
00523016 F5 db F5
典型的Borland Delphi 入口... OK 脱壳 ..
00522FFC 55 push ebp
00522FFD 8BEC mov ebp,esp
00522FFF 83C4 F0 add esp,-10
00523002 B8 5C145200 mov eax,永恒盛世.0052145C
00523007 E8 0041EEFF call 永恒盛世.0040710C
0052300C A1 74C25200 mov eax,dword ptr ds:[52C274]
00523011 8B00 mov eax,dword ptr ds:[eax]
00523013 E8 2C28F5FF call 永恒盛世.00475844
00523018 A1 74C25200 mov eax,dword ptr ds:[52C274]
0052301D 8B00 mov eax,dword ptr ds:[eax]
0052301F 33D2 xor edx,edx
00523021 E8 D622F5FF call 永恒盛世.004752FC
00523026 8B0D A4C05200 mov ecx,dword ptr ds:[52C0A4] ; 永恒盛
世.005331A0
0052302C A1 74C25200 mov eax,dword ptr ds:[52C274]
00523031 8B00 mov eax,dword ptr ds:[eax]
00523033 8B15 60BB5100 mov edx,dword ptr ds:[51BB60] ; 永恒盛
世.0051BBAC
00523039 E8 1E28F5FF call 永恒盛世.0047585C
0052303E 8B0D 80C45200 mov ecx,dword ptr ds:[52C480] ; 永恒盛
世.00532F0C
00523044 A1 74C25200 mov eax,dword ptr ds:[52C274]
00523049 8B00 mov eax,dword ptr ds:[eax]
0052304B 8B15 74245000 mov edx,dword ptr ds:[502474] ; 永恒盛
世.005024C0
00523051 E8 0628F5FF call 永恒盛世.0047585C
00523056 8B0D 2CC35200 mov ecx,dword ptr ds:[52C32C] ; 永恒盛
世.00533018
0052305C A1 74C25200 mov eax,dword ptr ds:[52C274]
发现没有OEP.. OK 我们用OD自带的插件 找下OEP入口..
OK找到OEP.. 122FFC. 这是为什么呢? 好, 我们打开内存看下基子.. 00400000
用00522FFC-00400000不就是 000122FFC了吗. OK 继续 用ImportREC修复.
OK 指针全部有效.. 选中修复文件.
打开修复好的文件. ??? 怎么全是白的?? 应该是在修复的过程中漏掉的数据..
OK我们用WinHex把原程序的数据复制下在补上去不就OK了?
1. 先用WinHex打开原程序. 从下网上翻(Ps: 很容易找漏 要注意.).. 一直找到上面全
是00 00 00 00的这段
OK 找到00073E00 这段.. 从最前面的第一个字节(2)开始右键 选块开始. 一直拖到最后
面一个字节(也就是001C3400最后一个7) 选块结束.. 再 编辑, 复制.
2. 再用WinHex 打开脱过壳的. 拉到最后面(003BFFF0).. 右键 编辑 粘贴 OK 保存就
可以了...
附上原程序和脱壳后的程序..
原程序: http://d.namipan.com/d/70c73046d426fae99d0ecf08a3e662f621f16aea0b341c00
脱壳: http://d.namipan.com/d/70f547586e8b58e6fe7dbf775d4520b4cd911fbd0bf65000
发帖前要善用【论坛搜索 】 功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。