能力值:
( LV9,RANK:3410 )
|
-
-
2 楼
LyricsII.dll
PECompact V2.X-> Bitsum Technologies
|
能力值:
( LV6,RANK:90 )
|
-
-
3 楼
这个问题我问我同事了,他说fly老大可以帮忙,小虾不敢劳烦fly,发了贴子希望有其他的大大帮我,还是fly热心,谢谢,
我用OD跟了一段.跟到77F8EB45处EDX值为"ompact2",猜是PECompact,又不敢确定.
|
能力值:
( LV6,RANK:90 )
|
-
-
4 楼
试了一下手动脱壳:
用OD加载那个DLL来到
77E7175C K> 55 push ebp ; oleaut32.77A1C590
77E7175D 8BEC mov ebp,esp
77E7175F FF75 14 push dword ptr ss:[ebp+14]
77E71762 FF75 10 push dword ptr ss:[ebp+10]
77E71765 FF75 0C push dword ptr ss:[ebp+C]
77E71768 FF75 08 push dword ptr ss:[ebp+8]
77E7176B 6A FF push -1
77E7176D E8 04000000 call KERNEL32.VirtualAllocEx
77E71772 5D pop ebp
77E71773 C2 1000 retn 10
77E71776 K> 55 push ebp
然后按照教程 bp VirtualAlloc没有断点 改成 bp VirtualAllocEx 断在77E71776 ,按F9运行,中断以后,取消断点,按CTRL+F9两次,回到
77E71773
寄存器中的值为:
EAX 007B0000
ECX 0006FC34
EDX FFFFFFFF
EBX 77990000 offset oleaut32.#345
ESP 0006FB60
EBP 77A1C590 oleaut32.77A1C590
ESI 00000001
EDI 77E7175C KERNEL32.VirtualAlloc
EIP 77E71773 KERNEL32.77E71773
然后我就不知道怎么办了。
|
能力值:
( LV9,RANK:3410 )
|
-
-
5 楼
先去用PECompact加壳记事本练习脱壳
EXE脱熟悉了再去搞DLL脱壳
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
fly老大,你的论坛怎么没开了?
前阵子不能注册,现在怎么就打不开了?
|
能力值:
( LV6,RANK:90 )
|
-
-
7 楼
fly老大:
OD载入以后,停在这儿,我自己理解是壳先从内存分配一块内存,然后把压缩的代码解压出来,这个地方的ESP=0006FB5C是做什么用的啊.能否给我讲一讲?
77E7175C K> 55 push ebp ; oleaut32.77A1C590
77E7175D 8BEC mov ebp,esp
77E7175F FF75 14 push dword ptr ss:[ebp+14]
77E71762 FF75 10 push dword ptr ss:[ebp+10]
77E71765 FF75 0C push dword ptr ss:[ebp+C]
77E71768 FF75 08 push dword ptr ss:[ebp+8]
77E7176B 6A FF push -1
77E7176D E8 04000000 call KERNEL32.VirtualAllocEx
77E71772 5D pop ebp
77E71773 C2 1000 retn 10
|
能力值:
(RANK:650 )
|
-
-
8 楼
00407E90 55 push ebp
00407E91 8BEC mov ebp,esp
00407E93 83C4 E8 add esp,-18
00407E96 53 push ebx
00407E97 56 push esi
00407E98 57 push edi
00407E99 33C0 xor eax,eax ; Start.00407E90
00407E9B 8945 EC mov dword ptr ss:[ebp-14],eax ; Start.00407E90
00407E9E 8945 E8 mov dword ptr ss:[ebp-18],eax ; Start.00407E90
00407EA1 B8 507E4000 mov eax,Start.00407E50
00407EA6 E8 C5C6FFFF call Start.00404570
00407EAB 33C0 xor eax,eax ; Start.00407E90
00407EAD 55 push ebp
00407EAE 68 7D7F4000 push Start.00407F7D
00407EB3 64:FF30 push dword ptr fs:[eax]
|
能力值:
( LV6,RANK:90 )
|
-
-
9 楼
谢谢楼上的给出答案,能不能写一下过程啊.
|
能力值:
(RANK:650 )
|
-
-
10 楼
就是pecompact
看雪精华
|
能力值:
( LV6,RANK:90 )
|
-
-
11 楼
根据
http://bbs.pediy.com/showthread.php?s=&threadid=13460
这个贴子,我自己找到了OEP了.贴出过程来.
od载入
0079D784 696E 67 0000B>imul ebp,dword ptr ds:[esi+67],24B>
0079D78B E4 79 in al,79
0079D78D 0050 64 add byte ptr ds:[eax+64],dl
0079D790 FF35 00000000 push dword ptr ds:[0]
0079D796 64:8925 00000>mov dword ptr fs:[0],esp
0079D79D 33C0 xor eax,eax
0079D79F 8908 mov dword ptr ds:[eax],ecx
0079D7A1 50 push eax
下断点:BP VirtualFree (这个断点好啊)。 中断后,取消断点,Ctrl+F9两次。
然后,ctrl+f ,查找 push 8000(特征处)。
00BB09B1 03C7 add eax,edi
00BB09B3 68 00800000 push 8000
00BB09B8 6A 00 push 0
00BB09BA FFB5 9B1D0010 push dword ptr ss:[ebp+10001D9B]
00BB09C0 FF10 call dword ptr ds:[eax]
00BB09C2 8B46 0C mov eax,dword ptr ds:[esi+C]
00BB09C5 03C7 add eax,edi
00BB09C7 5D pop ebp
00BB09C8 5E pop esi
00BB09C9 5F pop edi
00BB09CA 5B pop ebx
00BB09CB C3 retn ////此处f2 ,下断
f9 ,运行,此时断了。单步f7,来到
0079E4D1 8985 D0120010 mov dword ptr ss:[ebp+100012D0],ea>; gen_Lyri.00794868
0079E4D7 8BF0 mov esi,eax
0079E4D9 59 pop ecx
0079E4DA 5A pop edx
0079E4DB EB 0C jmp short gen_Lyri.0079E4E9
0079E4DD 03CA add ecx,edx
0079E4DF 68 00800000 push 8000
0079E4E4 6A 00 push 0
0079E4E6 57 push edi
0079E4E7 FF11 call dword ptr ds:[ecx]
0079E4E9 8BC6 mov eax,esi
0079E4EB 5A pop edx
0079E4EC 5E pop esi
0079E4ED 5F pop edi
0079E4EE 59 pop ecx
0079E4EF 5B pop ebx
0079E4F0 5D pop ebp
0079E4F1 FFE0 jmp eax /////跳到oep
|
|
|