00402BA8 83F9 0B
cmp
ecx,0B
00402BAB 72 06 jb short CM1237.00402BB3
00402BAD FF15 48104000 call dword ptr ds:[<&MSVBVM60.__vbaGene>;
MSVBVM60.__vbaGenerateBoundsError
00402BB3 8B9E 94000000 mov ebx,dword ptr ds:[esi+94]
00402BB9 83FB 0B
cmp
ebx,0B
00402BBC 72 06 jb short CM1237.00402BC4
00402BBE FF15 48104000 call dword ptr ds:[<&MSVBVM60.__vbaGene>;
MSVBVM60.__vbaGenerateBoundsError
00402BC4 8BBE 94000000 mov edi,dword ptr ds:[esi+94]
00402BCA 83FF 0B
cmp
edi,0B
00402BCD 72 06 jb short CM1237.00402BD5
00402BCF FF15 48104000 call dword ptr ds:[<&MSVBVM60.__vbaGene>;
MSVBVM60.__vbaGenerateBoundsError
00402BD5 8B46 68 mov eax,dword ptr ds:[esi+68] ; 假码:1234567890;
00402BD8 8B4E 4C mov ecx,dword ptr ds:[esi+4C] ; 用户明:8JAD8K7CZW;
00402BDB 66:8B1458 mov dx,word ptr ds:[eax+ebx*2] ; 取注册码(1234567890)每
个字符的UNICODE值传递给DX;
00402BDF 8B85 BCFEFFFF mov eax,dword ptr ss:[ebp-144] ; 循环记次数;
00402BE5 66:331441 xor dx,word ptr ds:[ecx+eax*2] ; 取用户名每个字符的
UNICODE与DX的值XOR;
00402BE9 8B8E 84000000 mov ecx,dword ptr ds:[esi+84] ; 把XOR后的数值转换为字符
串给ECX;
00402BEF 66:891479 mov word ptr ds:[ecx+edi*2],dx ; XOR所得数值(DX)转换好放
在[ECX+EDI*2]这地址上;
00402BF3 8B96 94000000 mov edx,dword ptr ds:[esi+94] ; 记次数给EDX;
00402BF9 83C2 01 add edx,1 ; EDX加1;