[Asm] 纯文本查看 复制代码
010D584D | 8A 5D DF | mov bl,byte ptr ss:[ebp-21] |
010D5850 | 8A 7D E1 | mov bh,byte ptr ss:[ebp-1F] |
010D5853 | 80 FB 9C | cmp bl,9C | ;密码第2组第2位是否为9C
010D5856 | 75 70 | jne 010editor1.10D58C8 |
010D5858 | 8A 45 DC | mov al,byte ptr ss:[ebp-24] | 密码第一组第1位
010D585B | 32 45 E2 | xor al,byte ptr ss:[ebp-1E] | 密码第一组第1位 xor 密码第四组第一位
010D585E | 88 45 E8 | mov byte ptr ss:[ebp-18],al |
010D5861 | 8A 45 DD | mov al,byte ptr ss:[ebp-23] |
010D5864 | 32 45 E3 | xor al,byte ptr ss:[ebp-1D] | 密码第一组第2位 xor 密码第四组第2位
010D5867 | FF 75 E8 | push dword ptr ss:[ebp-18] |
010D586A | 0F B6 C8 | movzx ecx,al |
010D586D | B8 00 01 00 00 | mov eax,100 |
010D5872 | 66 0F AF C8 | imul cx,ax |
010D5876 | 8A 45 DE | mov al,byte ptr ss:[ebp-22] | 密码第二组第1位
010D5879 | 32 C7 | xor al,bh | 密码第二组第1位 xor 密码第三组第2位
010D587B | 0F B6 C0 | movzx eax,al |
010D587E | 66 03 C8 | add cx,ax |
010D5881 | 0F B7 F1 | movzx esi,cx |
010D5884 | E8 6F 1E 33 FF | call 010editor1.4076F8 | ;算法1,结果必须为0xFC
010D5889 | 0F B6 C0 | movzx eax,al |
010D588C | 56 | push esi |
010D588D | 89 47 1C | mov dword ptr ds:[edi+1C],eax |
010D5890 | E8 B6 2A 33 FF | call 010editor1.40834B | ;算法2,eax必须为小于等于0x3E8
010D5895 | 8B 4F 1C | mov ecx,dword ptr ds:[edi+1C] |
010D5898 | 83 C4 08 | add esp,8 |
010D589B | 0F B7 C0 | movzx eax,ax |
010D589E | 89 47 20 | mov dword ptr ds:[edi+20],eax | edi+20:L"χ"
010D58A1 | 85 C9 | test ecx,ecx |
010D58A3 | 0F 84 BC 01 00 00 | je 010editor1.10D5A65 |
010D58A9 | 85 C0 | test eax,eax |
010D58AB | 0F 84 B4 01 00 00 | je 010editor1.10D5A65 |
010D58B1 | 3D E8 03 00 00 | cmp eax,3E8 | ;eax必须为小于等于0x3E8
010D58B6 | 0F 87 A9 01 00 00 | ja 010editor1.10D5A65 |
010D58BC | 83 F9 02 | cmp ecx,2 |
010D58BF | 1B F6 | sbb esi,esi |
010D58C1 | 23 F1 | and esi,ecx |
010D58C3 | E9 B3 00 00 00 | jmp 010editor1.10D597B |
010D58C8 | 80 FB FC | cmp bl,FC |
010D58CB | 75 1F | jne 010editor1.10D58EC |
010D58CD | C7 47 1C FF 00 00 00 | mov dword ptr ds:[edi+1C],FF |
010D58D4 | BE FF 00 00 00 | mov esi,FF |
010D58D9 | C7 47 20 01 00 00 00 | mov dword ptr ds:[edi+20],1 | edi+20:L"χ"
010D58E0 | C7 47 30 01 00 00 00 | mov dword ptr ds:[edi+30],1 |
010D58E7 | E9 8F 00 00 00 | jmp 010editor1.10D597B |
010D58EC | 80 FB AC | cmp bl,AC |
010D58EF | 0F 85 70 01 00 00 | jne 010editor1.10D5A65 |
010D58F5 | 8A 45 DD | mov al,byte ptr ss:[ebp-23] |
010D58F8 | 32 45 E3 | xor al,byte ptr ss:[ebp-1D] |
010D58FB | 0F B6 C8 | movzx ecx,al |
010D58FE | B8 00 01 00 00 | mov eax,100 |
010D5903 | 66 0F AF C8 | imul cx,ax |
010D5907 | 8A 45 DE | mov al,byte ptr ss:[ebp-22] |
010D590A | 32 C7 | xor al,bh |
010D590C | C7 47 1C 02 00 00 00 | mov dword ptr ds:[edi+1C],2 |
010D5913 | 0F B6 C0 | movzx eax,al |
010D5916 | 66 03 C8 | add cx,ax |
010D5919 | 0F B7 C1 | movzx eax,cx |
010D591C | 50 | push eax |
010D591D | E8 29 2A 33 FF | call 010editor1.40834B | ;算法2
010D5922 | 0F B7 C0 | movzx eax,ax |
010D5925 | 83 C4 04 | add esp,4 |
010D5928 | 89 47 20 | mov dword ptr ds:[edi+20],eax | edi+20:L"χ"
010D592B | 85 C0 | test eax,eax |
010D592D | 0F 84 32 01 00 00 | je 010editor1.10D5A65 |
010D5933 | 3D E8 03 00 00 | cmp eax,3E8 |
010D5938 | 0F 87 27 01 00 00 | ja 010editor1.10D5A65 |
010D593E | 0F B6 55 E5 | movzx edx,byte ptr ss:[ebp-1B] |
010D5942 | 0F B6 4D E0 | movzx ecx,byte ptr ss:[ebp-20] |
010D5946 | 0F B6 C7 | movzx eax,bh |
010D5949 | 33 D0 | xor edx,eax |
010D594B | 0F B6 45 E4 | movzx eax,byte ptr ss:[ebp-1C] |
010D594F | 33 C8 | xor ecx,eax |
010D5951 | C1 E2 08 | shl edx,8 |
010D5954 | 0F B6 45 E2 | movzx eax,byte ptr ss:[ebp-1E] |
010D5958 | 03 D1 | add edx,ecx |
010D595A | 0F B6 4D DC | movzx ecx,byte ptr ss:[ebp-24] |
010D595E | C1 E2 08 | shl edx,8 |
010D5961 | 33 C8 | xor ecx,eax |
010D5963 | 03 D1 | add edx,ecx |
010D5965 | 68 27 8C 5B 00 | push 010editor1.5B8C27 |
010D596A | 52 | push edx |
010D596B | E8 7E 4A 33 FF | call 010editor1.40A3EE |
010D5970 | 83 C4 08 | add esp,8 |
010D5973 | 89 45 F0 | mov dword ptr ss:[ebp-10],eax |
010D5976 | 89 47 34 | mov dword ptr ds:[edi+34],eax |
010D5979 | 8B F0 | mov esi,eax |
010D597B | 8D 45 EC | lea eax,dword ptr ss:[ebp-14] |
010D597E | 50 | push eax |
010D597F | 8D 4F 04 | lea ecx,dword ptr ds:[edi+4] | edi+4:"若&"
010D5982 | FF 15 D4 7A 6C 02 | call dword ptr ds:[<&public: clas |
010D5988 | FF 77 20 | push dword ptr ds:[edi+20] | edi+20:L"χ"
010D598B | 33 C0 | xor eax,eax |
010D598D | C7 45 FC 00 00 00 00 | mov dword ptr ss:[ebp-4],0 |
010D5994 | 80 FB FC | cmp bl,FC |
010D5997 | 8D 4D EC | lea ecx,dword ptr ss:[ebp-14] |
010D599A | 56 | push esi |
010D599B | 0F 95 C0 | setne al |
010D599E | 50 | push eax |
010D599F | FF 15 90 74 6C 02 | call dword ptr ds:[<&public: char |
010D59A5 | 50 | push eax |
010D59A6 | E8 39 D2 32 FF | call 010editor1.402BE4 | ;算法3.根据用户名计算注册码
010D59AB | 8B D0 | mov edx,eax |
010D59AD | 83 C4 10 | add esp,10 |
010D59B0 | 38 55 E0 | cmp byte ptr ss:[ebp-20],dl | ;注册码第三组第一位
010D59B3 | 0F 85 81 00 00 00 | jne 010editor1.10D5A3A |
010D59B9 | 8B CA | mov ecx,edx |
010D59BB | C1 E9 08 | shr ecx,8 |
010D59BE | 3A F9 | cmp bh,cl | ;注册码第三组第二位
010D59C0 | 75 78 | jne 010editor1.10D5A3A |
010D59C2 | 8B CA | mov ecx,edx |
010D59C4 | C1 E9 10 | shr ecx,10 |
010D59C7 | 38 4D E2 | cmp byte ptr ss:[ebp-1E],cl | ;注册码第四组第一位
010D59CA | 75 6E | jne 010editor1.10D5A3A |
010D59CC | C1 E8 18 | shr eax,18 |
010D59CF | 38 45 E3 | cmp byte ptr ss:[ebp-1D],al | ;注册码第四组第二位
010D59D2 | 75 66 | jne 010editor1.10D5A3A |
010D59D4 | 80 FB 9C | cmp bl,9C | ;注册码第二组第二位
010D59D7 | 75 0F | jne 010editor1.10D59E8 |
010D59D9 | 8B 45 08 | mov eax,dword ptr ss:[ebp+8] |
010D59DC | 3B 47 1C | cmp eax,dword ptr ds:[edi+1C] |
010D59DF | 76 52 | jbe 010editor1.10D5A33 | ;必须跳转。