求扫雷程序反汇编 要注释
0100367A /$ A1 AC560001 MOV EAX,DWORD PTR DS:[10056AC] 0100367F |。 8B0D A8560001 MOV ECX,DWORD PTR DS:[10056A8] 01003685 |。 53 PUSH EBX 01003686 |。 56 PUSH ESI 01003687 |。 57 PUSH EDI 01003688 |。 33FF XOR EDI,EDI 0100368A |。 3B05 345300...全部
0100367A /$ A1 AC560001 MOV EAX,DWORD PTR DS:[10056AC] 0100367F |。 8B0D A8560001 MOV ECX,DWORD PTR DS:[10056A8] 01003685 |。
53 PUSH EBX 01003686 |。 56 PUSH ESI 01003687 |。 57 PUSH EDI 01003688 |。
33FF XOR EDI,EDI 0100368A |。 3B05 34530001 CMP EAX,DWORD PTR DS:[1005334] 01003690 |。
893D 64510001 MOV DWORD PTR DS:[1005164],EDI 01003696 |。 75 0C JNZ SHORT winmine。010036A4 01003698 |。
3B0D 38530001 CMP ECX,DWORD PTR DS:[1005338] 0100369E |。 75 04 JNZ SHORT winmine。010036A4 010036A0 |。
6A 04 PUSH 4 010036A2 |。 EB 02 JMP SHORT winmine。010036A6 010036A4 |> 6A 06 PUSH 6 010036A6 |> 5B POP EBX 010036A7 |。
A3 34530001 MOV DWORD PTR DS:[1005334],EAX 010036AC |。 890D 38530001 MOV DWORD PTR DS:[1005338],ECX 010036B2 |。
E8 1EF8FFFF CALL winmine。01002ED5 010036B7 |。 A1 A4560001 MOV EAX,DWORD PTR DS:[10056A4] 010036BC |。
893D 60510001 MOV DWORD PTR DS:[1005160],EDI 010036C2 |。 A3 30530001 MOV DWORD PTR DS:[1005330],EAX 010036C7 |> FF35 34530001 PUSH DWORD PTR DS:[1005334] 010036CD |。
E8 6E020000 CALL winmine。01003940; call winmine!Rnd (01003940) ;随机产生x 010036D2 |。 FF35 38530001 PUSH DWORD PTR DS:[1005338] 010036D8 |。
8BF0 MOV ESI,EAX 010036DA |。 46 INC ESI 010036DB |。 E8 60020000 CALL winmine。
01003940;call winmine!Rnd (01003940) ;随机产生y 010036E0 |。 40 INC EAX 010036E1 |。
8BC8 MOV ECX,EAX 010036E3 |。 C1E1 05 SHL ECX,5 010036E6 |。 F68431 405300>TEST BYTE PTR DS:[ECX ESI 1005340],80 ;测试是否布上雷(是否被设置) 010036EE |。
^ 75 D7 JNZ SHORT winmine。010036C7 010036F0 |。 C1E0 05 SHL EAX,5 010036F3 |。 8D8430 405300>LEA EAX,DWORD PTR DS:[EAX ESI 1005340] 010036FA |。
8008 80 OR BYTE PTR DS:[EAX],80 ;设置地雷 010036FD |。 FF0D 30530001 DEC DWORD PTR DS:[1005330] 01003703 |。
^ 75 C2 JNZ SHORT winmine。010036C7 01003705 |。 8B0D 38530001 MOV ECX,DWORD PTR DS:[1005338] 0100370B |。
0FAF0D 345300>IMUL ECX,DWORD PTR DS:[1005334] 01003712 |。 A1 A4560001 MOV EAX,DWORD PTR DS:[10056A4] 01003717 |。
2BC8 SUB ECX,EAX 01003719 |。 57 PUSH EDI 0100371A |。 893D 9C570001 MOV DWORD PTR DS:[100579C],EDI 01003720 |。
A3 30530001 MOV DWORD PTR DS:[1005330],EAX 01003725 |。 A3 94510001 MOV DWORD PTR DS:[1005194],EAX 0100372A |。
893D A4570001 MOV DWORD PTR DS:[10057A4],EDI 01003730 |。 890D A0570001 MOV DWORD PTR DS:[10057A0],ECX 01003736 |。
C705 00500001>MOV DWORD PTR DS:[1005000],1 01003740 |。 E8 25FDFFFF CALL winmine。0100346A 01003745 |。
53 PUSH EBX ; /Arg1 01003746 |。 E8 05E2FFFF CALL winmine。
01001950 ; winmine。01001950 0100374B |。 5F POP EDI 0100374C |。
5E POP ESI 0100374D |。 5B POP EBX 0100374E 。 C3 RETN 希望对你有帮助。
收起