看.Net加密解密书 看见说用editplus来看il的代码,于是去下载了个回来玩玩 发现要注册码,然后就发生了下面的一幕 004ABF90 . 81EC 34020000 SUB ESP,234 004ABF96 . A1 84455700 MOV EAX,DWORD PTR DS:[574584] 004ABF9B . 33C4 XOR EAX,ESP 004ABF9D . 898424 300200>MOV DWORD PTR SS:[ESP+230],EAX 004ABFA4 . 53 PUSH EBX 004ABFA5 . 55 PUSH EBP 004ABFA6 . 8D4424 08 LEA EAX,DWORD PTR SS:[ESP+8] 004ABFAA . 50 PUSH EAX 004ABFAB . 8BE9 MOV EBP,ECX 004ABFAD . 68 F4010000 PUSH 1F4 004ABFB2 . 8D4C24 4C LEA ECX,DWORD PTR SS:[ESP+4C] 004ABFB6 . 51 PUSH ECX 004ABFB7 . 8D95 C8000000 LEA EDX,DWORD PTR SS:[EBP+C8] 004ABFBD . 52 PUSH EDX 004ABFBE . E8 DDFEFFFF CALL editplus.004ABEA0 ; 用户名 004ABFC3 . 83C4 10 ADD ESP,10 004ABFC6 . 837C24 08 00 CMP DWORD PTR SS:[ESP+8],0 004ABFCB . 8BD8 MOV EBX,EAX 004ABFCD . 895C24 0C MOV DWORD PTR SS:[ESP+C],EBX 004ABFD1 . 0F84 20010000 JE editplus.004AC0F7 ; 失败 004ABFD7 . 57 PUSH EDI 004ABFD8 . 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+C] 004ABFDC . 50 PUSH EAX 004ABFDD . 6A 32 PUSH 32 004ABFDF . 8D4C24 1C LEA ECX,DWORD PTR SS:[ESP+1C] 004ABFE3 . 51 PUSH ECX 004ABFE4 . 8D55 74 LEA EDX,DWORD PTR SS:[EBP+74] 004ABFE7 . 52 PUSH EDX 004ABFE8 . E8 B3FEFFFF CALL editplus.004ABEA0 ; 密码 004ABFED . 8BF8 MOV EDI,EAX 004ABFEF . 8B4424 1C MOV EAX,DWORD PTR SS:[ESP+1C] 004ABFF3 . 83C4 10 ADD ESP,10 004ABFF6 . 85C0 TEST EAX,EAX 004ABFF8 . 0F84 F8000000 JE editplus.004AC0F6 ; 失败 004ABFFE . 56 PUSH ESI 004ABFFF . 33F6 XOR ESI,ESI 004AC001 . 85C0 TEST EAX,EAX 004AC003 . 7E 52 JLE SHORT editplus.004AC057 004AC005 . EB 09 JMP SHORT editplus.004AC010 004AC007 . 8DA424 000000>LEA ESP,DWORD PTR SS:[ESP] 004AC00E . 8BFF MOV EDI,EDI 004AC010 > 66:0FB6043E MOVZX AX,BYTE PTR DS:[ESI+EDI] 004AC015 . 0FB7D8 MOVZX EBX,AX 004AC018 . B9 00010000 MOV ECX,100 004AC01D . 66:3BD9 CMP BX,CX 004AC020 . 73 0D JNB SHORT editplus.004AC02F 004AC022 . 0FB6D3 MOVZX EDX,BL 004AC025 . 0FB70455 3870>MOVZX EAX,WORD PTR DS:[EDX*2+5A7038] ; WORD数组 004AC02D . EB 1A JMP SHORT editplus.004AC049 004AC02F > 0FB7C3 MOVZX EAX,BX 004AC032 . 50 PUSH EAX ; /StringOrChar 004AC033 . FF15 8C765300 CALL DWORD PTR DS:[<&USER32.CharUpperW>] ; /CharUpperW 004AC039 . 0FB7C0 MOVZX EAX,AX 004AC03C . 66:85C0 TEST AX,AX 004AC03F . 75 05 JNZ SHORT editplus.004AC046 004AC041 . 0FB7C3 MOVZX EAX,BX 004AC044 . EB 03 JMP SHORT editplus.004AC049 004AC046 > 0FB7C0 MOVZX EAX,AX 004AC049 > 88043E MOV BYTE PTR DS:[ESI+EDI],AL 004AC04C . 46 INC ESI 004AC04D . 3B7424 10 CMP ESI,DWORD PTR SS:[ESP+10] 004AC051 .^ 7C BD JL SHORT editplus.004AC010 004AC053 . 8B5C24 14 MOV EBX,DWORD PTR SS:[ESP+14] ; asmz 004AC057 > 57 PUSH EDI 004AC058 . 53 PUSH EBX 004AC059 . E8 D2F9FFFF CALL editplus.004ABA30 004AC05E . 83C4 08 ADD ESP,8 004AC061 . 5E POP ESI 004AC062 . 85C0 TEST EAX,EAX 004AC064 . 75 26 JNZ SHORT editplus.004AC08C ; 关键 004AC066 . 6A FF PUSH -1 004AC068 . 6A 10 PUSH 10 004AC06A . 68 815F0000 PUSH 5F81 004AC06F . E8 FE760300 CALL editplus.004E3772 004AC074 . 5F POP EDI 004AC075 . 5D POP EBP 004AC076 . 5B POP EBX 004AC077 . 8B8C24 300200>MOV ECX,DWORD PTR SS:[ESP+230] 004AC07E . 33CC XOR ECX,ESP 004AC080 . E8 B7B40600 CALL editplus.0051753C 004AC085 . 81C4 34020000 ADD ESP,234 004AC08B . C3 RETN 004ABA30 /$ 83EC 10 SUB ESP,10 004ABA33 |. A1 84455700 MOV EAX,DWORD PTR DS:[574584] 004ABA38 |. 33C4 XOR EAX,ESP 004ABA3A |. 894424 0C MOV DWORD PTR SS:[ESP+C],EAX 004ABA3E |. 53 PUSH EBX 004ABA3F |. 55 PUSH EBP 004ABA40 |. 8B6C24 1C MOV EBP,DWORD PTR SS:[ESP+1C] 004ABA44 |. 56 PUSH ESI 004ABA45 |. 8B7424 24 MOV ESI,DWORD PTR SS:[ESP+24] 004ABA49 |. 8BC5 MOV EAX,EBP 004ABA4B |. 57 PUSH EDI 004ABA4C |. 8D50 01 LEA EDX,DWORD PTR DS:[EAX+1] 004ABA4F |. 90 NOP 004ABA50 |> 8A08 /MOV CL,BYTE PTR DS:[EAX] 004ABA52 |. 40 |INC EAX 004ABA53 |. 84C9 |TEST CL,CL 004ABA55 |.^ 75 F9 /JNZ SHORT editplus.004ABA50 004ABA57 |. 2BC2 SUB EAX,EDX 004ABA59 |. 8BD8 MOV EBX,EAX ; namelength 004ABA5B |. 8BC6 MOV EAX,ESI ; code 004ABA5D |. 8D50 01 LEA EDX,DWORD PTR DS:[EAX+1] 004ABA60 |> 8A08 /MOV CL,BYTE PTR DS:[EAX] 004ABA62 |. 40 |INC EAX 004ABA63 |. 84C9 |TEST CL,CL 004ABA65 |.^ 75 F9 /JNZ SHORT editplus.004ABA60 004ABA67 |. 2BC2 SUB EAX,EDX 004ABA69 |. 8BF8 MOV EDI,EAX ; codelength 004ABA6B |. E8 A0F7FFFF CALL editplus.004AB210 004ABA70 |. 53 PUSH EBX 004ABA71 |. 55 PUSH EBP 004ABA72 |. 6A 00 PUSH 0 004ABA74 |. E8 F7F7FFFF CALL editplus.004AB270 ; 取用户名做运算 004ABA79 |. 0FB7C0 MOVZX EAX,AX 004ABA7C |. 50 PUSH EAX 004ABA7D |. 8D4C24 20 LEA ECX,DWORD PTR SS:[ESP+20] 004ABA81 |. 68 D8B15400 PUSH editplus.0054B1D8 ; ASCII "%02X" 004ABA86 |. 51 PUSH ECX 004ABA87 |. E8 04FAFFFF CALL editplus.004AB490 ; 1294 004ABA8C |. 0FB656 02 MOVZX EDX,BYTE PTR DS:[ESI+2] ; 取第三个 004ABA90 |. 0FBE4C24 28 MOVSX ECX,BYTE PTR SS:[ESP+28] 004ABA95 |. 8D46 02 LEA EAX,DWORD PTR DS:[ESI+2] 004ABA98 |. 83C4 18 ADD ESP,18 004ABA9B |. 3BD1 CMP EDX,ECX ; 第三个要等于1 004ABA9D |. 74 15 JE SHORT editplus.004ABAB4 004ABA9F |> 5F POP EDI 004ABAA0 |. 5E POP ESI 004ABAA1 |. 5D POP EBP 004ABAA2 |. 33C0 XOR EAX,EAX 004ABAA4 |. 5B POP EBX 004ABAA5 |. 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C] 004ABAA9 |. 33CC XOR ECX,ESP 004ABAAB |. E8 8CBA0600 CALL editplus.0051753C 004ABAB0 |. 83C4 10 ADD ESP,10 004ABAB3 |. C3 RETN 004ABAB4 |> 0FB656 03 MOVZX EDX,BYTE PTR DS:[ESI+3] ; 第四个 004ABAB8 |. 0FBE4C24 11 MOVSX ECX,BYTE PTR SS:[ESP+11] 004ABABD |. 3BD1 CMP EDX,ECX ; 第四个要等于2 004ABABF |.^ 75 DE JNZ SHORT editplus.004ABA9F 004ABAC1 |. 83C7 FE ADD EDI,-2 004ABAC4 |. 57 PUSH EDI 004ABAC5 |. 50 PUSH EAX 004ABAC6 |. 6A 00 PUSH 0 004ABAC8 |. E8 A3F7FFFF CALL editplus.004AB270 ; 取注册码第5位开始运算 004ABACD |. 0FB7D0 MOVZX EDX,AX 004ABAD0 |. 52 PUSH EDX 004ABAD1 |. 8D4424 20 LEA EAX,DWORD PTR SS:[ESP+20] 004ABAD5 |. 68 D8B15400 PUSH editplus.0054B1D8 ; ASCII "%02X" 004ABADA |. 50 PUSH EAX 004ABADB |. E8 B0F9FFFF CALL editplus.004AB490 ; 41c5 004ABAE0 |. 0FB60E MOVZX ECX,BYTE PTR DS:[ESI] 004ABAE3 |. 0FBE5424 28 MOVSX EDX,BYTE PTR SS:[ESP+28] 004ABAE8 |. 83C4 18 ADD ESP,18 004ABAEB |. 3BCA CMP ECX,EDX ; 第一个要为4 004ABAED |.^ 75 B0 JNZ SHORT editplus.004ABA9F 004ABAEF |. 0FB646 01 MOVZX EAX,BYTE PTR DS:[ESI+1] ; 第二个1 004ABAF3 |. 0FBE4C24 11 MOVSX ECX,BYTE PTR SS:[ESP+11] 004ABAF8 |. 33D2 XOR EDX,EDX 004ABAFA |. 3BC1 CMP EAX,ECX 004ABAFC |. 8B4C24 1C MOV ECX,DWORD PTR SS:[ESP+1C] 004ABB00 |. 5F POP EDI 004ABB01 |. 0F94C2 SETE DL 004ABB04 |. 5E POP ESI 004ABB05 |. 5D POP EBP 004ABB06 |. 5B POP EBX 004ABB07 |. 33CC XOR ECX,ESP 004ABB09 |. 8BC2 MOV EAX,EDX 004ABB0B |. E8 2CBA0600 CALL editplus.0051753C 004ABB10 |. 83C4 10 ADD ESP,10 ; 返回1 代表注册成功 004ABB13 /. C3 RETN