[Asm] 纯文本查看 复制代码
regkey proc hWin
LOCAl @szSn1 :byte
LOCAl @szSn2 :byte
LOCAl @szSn3 :byte
LOCAl @szSn4 :byte
LOCAl @szSn5 :byte
LOCAl @szSn6 :byte
LOCAl @szSn7 :byte
LOCAl @szSn8 :byte
push ebp
mov ebp,esp
sub esp,20h
xor esi,esi
push 1
push 0
push 1
lea eax,offset username
push eax
call Generate
mov edx,ecx
;##############################################################################################################################################################################
mov @szSn5,dl ;注册码5
movzx ebx,[@szSn5]
invoke dw2hstr,ebx,addr szSn5
xor EBX,EBX
;###############################################################################################################################################
mov ecx, edx
shr ecx, 8
;cmp bh, cl ;注册码6
mov @szSn6,cl
movzx ebx,[@szSn6]
invoke dw2hstr,ebx,addr szSn6
xor ebx,ebx
;jnz short loc_10D5A3A ;注册码6
;##############################################################################################################################################################################
mov ecx, edx
shr ecx, 10h
;cmp [ebp+var_1E], cl ;注册码7
mov @szSn7, cl ;注册码7
movzx ebx,[@szSn7]
invoke dw2hstr,ebx,addr szSn7
xor ebx,ebx
;jnz short loc_10D5A3A
;##############################################################################################################################################################################
shr eax, 18h
;cmp [ebp+var_1D], al
mov @szSn8, al ;注册码8
movzx ebx,[@szSn8]
invoke dw2hstr,ebx,addr szSn8
xor ebx,ebx
;jnz short loc_10D5A3A
;##############################################################################################################################################################################
mov szSn4, 9Ch ;注册码4
;jnz short loc_10D59E8
;mov eax, [ebp+arg_0]
movzx ebx,szSn4
invoke dw2hstr,ebx,addr szSn4
xor ebx,ebx
;##############################################################################################################################################################################
xor esi,esi
mov esi,9E67h
a1:
push esi
call sub_10D4BD0
movzx eax,ax
cmp eax,1
jz a2
inc esi
jmp a1
a2:
mov ser,esi
mov edx,esi
;##############################################################################################################################################################################
;注册码1
mov ebx,esi
and ebx,0FFH
mov @szSn1,bl
mov bl,[@szSn7]
xor @szSn1,bl
movzx ebx,@szSn1
invoke dw2hstr,ebx,addr szSn1
xor ebx,ebx
;##############################################################################################################################################################################
;注册码2
shr edx,8
xor dl,[@szSn8]
mov @szSn2,dl
movzx ebx,[@szSn2]
invoke dw2hstr,ebx,addr szSn2
xor ebx,ebx
;##############################################################################################################################################################################
;注册码3
and ser,0FFH
mov edx,ser
mov @szSn3,dl
mov bl,[@szSn6]
xor @szSn3,bl
movzx ebx,@szSn3
invoke dw2hstr,ebx,addr szSn3
xor ebx,ebx
;##############################################################################################################################################################################
invoke RtlZeroMemory,addr serial,sizeof serial
invoke strcat,addr serial ,addr szSn1
invoke strcat,addr serial ,addr szSn2
invoke strcat,addr serial ,addr szSeparate
invoke strcat,addr serial ,addr szSn3
invoke strcat,addr serial ,addr szSn4
invoke strcat,addr serial ,addr szSeparate
invoke strcat,addr serial ,addr szSn5
invoke strcat,addr serial ,addr szSn6
invoke strcat,addr serial ,addr szSeparate
invoke strcat,addr szserial ,addr szSn7
invoke strcat,addr szserial ,addr szSn8
leave
ret
regkey endp
sub_10D4BD0 proc near
arg_0 =dword ptr 8
push ebp
mov ebp,esp
mov eax,[ebp+arg_0]
mov ecx,0Bh
xor eax,7892h
add eax,4D30h
xor eax,3421h
movzx eax,ax
cdq
idiv ecx
test edx,edx
jz short loc_10D4BF6
xor eax,eax
loc_10D4BF6:
pop ebp
retn
sub_10D4BD0 endp
Generate proc
var_10 =dword ptr -10h
var_C =dword ptr -0Ch
var_8 =dword ptr -8
var_4 =dword ptr -4
arg_0 =dword ptr 8
arg_4 =dword ptr 0Ch
arg_8 =dword ptr 10h
arg_C =dword ptr 14Ch
push ebp
mov ebp, esp
sub esp, 10
mov [ebp+arg_C],1
mov edx, [ebp+arg_0]
xor ecx, ecx
push esi
mov esi, edx
mov [ebp+var_4], ecx
push edi
lea edi, dword ptr ds:[esi+1]
loc_10D4CE5: ; CODE XREF: sub_10D4CD0+1Aj
mov al,byte ptr ds:[esi]
inc esi
test al, al
jnz short loc_10D4CE5
sub esi, edi
xor edi, edi
test esi, esi
jle loc_10D4DE8
push ebx
mov ebx, [ebp+arg_C]
mov [ebp+var_10], ecx
mov [ebp+var_C], ecx
mov ecx, [ebp+arg_8]
shl ebx, 4
sub ebx, [ebp+arg_C]
shl ecx, 4
add ecx, [ebp+arg_8]
mov [ebp+var_8], ecx
loc_10D4D14: ; CODE XREF: sub_10D4CD0+10Bj
movzx eax, byte ptr [edi+edx]
push eax ; C
cinvoke _mbctoupper
mov ecx,eax
call _toupper
mov edx, eax
add esp, 4
mov ecx, dword_26B90E0[edx*4]
add ecx, [ebp+var_4]
cmp [ebp+arg_4], 0
jz short loc_10D4D7E
lea eax, [edx+0Dh]
and eax, 0FFh
xor ecx, dword_26B90E0[eax*4]
lea eax, [edx+2Fh]
and eax, 0FFh
imul ecx, dword_26B90E0[eax*4]
mov eax, [ebp+var_8]
movzx eax, al
add ecx, dword_26B90E0[eax*4]
movzx eax,bl
add ecx, dword_26B90E0[eax*4]
mov eax, [ebp+var_C]
movzx eax, al
add ecx, dword_26B90E0[eax*4]
mov eax, ecx
mov [ebp+var_4], eax
jmp short loc_10D4DC6
pop eax
; ---------------------------------------------------------------------------
loc_10D4D7E: ; CODE XREF: sub_10D4CD0+62j
lea eax, [edx+3Fh]
and eax, 0FFh
xor ecx, dword_26B90E0[eax*4]
lea eax, [edx+17h]
and eax, 0FFh
imul ecx, dword_26B90E0[eax*4]
mov eax, [ebp+var_8]
movzx eax, al
add ecx, dword_26B90E0[eax*4]
movzx eax, bl
add ecx, dword_26B90E0[eax*4]
mov eax, [ebp+var_10]
movzx eax, al
add ecx, dword_26B90E0[eax*4]
mov eax, ecx
mov [ebp+var_4], ecx
loc_10D4DC6: ; CODE XREF: sub_10D4CD0+ACj
add [ebp+var_C], 13h
inc edi
add [ebp+var_8], 9
add ebx, 0Dh
add [ebp+var_10], 7
mov edx, [ebp+arg_0]
cmp edi, esi
jl loc_10D4D14
;mov [serial],eax
pop ebx
pop edi
pop esi
;pop eax
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_10D4DE8: ; CODE XREF: sub_10D4CD0+22j
pop edi
mov eax, ecx
pop esi
mov esp, ebp
pop ebp
ret
Generate endp