-
-
[讨论]WinUpack0.399中奇怪的代码
-
发表于:
2007-3-26 19:52
6543
-
这些代码很奇特?不知道是干什么用的?只知道这代码中和区段“PS??纭庇泄亍!!?
L000:
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [ebp+5A], cl
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword ptr [edx]
inc esp
dec esp
dec esp
add byte ptr [eax], al
push eax
inc ebp
add byte ptr [eax], al
dec esp
add dword ptr [ebx], eax
add byte ptr [esi], bh
lods dword ptr [esi]
push eax
push dword ptr [esi+34]
jmp L099
dec eax
add dword ptr [edi], ecx
add dword ptr [ebx], ecx
add dword ptr [edi+ebp*2+61], ecx
dec esp
imul esp, dword ptr [edx+72], 41797261
add byte ptr [eax], al
sbb byte ptr [eax], dl
add byte ptr [eax], al
adc byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], dl
add byte ptr [eax], al
add byte ptr [edx], al
add byte ptr [eax], al
add al, 0
add byte ptr [eax], al
add byte ptr [eax], al
cmp al, byte ptr [eax]
add al, 0
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [edx], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
or al, byte ptr [eax]
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
adc al, 0
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
L099:
push dword ptr [esi+38]
lods dword ptr [esi]
push eax
mov edi, dword ptr [esi]
mov esi, 0
push 27
pop ecx
rep movs dword ptr es:[edi], dword ptr [esi]
push dword ptr [esi+4]
or eax, FFFFFFFF
mov ebx, edi
stos dword ptr es:[edi]
jmp L125
add byte ptr [eax], al
add byte ptr [eax], al
inc edi
je L2147324100
jb L2147324100
arpl word ptr [ecx+64], ax
jb L170
jnb L179
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
add byte ptr [eax], al
L125:
inc eax
stos dword ptr es:[edi]
inc eax
mov cl, 4
rep stos dword ptr es:[edi]
shl eax, 0A
mov ch, 4
rep stos dword ptr es:[edi]
mov edi, dword ptr [esi+C]
push edi
push ecx
jmp L137
L137:
push esi
adc dl, ah
jecxz L2147324100
add al, 0D3
loopdne L2147324100
call 3358F57B
rcl byte ptr [ebp+40], 51
shl eax, cl
mov ebp, edx
xchg eax, ecx
call dword ptr [esi+4C]
cdq
pop ecx
L150:
shr eax, 1
adc edx, edx
loopd L150
pop ebp
add ebp, edx
inc ebp
pop ecx
mov dword ptr [ebx+8], ebp
push esi
mov esi, edi
sub esi, ebp
rep movs byte ptr es:[edi], byte ptr [esi]
lods byte ptr [esi]
pop esi
mov cl, 80
stos byte ptr es:[edi]
cmp edi, dword ptr [esi+34]
jb L000
pop eax
pop edi
L170:
pop ecx
jecxz L186
L172:
mov al, byte ptr [edi]
L173:
inc edi
add al, 18
cmp al, 2
jnb L172
mov eax, dword ptr [edi]
cmp al, 0
L179:
jnz L173
mov al, 0
bswap eax
add eax, dword ptr [esi+38]
sub eax, edi
stos dword ptr es:[edi]
loopd L172
L186:
pop esi
pop ebp
L188:
pop ecx
inc esi
lods dword ptr [esi]
test eax, eax
je L213
push ecx
push esi
xchg eax, edi
call ecx
xchg eax, ebx
L198:
lods byte ptr [esi]
test al, al
jnz L198
cmp byte ptr [esi], al
je L188
mov eax, esi
jns L208
inc esi
xor eax, eax
lods word ptr [esi]
L208:
//这里就是区段“PS??纭保?坪跤肭etProcAddress有关。。
push eax
push ebx
call ebp
stos dword ptr es:[edi]
jmp L198
L213:
retn
[课程]FART 脱壳王!加量不加价!FART作者讲授!