|
論壇說明 | 標記討論區已讀 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2004-05-23, 03:49 AM | #1 |
榮譽會員
|
010 Editorv1.3破解(註冊機)
010 Editorv1.3破解(註冊機)
程式碼:-------------------------------------------------------------------------------- 00452DA8 /$ 55 PUSH EBP 00452DA9 |. 8BEC MOV EBP,ESP 00452DAB |. 83C4 94 ADD ESP,-6C 00452DAE |. 8955 9C MOV DWORD PTR SS:[EBP-64],EDX 00452DB1 |. 8945 A0 MOV DWORD PTR SS:[EBP-60],EAX 00452DB4 |. B8 80535800 MOV EAX,010Edito.00585380 00452DB9 |. E8 3E361000 CALL 010Edito.005563FC //see below 00452DBE |. 66:C745 B4 080>MOV WORD PTR SS:[EBP-4C],8 00452DC4 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] 00452DC7 |. E8 80E8FAFF CALL 010Edito.0040164C //see below 00452DCC |. 8BD0 MOV EDX,EAX 00452DCE |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00452DD1 |. 8B4D A0 MOV ECX,DWORD PTR SS:[EBP-60] 00452DD4 |. 8B81 D4020000 MOV EAX,DWORD PTR DS:[ECX+2D4] 00452DDA |. E8 35BB0B00 CALL 010Edito.0050E914 00452DDF |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] 00452DE2 |. E8 A9241100 CALL 010Edito.00565290 00452DE7 |. 50 PUSH EAX ; /Arg1 00452DE8 |. FF4D C0 DEC DWORD PTR SS:[EBP-40] ; | 00452DEB |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] ; | 00452DEE |. BA 02000000 MOV EDX,2 ; | 00452DF3 |. E8 8C221100 CALL 010Edito.00565084 ; \010Edito.00565084 //檢查用戶名是否為空 00452DF8 |. 59 POP ECX 00452DF9 |. 84C9 TEST CL,CL 00452DFB |. 74 3F JE SHORT 010Edito.00452E3C ; JUMP 00452DFD |. 66:C745 B4 140>MOV WORD PTR SS:[EBP-4C],14 00452E03 |. BA EA4C5800 MOV EDX,010Edito.00584CEA 00452E08 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8] 00452E0B |. E8 E4201100 CALL 010Edito.00564EF4 00452E10 |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00452E13 |. 8D4D F8 LEA ECX,DWORD PTR SS:[EBP-8] 00452E16 |. 51 PUSH ECX ; /Arg1 00452E17 |. E8 7C62FDFF CALL /*afxMessagbox*/ ; \/*afxMessagbox*/ //提示輸入用戶名 00452E1C |. 59 POP ECX 00452E1D |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 00452E20 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8] 00452E23 |. BA 02000000 MOV EDX,2 00452E28 |. E8 57221100 CALL 010Edito.00565084 00452E2D |. 8B4D A4 MOV ECX,DWORD PTR SS:[EBP-5C] 00452E30 |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 00452E37 |. E9 86030000 JMP 010Edito.004531C2 //return 00452E3C |> 66:C745 B4 200>MOV WORD PTR SS:[EBP-4C],20 ; HERE TO GO 00452E42 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] 00452E45 |. E8 02E8FAFF CALL 010Edito.0040164C 00452E4A |. 8BD0 MOV EDX,EAX 00452E4C |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00452E4F |. 8B4D A0 MOV ECX,DWORD PTR SS:[EBP-60] 00452E52 |. 8B81 DC020000 MOV EAX,DWORD PTR DS:[ECX+2DC] 00452E58 |. E8 63DC0800 CALL 010Edito.004E0AC0 00452E5D |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] 00452E60 |. E8 2B241100 CALL 010Edito.00565290 00452E65 |. 84C0 TEST AL,AL 00452E67 |. 75 6A JNZ SHORT 010Edito.00452ED3 ; NO JUMP 00452E69 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10] 00452E6C |. E8 DBE7FAFF CALL 010Edito.0040164C 00452E71 |. 8BD0 MOV EDX,EAX 00452E73 |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00452E76 |. 8B4D A0 MOV ECX,DWORD PTR SS:[EBP-60] 00452E79 |. 8B81 DC020000 MOV EAX,DWORD PTR DS:[ECX+2DC] 00452E7F |. E8 3CDC0800 CALL 010Edito.004E0AC0 00452E84 |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10] 00452E87 |. 52 PUSH EDX 00452E88 |. BA FF4C5800 MOV EDX,010Edito.00584CFF 00452E8D |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14] 00452E90 |. E8 5F201100 CALL 010Edito.00564EF4 00452E95 |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00452E98 |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14] 00452E9B |. 58 POP EAX 00452E9C |. E8 D7241100 CALL 010Edito.00565378 00452EA1 |. 85C0 TEST EAX,EAX 00452EA3 |. 0F95C1 SETNE CL 00452EA6 |. 83E1 01 AND ECX,1 00452EA9 |. 51 PUSH ECX 00452EAA |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 00452EAD |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14] 00452EB0 |. BA 02000000 MOV EDX,2 00452EB5 |. E8 CA211100 CALL 010Edito.00565084 00452EBA |. FF4D C0 DEC DWORD PTR SS:[EBP-40] ; | 00452EBD |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10] ; | 00452EC0 |. BA 02000000 MOV EDX,2 ; | 00452EC5 |. E8 BA211100 CALL 010Edito.00565084 ; \010Edito.00565084 00452ECA |. 59 POP ECX 00452ECB |. 85C9 TEST ECX,ECX 00452ECD |. 75 04 JNZ SHORT 010Edito.00452ED3 00452ECF |. 33C0 XOR EAX,EAX 00452ED1 |. EB 05 JMP SHORT 010Edito.00452ED8 00452ED3 |> B8 01000000 MOV EAX,1 00452ED8 |> 50 PUSH EAX ; /Arg1 00452ED9 |. FF4D C0 DEC DWORD PTR SS:[EBP-40] ; |"06CD-D29C-0DBA-7753" 00452EDC |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] ; | 00452EDF |. BA 02000000 MOV EDX,2 ; | 00452EE4 |. E8 9B211100 CALL 010Edito.00565084 ; \010Edito.00565084 00452EE9 |. 59 POP ECX 00452EEA |. 84C9 TEST CL,CL 00452EEC |. 74 3F JE SHORT 010Edito.00452F2D ; JUMP 00452EEE |. 66:C745 B4 2C0>MOV WORD PTR SS:[EBP-4C],2C //註冊碼不全. 00452EF4 |. BA 014D5800 MOV EDX,010Edito.00584D01 00452EF9 |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18] 00452EFC |. E8 F31F1100 CALL 010Edito.00564EF4 00452F01 |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00452F04 |. 8D4D E8 LEA ECX,DWORD PTR SS:[EBP-18] 00452F07 |. 51 PUSH ECX ; /Arg1 00452F08 |. E8 8B61FDFF CALL /*afxMessagbox*/ ; \/*afxMessagbox*/ 00452F0D |. 59 POP ECX 00452F0E |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 00452F11 |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18] 00452F14 |. BA 02000000 MOV EDX,2 00452F19 |. E8 66211100 CALL 010Edito.00565084 00452F1E |. 8B4D A4 MOV ECX,DWORD PTR SS:[EBP-5C] 00452F21 |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 00452F28 |. E9 95020000 JMP 010Edito.004531C2 //return 00452F2D |> 66:C745 B4 380>MOV WORD PTR SS:[EBP-4C],38 ; HERE TO GO 00452F33 |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] 00452F36 |. E8 11E7FAFF CALL 010Edito.0040164C 00452F3B |. 8BD0 MOV EDX,EAX 00452F3D |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00452F40 |. 8B4D A0 MOV ECX,DWORD PTR SS:[EBP-60] 00452F43 |. 8B81 D4020000 MOV EAX,DWORD PTR DS:[ECX+2D4] 00452F49 |. E8 C6B90B00 CALL 010Edito.0050E914 00452F4E |. 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C] ; arg2 == "AAAAA" 00452F51 |. 52 PUSH EDX ; /Arg2 00452F52 |. FF35 44775600 PUSH DWORD PTR DS:[567744] ; |Arg1 = 00FF2D74 00452F58 |. E8 6B020000 CALL 010Edito.004531C8 ; \010Edito.004531C8 00452F5D |. 83C4 08 ADD ESP,8 00452F60 |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 00452F63 |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] 00452F66 |. BA 02000000 MOV EDX,2 00452F6B |. E8 14211100 CALL 010Edito.00565084 00452F70 |. 66:C745 B4 440>MOV WORD PTR SS:[EBP-4C],44 00452F76 |. 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20] 00452F79 |. E8 CEE6FAFF CALL 010Edito.0040164C 00452F7E |. 8BD0 MOV EDX,EAX 00452F80 |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00452F83 |. 8B4D A0 MOV ECX,DWORD PTR SS:[EBP-60] 00452F86 |. 8B81 DC020000 MOV EAX,DWORD PTR DS:[ECX+2DC] 00452F8C |. E8 2FDB0800 CALL 010Edito.004E0AC0 00452F91 |. 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20] ; arg2 =="06CD-D29C-0DBA-7753" 00452F94 |. 52 PUSH EDX ; /Arg2 00452F95 |. FF35 44775600 PUSH DWORD PTR DS:[567744] ; |Arg1 = 00FF2D74 00452F9B |. E8 3C020000 CALL 010Edito.004531DC ; \010Edito.004531DC 00452FA0 |. 83C4 08 ADD ESP,8 00452FA3 |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 00452FA6 |. 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20] 00452FA9 |. BA 02000000 MOV EDX,2 00452FAE |. E8 D1201100 CALL 010Edito.00565084 00452FB3 |. 6A 01 PUSH 1 00452FB5 |. FF35 44775600 PUSH DWORD PTR DS:[567744] 00452FBB |. E8 0CDFFFFF CALL 010Edito.00450ECC 00452FC0 |. 83C4 08 ADD ESP,8 00452FC3 |. 8945 98 MOV DWORD PTR SS:[EBP-68],EAX 00452FC6 |. 6A 01 PUSH 1 ; /Arg2 = 00000001 00452FC8 |. FF35 44775600 PUSH DWORD PTR DS:[567744] ; |Arg1 = 00FF2D74 **00452FCE |. E8 85DEFFFF CALL 010Edito.00450E58 ; \010Edito.00450E58 //see below\ 00452FD3 |. 83C4 08 ADD ESP,8 00452FD6 |. 8945 94 MOV DWORD PTR SS:[EBP-6C],EAX 00452FD9 |. 817D 94 DB0000>CMP DWORD PTR SS:[EBP-6C],0DB ; 比較結果 eax ==177 00452FE0 |. 75 35 JNZ SHORT 010Edito.00453017 ; jump!!! 00452FE2 |. 66:C745 B4 500>MOV WORD PTR SS:[EBP-4C],50 00452FE8 |. BA 284D5800 MOV EDX,010Edito.00584D28 00452FED |. 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24] 00452FF0 |. E8 FF1E1100 CALL 010Edito.00564EF4 00452FF5 |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00452FF8 |. 8D4D DC LEA ECX,DWORD PTR SS:[EBP-24] 00452FFB |. 51 PUSH ECX ; /Arg1 00452FFC |. E8 6F61FDFF CALL /*POPUP_DIALOG*/ ; \010Edito.00429170 00453001 |. 59 POP ECX 00453002 |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 00453005 |. 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24] 00453008 |. BA 02000000 MOV EDX,2 0045300D |. E8 72201100 CALL 010Edito.00565084 00453012 |. E9 04010000 JMP 010Edito.0045311B 00453017 |> 837D 94 10 CMP DWORD PTR SS:[EBP-6C],10 0045301B |. 75 3F JNZ SHORT 010Edito.0045305C ; here to go是否==10 jump!! 0045301D |. 66:C745 B4 5C0>MOV WORD PTR SS:[EBP-4C],5C 00453023 |. BA 534D5800 MOV EDX,010Edito.00584D53 00453028 |. 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28] 0045302B |. E8 C41E1100 CALL 010Edito.00564EF4 00453030 |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00453033 |. 8D4D D8 LEA ECX,DWORD PTR SS:[EBP-28] 00453036 |. 51 PUSH ECX ; /Arg1 00453037 |. E8 3461FDFF CALL /*POPUP_DIALOG*/ ; \010Edito.00429170 0045303C |. 59 POP ECX 0045303D |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 00453040 |. 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28] 00453043 |. BA 02000000 MOV EDX,2 00453048 |. E8 37201100 CALL 010Edito.00565084 0045304D |. 8B4D A4 MOV ECX,DWORD PTR SS:[EBP-5C] 00453050 |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 00453057 |. E9 66010000 JMP 010Edito.004531C2 //return 0045305C |> 817D 98 930000>CMP DWORD PTR SS:[EBP-68],93 ; here to go 00453063 |. 75 77 JNZ SHORT 010Edito.004530DC ; jmp 00453065 |. 837D 94 71 CMP DWORD PTR SS:[EBP-6C],71 00453069 |. 75 32 JNZ SHORT 010Edito.0045309D 0045306B |. 66:C745 B4 680>MOV WORD PTR SS:[EBP-4C],68 00453071 |. BA E54D5800 MOV EDX,010Edito.00584DE5 00453076 |. 8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C] 00453079 |. E8 761E1100 CALL 010Edito.00564EF4 0045307E |. FF45 C0 INC DWORD PTR SS:[EBP-40] 00453081 |. 8D4D D4 LEA ECX,DWORD PTR SS:[EBP-2C] 00453084 |. 51 PUSH ECX ; /Arg1 00453085 |. E8 E660FDFF CALL /*POPUP_DIALOG*/ ; \010Edito.00429170 0045308A |. 59 POP ECX 0045308B |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 0045308E |. 8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C] 00453091 |. BA 02000000 MOV EDX,2 00453096 |. E8 E91F1100 CALL 010Edito.00565084 0045309B |. EB 7E JMP SHORT 010Edito.0045311B 0045309D |> 66:C745 B4 740>MOV WORD PTR SS:[EBP-4C],74 004530A3 |. BA 1D4E5800 MOV EDX,010Edito.00584E1D 004530A8 |. 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30] 004530AB |. E8 441E1100 CALL 010Edito.00564EF4 004530B0 |. FF45 C0 INC DWORD PTR SS:[EBP-40] 004530B3 |. 8D4D D0 LEA ECX,DWORD PTR SS:[EBP-30] 004530B6 |. 51 PUSH ECX ; /Arg1 004530B7 |. E8 B460FDFF CALL /*POPUP_DIALOG*/ ; \010Edito.00429170 004530BC |. 59 POP ECX 004530BD |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 004530C0 |. 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30] 004530C3 |. BA 02000000 MOV EDX,2 004530C8 |. E8 B71F1100 CALL 010Edito.00565084 004530CD |. 8B4D A4 MOV ECX,DWORD PTR SS:[EBP-5C] 004530D0 |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 004530D7 |. E9 E6000000 JMP 010Edito.004531C2 //return 004530DC |> 66:C745 B4 800>MOV WORD PTR SS:[EBP-4C],80 ; here to go 004530E2 |. BA 554E5800 MOV EDX,010Edito.00584E55 004530E7 |. 8D45 CC LEA EAX,DWORD PTR SS:[EBP-34] 004530EA |. E8 051E1100 CALL 010Edito.00564EF4 004530EF |. FF45 C0 INC DWORD PTR SS:[EBP-40] 004530F2 |. 8D4D CC LEA ECX,DWORD PTR SS:[EBP-34] ; 顯示對話視窗"無效密碼。請按注.." 004530F5 |. 51 PUSH ECX ; /Arg1 004530F6 |. E8 7560FDFF CALL /*POPUP_DIALOG*/ ; \010Edito.00429170 004530FB |. 59 POP ECX 004530FC |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 004530FF |. 8D45 CC LEA EAX,DWORD PTR SS:[EBP-34] 00453102 |. BA 02000000 MOV EDX,2 00453107 |. E8 781F1100 CALL 010Edito.00565084 0045310C |. 8B4D A4 MOV ECX,DWORD PTR SS:[EBP-5C] 0045310F |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 00453116 |. E9 A7000000 JMP 010Edito.004531C2 //return; 0045311B |> FF35 44775600 PUSH DWORD PTR DS:[567744] 00453121 |. E8 C6F0FFFF CALL 010Edito.004521EC 00453126 |. 59 POP ECX 00453127 |. A1 44775600 MOV EAX,DWORD PTR DS:[567744] 0045312C |. 8945 C8 MOV DWORD PTR SS:[EBP-38],EAX 0045312F |. 837D C8 00 CMP DWORD PTR SS:[EBP-38],0 00453133 |. 74 4B JE SHORT 010Edito.00453180 00453135 |. 66:C745 B4 980>MOV WORD PTR SS:[EBP-4C],98 0045313B |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 0045313E |. 8B45 C8 MOV EAX,DWORD PTR SS:[EBP-38] 00453141 |. 83C0 08 ADD EAX,8 00453144 |. BA 02000000 MOV EDX,2 00453149 |. E8 361F1100 CALL 010Edito.00565084 0045314E |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 00453151 |. 8B45 C8 MOV EAX,DWORD PTR SS:[EBP-38] 00453154 |. 83C0 04 ADD EAX,4 00453157 |. BA 02000000 MOV EDX,2 0045315C |. E8 231F1100 CALL 010Edito.00565084 00453161 |. FF4D C0 DEC DWORD PTR SS:[EBP-40] 00453164 |. BA 02000000 MOV EDX,2 00453169 |. 8B45 C8 MOV EAX,DWORD PTR SS:[EBP-38] 0045316C |. E8 131F1100 CALL 010Edito.00565084 00453171 |. FF75 C8 PUSH DWORD PTR SS:[EBP-38] ; /Arg1 00453174 |. E8 231F1000 CALL 010Edito.0055509C ; \010Edito.0055509C 00453179 |. 59 POP ECX 0045317A |. 66:C745 B4 8C0>MOV WORD PTR SS:[EBP-4C],8C 00453180 |> 33C9 XOR ECX,ECX 00453182 |. 890D 44775600 MOV DWORD PTR DS:[567744],ECX 00453188 |. 8B45 A0 MOV EAX,DWORD PTR SS:[EBP-60] 0045318B |. 83B8 00030000 >CMP DWORD PTR DS:[EAX+300],0 00453192 |. 74 17 JE SHORT 010Edito.004531AB 00453194 |. 8B15 E41A5A00 MOV EDX,DWORD PTR DS:[5A1AE4] ; 010Edito._Form010Ed 0045319A |. 8B02 MOV EAX,DWORD PTR DS:[EDX] 0045319C |. E8 8B830A00 CALL 010Edito.004FB52C 004531A1 |. 8B45 A0 MOV EAX,DWORD PTR SS:[EBP-60] 004531A4 |. E8 7B830A00 CALL 010Edito.004FB524 004531A9 |. EB 0D JMP SHORT 010Edito.004531B8 004531AB |> 8B55 A0 MOV EDX,DWORD PTR SS:[EBP-60] 004531AE |. C782 2C020000 >MOV DWORD PTR DS:[EDX+22C],1 004531B8 |> 8B4D A4 MOV ECX,DWORD PTR SS:[EBP-5C] 004531BB |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 004531C2 |> 8BE5 MOV ESP,EBP 004531C4 |. 5D POP EBP 004531C5 \. C3 RETN ///////////////////////////////////////////////////////////////////////////////////////////// 00450E58 /$ 55 PUSH EBP 00450E59 |. 8BEC MOV EBP,ESP 00450E5B |. FF75 0C PUSH DWORD PTR SS:[EBP+C] 00450E5E |. FF75 08 PUSH DWORD PTR SS:[EBP+8] 00450E61 |. E8 66000000 CALL 010Edito.00450ECC //see below 00450E66 |. 83C4 08 ADD ESP,8 00450E69 |. 83E8 2D SUB EAX,2D ; Switch (cases 2D..E7) 00450E6C |. 74 0E JE SHORT 010Edito.00450E7C 00450E6E |. 83E8 21 SUB EAX,21 00450E71 |. 74 17 JE SHORT 010Edito.00450E8A 00450E73 |. 2D 99000000 SUB EAX,99 00450E78 |. 74 09 JE SHORT 010Edito.00450E83 00450E7A |. EB 15 JMP SHORT 010Edito.00450E91 00450E7C |> B8 DB000000 MOV EAX,0DB ; Case 2D of switch 00450E69 00450E81 |. 5D POP EBP 00450E82 |. C3 RETN 00450E83 |> B8 77010000 MOV EAX,177 ; Case E7 of switch 00450E69 //here 00450E88 |. 5D POP EBP 00450E89 |. C3 RETN 00450E8A |> B8 10000000 MOV EAX,10 ; Case 4E of switch 00450E69 00450E8F |. 5D POP EBP 00450E90 |. C3 RETN 00450E91 |> FF75 08 PUSH DWORD PTR SS:[EBP+8] ; /Arg1; Default case of switch 00450E69 00450E94 |. E8 03030000 CALL 010Edito.0045119C ; \010Edito.0045119C 00450E99 |. 59 POP ECX 00450E9A |. 83E8 17 SUB EAX,17 ; Switch (cases 17..138) 00450E9D |. 74 0E JE SHORT 010Edito.00450EAD 00450E9F |. 83E8 13 SUB EAX,13 00450EA2 |. 74 17 JE SHORT 010Edito.00450EBB 00450EA4 |. 2D 0E010000 SUB EAX,10E 00450EA9 |. 74 09 JE SHORT 010Edito.00450EB4 00450EAB |. EB 15 JMP SHORT 010Edito.00450EC2 00450EAD |> B8 71000000 MOV EAX,71 ; Case 17 of switch 00450E9A 00450EB2 |. 5D POP EBP 00450EB3 |. C3 RETN 00450EB4 |> B8 2F000000 MOV EAX,2F ; Case 138 of switch 00450E9A 00450EB9 |. 5D POP EBP 00450EBA |. C3 RETN 00450EBB |> B8 77010000 MOV EAX,177 ; Case 2A of switch 00450E9A 00450EC0 |. 5D POP EBP 00450EC1 |. C3 RETN 00450EC2 |> B8 77010000 MOV EAX,177 ; Default case of switch 00450E9A 00450EC7 |. 5D POP EBP 00450EC8 \. C3 RETN /////////////////////////////////////////////////////////////////////////////////////////// 00450ECC $ 55 PUSH EBP 00450ECD . 8BEC MOV EBP,ESP 00450ECF . 83C4 C0 ADD ESP,-40 00450ED2 . B8 10435800 MOV EAX,010Edito.00584310 //global variable 00450ED7 . E8 20551000 CALL 010Edito.005563FC //啟始化 00450EDC . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00450EDF . 83C0 04 ADD EAX,4 00450EE2 . E8 A9431100 CALL 010Edito.00565290 //檢測EAX是否為空 00450EE7 . 84C0 TEST AL,AL 00450EE9 . 75 0F JNZ SHORT 010Edito.00450EFA //jump(go die!) 00450EEB . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]//go go go 00450EEE . 83C0 08 ADD EAX,8 00450EF1 . E8 9A431100 CALL 010Edito.00565290 //test eax + 8 (user name ) 00450EF6 . 84C0 TEST AL,AL 00450EF8 . 74 14 JE SHORT 010Edito.00450F0E //go further 00450EFA > B8 93000000 MOV EAX,93 00450EFF . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 00450F02 . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 00450F09 . E9 89020000 JMP 010Edito.00451197 //go to return 00450F0E > 8D4D C4 LEA ECX,DWORD PTR SS:[EBP-3C] 00450F11 . 51 PUSH ECX ; /Arg2 00450F12 . FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |Arg1 00450F15 . E8 6A0C0000 CALL 010Edito.00451B84 ; \010Edito.00451B84 00450F1A . 83C4 08 ADD ESP,8 ; 將序列號ascii轉為二進制 00450F1D . 33C0 XOR EAX,EAX 00450F1F . 8945 D4 MOV DWORD PTR SS:[EBP-2C],EAX 00450F22 > 66:C745 E8 080>MOV WORD PTR SS:[EBP-18],8 00450F28 . 8B55 D4 MOV EDX,DWORD PTR SS:[EBP-2C] 00450F2B . 8B1495 6841580>MOV EDX,DWORD PTR DS:[EDX*4+584168] ; =="999" 00450F32 . 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] 00450F35 . E8 BA3F1100 CALL 010Edito.00564EF4 00450F3A . FF45 F4 INC DWORD PTR SS:[EBP-C] 00450F3D . 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4] 00450F40 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00450F43 . 83C0 04 ADD EAX,4 00450F46 . E8 1D421100 CALL 010Edito.00565168 00450F4B . 50 PUSH EAX ; /Arg1 00450F4C . FF4D F4 DEC DWORD PTR SS:[EBP-C] ; | 00450F4F . 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] ; | 00450F52 . BA 02000000 MOV EDX,2 ; | 00450F57 . E8 28411100 CALL 010Edito.00565084 ; \010Edito.00565084 00450F5C . 59 POP ECX 00450F5D . 84C9 TEST CL,CL 00450F5F . 74 14 JE SHORT 010Edito.00450F75 //go further 00450F61 . B8 E7000000 MOV EAX,0E7 00450F66 . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 00450F69 . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 00450F70 . E9 22020000 JMP 010Edito.00451197 00450F75 > FF45 D4 INC DWORD PTR SS:[EBP-2C] 00450F78 . 837D D4 01 CMP DWORD PTR SS:[EBP-2C],1 ; HERE TO GO 00450F7C .^7C A4 JL SHORT 010Edito.00450F22 ; NO JUMP 00450F7E . 807D C7 9C CMP BYTE PTR SS:[EBP-39],9C ; if 9C 00450F82 . 0F85 83000000 JNZ 010Edito.0045100B ; NO JUMP 00450F88 . 8A4D C4 MOV CL,BYTE PTR SS:[EBP-3C] 00450F8B . 324D CA XOR CL,BYTE PTR SS:[EBP-36] ; cl =1 xor 7 00450F8E . 884D C3 MOV BYTE PTR SS:[EBP-3D],CL ; save dl to [ebp-3d] 00450F91 . 8A45 C5 MOV AL,BYTE PTR SS:[EBP-3B] 00450F94 . 3245 CB XOR AL,BYTE PTR SS:[EBP-35] ; al = 2 xor 8 00450F97 . 33D2 XOR EDX,EDX 00450F99 . 8AD0 MOV DL,AL ; dl = al 00450F9B . C1E2 08 SHL EDX,8 ; ??8bit dh = al 00450F9E . 8A4D C6 MOV CL,BYTE PTR SS:[EBP-3A] 00450FA1 . 324D C9 XOR CL,BYTE PTR SS:[EBP-37] ; cl = ?3? xor ?5? 00450FA4 . 33C0 XOR EAX,EAX 00450FA6 . 8AC1 MOV AL,CL 00450FA8 . 66:03D0 ADD DX,AX ; ?????????????, 00450FAB . 66:8955 C0 MOV WORD PTR SS:[EBP-40],DX ; A VALUE USE LATER 00450FAF . 8A55 C3 MOV DL,BYTE PTR SS:[EBP-3D] ; ???1? xor ?7?????? 00450FB2 . 52 PUSH EDX ; /Arg1 00450FB3 . E8 FA170000 CALL 010Edito.004527B2 ; \010Edito.004527B2 00450FB8 . 59 POP ECX 00450FB9 . 33C9 XOR ECX,ECX 00450FBB . 8AC8 MOV CL,AL 00450FBD . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00450FC0 . 8948 18 MOV DWORD PTR DS:[EAX+18],ECX ; sav0 00450FC3 . 66:8B55 C0 MOV DX,WORD PTR SS:[EBP-40] ; VALUE calc before 00450FC7 . 52 PUSH EDX ; /Arg1 00450FC8 . E8 FB170000 CALL 010Edito.004527C8 ; \010Edito.004527C8 00450FCD . 59 POP ECX 00450FCE . 0FB7C8 MOVZX ECX,AX 00450FD1 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00450FD4 . 8948 1C MOV DWORD PTR DS:[EAX+1C],ECX ; save1 00450FD7 . 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8] 00450FDA . 837A 18 00 CMP DWORD PTR DS:[EDX+18],0 ; compare sav0 00450FDE . 74 15 JE SHORT 010Edito.00450FF5 ; NO JUMP(go die!) 00450FE0 . 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8] 00450FE3 . 8379 1C 00 CMP DWORD PTR DS:[ECX+1C],0 ; compare sav1 00450FE7 . 74 0C JE SHORT 010Edito.00450FF5 ; NO JUMP(go die!) 00450FE9 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00450FEC . 8178 1C E80300>CMP DWORD PTR DS:[EAX+1C],3E8 00450FF3 . 76 46 JBE SHORT 010Edito.0045103B ; JUMP to further compare 00450FF5 > B8 E7000000 MOV EAX,0E7 ; Here return error! 00450FFA . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 00450FFD . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 00451004 . E9 8E010000 JMP 010Edito.00451197 00451009 . EB 30 JMP SHORT 010Edito.0045103B 0045100B > 807D C7 FC CMP BYTE PTR SS:[EBP-39],0FC 0045100F . 75 16 JNZ SHORT 010Edito.00451027 00451011 . 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8] 00451014 . C741 18 FF0000>MOV DWORD PTR DS:[ECX+18],0FF 0045101B . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 0045101E . C740 1C 010000>MOV DWORD PTR DS:[EAX+1C],1 00451025 . EB 14 JMP SHORT 010Edito.0045103B 00451027 > B8 E7000000 MOV EAX,0E7 0045102C . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 0045102F . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 00451036 . E9 5C010000 JMP 010Edito.00451197 0045103B > 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8] ; HERE TO GO 0045103E . FF71 1C PUSH DWORD PTR DS:[ECX+1C] ; arg4 = sav1 00451041 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00451044 . FF70 18 PUSH DWORD PTR DS:[EAX+18] ; arg3 = sav0 00451047 . 807D C7 9C CMP BYTE PTR SS:[EBP-39],9C ; ??????9C 0045104B . 0F94C2 SETE DL ; SET DL 1 IF EQUEAL 0045104E . 83E2 01 AND EDX,1 00451051 . 52 PUSH EDX ; arg2 00451052 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00451055 . 83C0 04 ADD EAX,4 00451058 . E8 330DFBFF CALL 010Edito.00401D90 0045105D . 50 PUSH EAX ; |arg1= user name 0045105E . E8 AD140000 CALL 010Edito.00452510 ; \010Edito.00452510 00451063 . 83C4 10 ADD ESP,10 00451066 . 8945 D0 MOV DWORD PTR SS:[EBP-30],EAX ; 結果: eax ==be030747 00451069 . 8A55 D0 MOV DL,BYTE PTR SS:[EBP-30] 0045106C . 80E2 FF AND DL,0FF 0045106F . 3A55 C8 CMP DL,BYTE PTR SS:[EBP-38] 00451072 . 74 14 JE SHORT 010Edito.00451088 00451074 . B8 E7000000 MOV EAX,0E7 00451079 . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 0045107C . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 00451083 . E9 0F010000 JMP 010Edito.00451197 //go to return //go to return 00451088 > 8B4D D0 MOV ECX,DWORD PTR SS:[EBP-30] 0045108B . C1E9 08 SHR ECX,8 0045108E . 80E1 FF AND CL,0FF 00451091 . 3A4D C9 CMP CL,BYTE PTR SS:[EBP-37] 00451094 . 74 14 JE SHORT 010Edito.004510AA 00451096 . B8 E7000000 MOV EAX,0E7 0045109B . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 0045109E . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 004510A5 . E9 ED000000 JMP 010Edito.00451197 //go to return //go to return 004510AA > 8B4D D0 MOV ECX,DWORD PTR SS:[EBP-30] 004510AD . C1E9 10 SHR ECX,10 004510B0 . 80E1 FF AND CL,0FF 004510B3 . 3A4D CA CMP CL,BYTE PTR SS:[EBP-36] 004510B6 . 74 14 JE SHORT 010Edito.004510CC 004510B8 . B8 E7000000 MOV EAX,0E7 004510BD . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 004510C0 . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 004510C7 . E9 CB000000 JMP 010Edito.00451197 //go to return //go to return 004510CC > 8B4D D0 MOV ECX,DWORD PTR SS:[EBP-30] 004510CF . C1E9 18 SHR ECX,18 004510D2 . 80E1 FF AND CL,0FF 004510D5 . 3A4D CB CMP CL,BYTE PTR SS:[EBP-35] 004510D8 . 74 14 JE SHORT 010Edito.004510EE 004510DA . B8 E7000000 MOV EAX,0E7 004510DF . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 004510E2 . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 004510E9 . E9 A9000000 JMP 010Edito.00451197 //go to return //go to return 004510EE > 807D C7 9C CMP BYTE PTR SS:[EBP-39],9C 004510F2 . 75 30 JNZ SHORT 010Edito.00451124 004510F4 . 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C] 004510F7 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 004510FA . 3B48 18 CMP ECX,DWORD PTR DS:[EAX+18] 004510FD . 76 14 JBE SHORT 010Edito.00451113 004510FF . B8 4E000000 MOV EAX,4E 00451104 . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 00451107 . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 0045110E . E9 84000000 JMP 010Edito.00451197 //go to return //go to return 00451113 > B8 2D000000 MOV EAX,2D 00451118 . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 0045111B . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 00451122 . EB 73 JMP SHORT 010Edito.00451197 //go to return 00451124 > 807D C7 FC CMP BYTE PTR SS:[EBP-39],0FC 00451128 . 75 5E JNZ SHORT 010Edito.00451188 0045112A . 33C9 XOR ECX,ECX 0045112C . 8A4D C4 MOV CL,BYTE PTR SS:[EBP-3C] 0045112F . 33C0 XOR EAX,EAX 00451131 . 8A45 C5 MOV AL,BYTE PTR SS:[EBP-3B] 00451134 . C1E0 08 SHL EAX,8 00451137 . 03C8 ADD ECX,EAX 00451139 . 33D2 XOR EDX,EDX 0045113B . 8A55 C6 MOV DL,BYTE PTR SS:[EBP-3A] 0045113E . C1E2 10 SHL EDX,10 00451141 . 03CA ADD ECX,EDX 00451143 . 894D CC MOV DWORD PTR SS:[EBP-34],ECX 00451146 . FF75 D0 PUSH DWORD PTR SS:[EBP-30] ; /Arg2 00451149 . FF75 CC PUSH DWORD PTR SS:[EBP-34] ; |Arg1 0045114C . E8 1C160000 CALL 010Edito.0045276D ; \010Edito.0045276D 00451151 . 83C4 08 ADD ESP,8 00451154 . 8945 CC MOV DWORD PTR SS:[EBP-34],EAX 00451157 . 837D CC 00 CMP DWORD PTR SS:[EBP-34],0 0045115B . 75 11 JNZ SHORT 010Edito.0045116E 0045115D . B8 E7000000 MOV EAX,0E7 00451162 . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 00451165 . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 0045116C . EB 29 JMP SHORT 010Edito.00451197 0045116E > 8B4D CC MOV ECX,DWORD PTR SS:[EBP-34] 00451171 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00451174 . 8948 14 MOV DWORD PTR DS:[EAX+14],ECX 00451177 . B8 93000000 MOV EAX,93 0045117C . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 0045117F . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 00451186 . EB 0F JMP SHORT 010Edito.00451197 00451188 > B8 E7000000 MOV EAX,0E7 0045118D . 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 00451190 . 64:8915 000000>MOV DWORD PTR FS:[0],EDX 00451197 > 8BE5 MOV ESP,EBP 00451199 . 5D POP EBP 0045119A . C3 RETN 00555F7C /$ 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4] 00555F80 |. A8 03 TEST AL,3 00555F82 |. 75 2D JNZ SHORT 010Edito.00555FB1 00555F84 |> 8B10 /MOV EDX,DWORD PTR DS:[EAX] AAAAAA 00555F86 |. 83C0 04 |ADD EAX,4 00555F89 |. 8BCA |MOV ECX,EDX 00555F8B |. 81EA 01010101 |SUB EDX,1010101 00555F91 |. 81E2 80808080 |AND EDX,80808080 00555F97 |.^74 EB |JE SHORT 010Edito.00555F84 00555F99 |. F7D1 |NOT ECX 00555F9B |. 23D1 |AND EDX,ECX 00555F9D |.^74 E5 \JE SHORT 010Edito.00555F84 00555F9F |. 84D2 TEST DL,DL 00555FA1 |. 75 28 JNZ SHORT 010Edito.00555FCB 00555FA3 |. 84F6 TEST DH,DH 00555FA5 |. 75 25 JNZ SHORT 010Edito.00555FCC 00555FA7 |. F7C2 0000FF00 TEST EDX,0FF0000 00555FAD |. 75 1E JNZ SHORT 010Edito.00555FCD 00555FAF |. EB 1D JMP SHORT 010Edito.00555FCE 00555FB1 |> 83C0 04 ADD EAX,4 00555FB4 |. F640 FC FF TEST BYTE PTR DS:[EAX-4],0FF 00555FB8 |. 74 11 JE SHORT 010Edito.00555FCB 00555FBA |. F640 FD FF TEST BYTE PTR DS:[EAX-3],0FF 00555FBE |. 74 0C JE SHORT 010Edito.00555FCC 00555FC0 |. F640 FE FF TEST BYTE PTR DS:[EAX-2],0FF 00555FC4 |. 74 07 JE SHORT 010Edito.00555FCD 00555FC6 |. 48 DEC EAX 00555FC7 |. 24 FC AND AL,0FC 00555FC9 |.^EB B9 JMP SHORT 010Edito.00555F84 00555FCB |> 48 DEC EAX 00555FCC |> 48 DEC EAX 00555FCD |> 48 DEC EAX 00555FCE |> 8B4C24 04 MOV ECX,DWORD PTR SS:[ESP+4] 00555FD2 |. 48 DEC EAX 00555FD3 |. 2BC1 SUB EAX,ECX 00555FD5 \. C3 RETN //////////////////////////////////////////////////////////calc_func1 /*004527B2*/ PUSH EBP /*004527B3*/ MOV EBP,ESP /*004527B5*/ PUSH ECX /*004527B6*/ MOV AL,BYTE PTR SS:[EBP+8] /*004527B9*/ XOR AL,18 /*004527BB*/ ADD AL,3D /*004527BD*/ XOR AL,0A7 /*004527BF*/ MOV BYTE PTR SS:[EBP-1],AL /*004527C2*/ MOV AL,BYTE PTR SS:[EBP-1] /*004527C5*/ POP ECX /*004527C6*/ POP EBP /*004527C7*/ RETN ///////////////////////////////////////////////////////////////////calc_func2 /*004527C8*/ PUSH EBP /*004527C9*/ MOV EBP,ESP /*004527CB*/ PUSH ECX /*004527CC*/ MOV AX,WORD PTR SS:[EBP+8] //param1 /*004527D0*/ XOR AX,7892 /*004527D4*/ ADD AX,4D30 /*004527D8*/ XOR AX,3421 /*004527DC*/ MOV WORD PTR SS:[EBP-2],AX /*004527E0*/ MOVZX EAX,WORD PTR SS:[EBP-2] //被除數 /*004527E4*/ MOV ECX,0B //除數 /* */ /*004527E9*/ CDQ /*004527EA*/ IDIV ECX /*004527EC*/ TEST EDX,EDX /*004527EE*/ JNZ AA4527FF /*004527F0*/ MOVZX EAX,WORD PTR SS:[EBP-2] /*004527F4*/ MOV ECX,0B /*004527F9*/ CDQ /*004527FA*/ IDIV ECX // /*004527FC*/ POP ECX //返回倍數, /*004527FD*/ POP EBP /*004527FE*/ RETN AA4527FF: /*004527FF*/ XOR EAX,EAX /*00452801*/ POP ECX /*00452802*/ POP EBP /*00452803*/ RETN 計算用戶和key的函數: 00452510 /$ 55 PUSH EBP 00452511 |. 8BEC MOV EBP,ESP 00452513 |. 83C4 F0 ADD ESP,-10 00452516 |. 53 PUSH EBX 00452517 |. 33C0 XOR EAX,EAX 00452519 |. 8945 FC MOV /*RESULT*/,EAX 0045251C |. FF75 08 PUSH /*USER_NAME*/ 0045251F |. E8 583A1000 CALL 010Edito.00555F7C //SEE BELOW 00452524 |. 59 POP ECX 00452525 |. 8945 F0 MOV /*CALC_COUNT*/,EAX //SAVE CALC_COUNT 00452528 |. 33D2 XOR EDX,EDX 0045252A |. 8955 F4 MOV /*VARIABLE_I*/,EDX //VARIABLE_I =0; 0045252D |. 8B4D F4 MOV ECX,/*VARIABLE_I*/ 00452530 |. 3B4D F0 CMP ECX,/*CALC_COUNT*/ // (IF CALC_COUNT <= 0) 00452533 |. 0F8D 3B010000 JGE 010Edito.00452674 // RETURN 0 00452539 |> 8B45 08 /MOV EAX,/*USER_NAME*/ 0045253C |. 8B55 F4 |MOV EDX,/*VARIABLE_I*/ 0045253F |. 0FBE0C10 |MOVSX ECX,BYTE PTR DS:[EAX+EDX] // USER_NAME[VARIABLE_I] 00452543 |. 51 |PUSH ECX ; /Arg1 = USER_NAME[VARIABLE_I] 00452544 |. E8 8BA41000 |CALL 010Edito.0055C9D4 ; \010Edito.0055C9D4 //SEE BELOW 00452549 |. 59 |POP ECX 0045254A |. 8945 F8 |MOV /*SEED_BYTE*/,EAX 0045254D |. 837D 0C 00 |CMP DWORD PTR SS:[EBP+C],0 //EBP+C == 1 00452551 |. 0F84 86000000 |JE 010Edito.004525DD //NO JUMP 00452557 |. 8B45 F8 |MOV EAX,/*SEED_BYTE*/ 0045255A |. 8B1485 DC48580>|MOV EDX,DWORD PTR DS:[EAX*4+5848DC] //EDX = G_ARR[SEED_BYTE *4] 00452561 |. 0355 FC |ADD EDX,/*RESULT*/ //EDX += RESULT; 00452564 |. 8B4D F8 |MOV ECX,/*SEED_BYTE*/ 00452567 |. 83C1 0D |ADD ECX,0D 0045256A |. 81E1 FF000000 |AND ECX,0FF 00452570 |. 33148D DC48580>|XOR EDX,DWORD PTR DS:[ECX*4+5848DC] // EDX ^= G_ARR[((SEED_BYTE +0D)&0FF) *4] 00452577 |. 8B45 F8 |MOV EAX,/*SEED_BYTE*/ 0045257A |. 83C0 2F |ADD EAX,2F 0045257D |. 25 FF000000 |AND EAX,0FF 00452582 |. 0FAF1485 DC485>|IMUL EDX,DWORD PTR DS:[EAX*4+5848DC]//EDX *=G_ARR[((SEED_BYTE +2F)&0FF) *4] 0045258A |. 6B4D F4 13 |IMUL ECX,/*VARIABLE_I*/,13 //ECX = VARIABLE_I *13; 0045258E |. 81E1 FF000000 |AND ECX,0FF 00452594 |. 03148D DC48580>|ADD EDX,DWORD PTR DS:[ECX*4+5848DC] 0045259B |. 8B45 F4 |MOV EAX,/*VARIABLE_I*/ 0045259E |. 8D04C0 |LEA EAX,DWORD PTR DS:[EAX+EAX*8] // DS:[i+i*8] 004525A1 |. 8B4D 10 |MOV ECX,DWORD PTR SS:[EBP+10] //[EBP+10] == 01 004525A4 |. 8BD9 |MOV EBX,ECX 004525A6 |. C1E1 04 |SHL ECX,4 // ECX <<4; 004525A9 |. 03CB |ADD ECX,EBX // ECX += EBX; 004525AB |. 03C1 |ADD EAX,ECX // 004525AD |. 25 FF000000 |AND EAX,0FF 004525B2 |. 031485 DC48580>|ADD EDX,DWORD PTR DS:[EAX*4+5848DC]//EDX += G_ARR[EAX*4]; 004525B9 |. 6B45 F4 0D |IMUL EAX,/*VARIABLE_I*/,0D //EAX = VARIABLE_I * 0D 004525BD |. 8B4D 14 |MOV ECX,DWORD PTR SS:[EBP+14] // ==01 004525C0 |. 8BD9 |MOV EBX,ECX // 004525C2 |. C1E1 04 |SHL ECX,4 //ECX <<4; 004525C5 |. 2BCB |SUB ECX,EBX 004525C7 |. 03C1 |ADD EAX,ECX 004525C9 |. 25 FF000000 |AND EAX,0FF 004525CE |. 031485 DC48580>|ADD EDX,DWORD PTR DS:[EAX*4+5848DC]//EDX += G_ARR[EAX*4]; 004525D5 |. 8955 FC |MOV /*RESULT*/,EDX //RESULT == EDX; 004525D8 |. E9 88000000 |JMP 010Edito.00452665 004525DD |> 8B45 F8 |MOV EAX,/*SEED_BYTE*/ 004525E0 |. 8B1485 DC48580>|MOV EDX,DWORD PTR DS:[EAX*4+5848DC] 004525E7 |. 0355 FC |ADD EDX,/*RESULT*/ 004525EA |. 8B4D F8 |MOV ECX,/*SEED_BYTE*/ 004525ED |. 83C1 3F |ADD ECX,3F 004525F0 |. 81E1 FF000000 |AND ECX,0FF 004525F6 |. 33148D DC48580>|XOR EDX,DWORD PTR DS:[ECX*4+5848DC] 004525FD |. 8B45 F8 |MOV EAX,/*SEED_BYTE*/ 00452600 |. 83C0 17 |ADD EAX,17 00452603 |. 25 FF000000 |AND EAX,0FF 00452608 |. 0FAF1485 DC485>|IMUL EDX,DWORD PTR DS:[EAX*4+5848DC] 00452610 |. 8B4D F4 |MOV ECX,/*VARIABLE_I*/ 00452613 |. 8BC1 |MOV EAX,ECX 00452615 |. C1E1 03 |SHL ECX,3 00452618 |. 2BC8 |SUB ECX,EAX 0045261A |. 81E1 FF000000 |AND ECX,0FF 00452620 |. 03148D DC48580>|ADD EDX,DWORD PTR DS:[ECX*4+5848DC] 00452627 |. 8B4D F4 |MOV ECX,/*VARIABLE_I*/ 0045262A |. 8D0CC9 |LEA ECX,DWORD PTR DS:[ECX+ECX*8] 0045262D |. 8B45 10 |MOV EAX,DWORD PTR SS:[EBP+10] 00452630 |. 8BD8 |MOV EBX,EAX 00452632 |. C1E0 04 |SHL EAX,4 00452635 |. 03C3 |ADD EAX,EBX 00452637 |. 03C8 |ADD ECX,EAX 00452639 |. 81E1 FF000000 |AND ECX,0FF 0045263F |. 03148D DC48580>|ADD EDX,DWORD PTR DS:[ECX*4+5848DC] 00452646 |. 6B45 F4 0D |IMUL EAX,/*VARIABLE_I*/,0D 0045264A |. 8B4D 14 |MOV ECX,DWORD PTR SS:[EBP+14] 0045264D |. 8BD9 |MOV EBX,ECX 0045264F |. C1E1 04 |SHL ECX,4 00452652 |. 2BCB |SUB ECX,EBX 00452654 |. 03C1 |ADD EAX,ECX 00452656 |. 25 FF000000 |AND EAX,0FF 0045265B |. 031485 DC48580>|ADD EDX,DWORD PTR DS:[EAX*4+5848DC] 00452662 |. 8955 FC |MOV /*RESULT*/,EDX 00452665 |> FF45 F4 |INC /*VARIABLE_I*/ // VARIABLE_I ++; 00452668 |. 8B45 F4 |MOV EAX,/*VARIABLE_I*/ 0045266B |. 3B45 F0 |CMP EAX,/*CALC_COUNT*/ 0045266E |.^0F8C C5FEFFFF \JL 010Edito.00452539 //WHILE (VARIAL < CALC_COUNT) 00452674 |> 8B45 FC MOV EAX,/*RESULT*/ //RETURN RESULT; 00452677 |. 5B POP EBX 00452678 |. 8BE5 MOV ESP,EBP 0045267A |. 5D POP EBP 0045267B \. C3 RETN /////////////////////////////////////////////////////////////////////////////////////// 00555F7C /$ 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4] // EAX = USER_NAME 00555F80 |. A8 03 TEST AL,3 00555F82 |. 75 2D JNZ AA555FB1 //NO JUMP 00555F84 |> 8B10 /MOV EDX,DWORD PTR DS:[EAX] 00555F86 |. 83C0 04 |ADD EAX,4 00555F89 |. 8BCA |MOV ECX,EDX 00555F8B |. 81EA 01010101 |SUB EDX,1010101 00555F91 |. 81E2 80808080 |AND EDX,80808080 00555F97 |.^74 EB |JE SHORT 010Edito.00555F84 00555F99 |. F7D1 |NOT ECX 00555F9B |. 23D1 |AND EDX,ECX 00555F9D |.^74 E5 \JE SHORT 010Edito.00555F84 00555F9F |. 84D2 TEST DL,DL 00555FA1 |. 75 28 JNZ SHORT 010Edito.00555FCB 00555FA3 |. 84F6 TEST DH,DH 00555FA5 |. 75 25 JNZ SHORT 010Edito.00555FCC 00555FA7 |. F7C2 0000FF00 TEST EDX,0FF0000 00555FAD |. 75 1E JNZ SHORT 010Edito.00555FCD 00555FAF |. EB 1D JMP SHORT 010Edito.00555FCE 00555FB1 |> 83C0 04 ADD EAX,4 00555FB4 |. F640 FC FF TEST BYTE PTR DS:[EAX-4],0FF 00555FB8 |. 74 11 JE SHORT 010Edito.00555FCB 00555FBA |. F640 FD FF TEST BYTE PTR DS:[EAX-3],0FF 00555FBE |. 74 0C JE SHORT 010Edito.00555FCC 00555FC0 |. F640 FE FF TEST BYTE PTR DS:[EAX-2],0FF 00555FC4 |. 74 07 JE SHORT 010Edito.00555FCD 00555FC6 |. 48 DEC EAX 00555FC7 |. 24 FC AND AL,0FC 00555FC9 |.^EB B9 JMP SHORT 010Edito.00555F84 00555FCB |> 48 DEC EAX 00555FCC |> 48 DEC EAX 00555FCD |> 48 DEC EAX 00555FCE |> 8B4C24 04 MOV ECX,DWORD PTR SS:[ESP+4] 00555FD2 |. 48 DEC EAX 00555FD3 |. 2BC1 SUB EAX,ECX 00555FD5 \. C3 RETN //////////////////////////////////////////////////////////////////////////////////////// 0055C9D4 /$ 55 PUSH EBP 0055C9D5 |. 8BEC MOV EBP,ESP 0055C9D7 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] //MOVE EAX,PARAM1 0055C9DA |. 83F8 FF CMP EAX,-1 //IF EAX != FF 0055C9DD |. 75 05 JNZ SHORT 010Edito.0055C9E4 0055C9DF |. 83C8 FF OR EAX,FFFFFFFF 0055C9E2 |. 5D POP EBP 0055C9E3 |. C3 RETN 0055C9E4 |> 33D2 XOR EDX,EDX //EDX = 0 0055C9E6 |. 8AD0 MOV DL,AL 0055C9E8 |. F60455 36EF590>TEST BYTE PTR DS:[EDX*2+59EF36],2 //IF (! (59EF36(PARAM1*2) & 2) ) 0055C9F0 |. 74 07 JE SHORT 010Edito.0055C9F9 // RETURN PARAM1; 0055C9F2 |. 83C2 E0 ADD EDX,-20 0055C9F5 |. 8BC2 MOV EAX,EDX // RETURN PARAM1-20 0055C9F7 |. 5D POP EBP 0055C9F8 |. C3 RETN 0055C9F9 |> 8BC2 MOV EAX,EDX 0055C9FB |. 5D POP EBP 0055C9FC \. C3 RETN 註冊機的C程式碼: #include <stdio.h> #include <windows.h> DWORD G_SEEDS[]= { 0x39CB44B8,0x23754F67,0x5F017211,0x3EBB24DA ,0x351707C6,0x63F9774B,0x17827288,0x0FE74821 ,0x5B5F670F,0x48315AE8,0x785B7769,0x2B7A1547 ,0x38D11292,0x42A11B32,0x35332244,0x77437B60 ,0x1EAB3B10,0x53810000,0x1D0212AE,0x6F0377A8 ,0x43C03092,0x2D3C0A8E,0x62950CBF,0x30F06FFA ,0x34F710E0,0x28F417FB,0x350D2F95,0x5A361D5A ,0x15CC060B,0x0AFD13CC,0x28603BCF,0x3371066B ,0x30CD14E4,0x175D3A67,0x6DD66A13,0x2D3409F9 ,0x581E7B82,0x76526B99,0x5C8D5188,0x2C857971 ,0x15F51FC0,0x68CC0D11,0x49F55E5C,0x275E4364 ,0x2D1E0DBC,0x4CEE7CE3,0x32555840,0x112E2E08 ,0x6978065A,0x72921406,0x314578E7,0x175621B7 ,0x40771DBF,0x3FC238D6,0x4A31128A,0x2DAD036E ,0x41A069D6,0x25400192,0x00DD4667,0x6AFC1F4F ,0x571040CE,0x62FE66DF,0x41DB4B3E,0x3582231F ,0x55F6079A,0x1CA70644,0x1B1643D2,0x3F7228C9 ,0x5F141070,0x3E1474AB,0x444B256E,0x537050D9 ,0x0F42094B,0x2FD820E6,0x778B2E5E,0x71176D02 ,0x7FEA7A69,0x5BB54628,0x19BA6C71,0x39763A99 ,0x178D54CD,0x01246E88,0x3313537E,0x2B8E2D17 ,0x2A3D10BE,0x59D10582,0x37A163DB,0x30D6489A ,0x6A215C46,0x0E1C7A76,0x1FC760E7,0x79B80C65 ,0x27F459B4,0x799A7326,0x50BA1782,0x2A116D5C ,0x63866E1B,0x3F920E3C,0x55023490,0x55B56089 ,0x2C391FD1,0x2F8035C2,0x64FD2B7A,0x4CE8759A ,0x518504F0,0x799501A8,0x3F5B2CAD,0x38E60160 ,0x637641D8,0x33352A42,0x51A22C19,0x085C5851 ,0x032917AB,0x2B770AC7,0x30AC77B3,0x2BEC1907 ,0x035202D0,0x0FA933D3,0x61255DF3,0x22AD06BF ,0x58B86971,0x5FCA0DE5,0x700D6456,0x56A973DB ,0x5AB759FD,0x330E0BE2,0x5B3C0DDD,0x495D3C60 ,0x53BD59A6,0x4C5E6D91,0x49D9318D,0x103D5079 ,0x61CE42E3,0x7ED5121D,0x14E160ED,0x212D4EF2 ,0x270133F0,0x62435A96,0x1FA75E8B,0x6F092FBE ,0x4A000D49,0x57AE1C70,0x004E2477,0x561E7E72 ,0x468C0033,0x5DCC2402,0x78507AC6,0x58AF24C7 ,0x0DF62D34,0x358A4708,0x3CFB1E11,0x2B71451C ,0x77A75295,0x56890721,0x0FEF75F3,0x120F24F1 ,0x01990AE7,0x339C4452,0x27A15B8E,0x0BA7276D ,0x60DC1B7B,0x4F4B7F82,0x67DB7007,0x4F4A57D9 ,0x621252E8,0x20532CFC,0x6A390306,0x18800423 ,0x19F3778A,0x462316F0,0x56AE0937,0x43C2675C ,0x65CA45FD,0x0D604FF2,0x0BFD22CB,0x3AFE643B ,0x3BF67FA6,0x44623579,0x184031F8,0x32174F97 ,0x4C6A092A,0x5FB50261,0x01650174,0x33634AF1 ,0x712D18F4,0x6E997169,0x5DAB7AFE,0x7C2B2EE8 ,0x6EDB75B4,0x5F836FB6,0x3C2A6DD6,0x292D05C2 ,0x052244DB,0x149A5F4F,0x5D486540,0x331D15EA ,0x4F456920,0x483A699F,0x3B450F05,0x3B207C6C ,0x749D70FE,0x417461F6,0x62B031F1,0x2750577B ,0x29131533,0x588C3808,0x1AEF3456,0x0F3C00EC ,0x7DA74742,0x4B797A6C,0x5EBB3287,0x786558B8 ,0x00ED4FF2,0x6269691E,0x24A2255F,0x62C11F7E ,0x2F8A7DCD,0x643B17FE,0x778318B8,0x253B60FE ,0x34BB63A3,0x5B03214F,0x5F1571F4,0x1A316E9F ,0x7ACF2704,0x28896838,0x18614677,0x1BF569EB ,0x0BA85EC9,0x6ACA6B46,0x1E43422A,0x514D5F0E ,0x413E018C,0x307626E9,0x01ED1DFA,0x49F46F5A ,0x461B642B,0x7D7007F2,0x13652657,0x6B160BC5 ,0x65E04849,0x1F526E1C,0x5A0251B6,0x2BD73F69 ,0x2DBF7ACD,0x51E63E80,0x5CF2670F,0x21CD0A03 ,0x5CFF0261,0x33AE061E,0x3BB6345F,0x5D814A75 ,0x257B5DF4,0x0A5C2C5B,0x16A45527,0x16F23945 ,0xB3CBCD26,0xA1C800F6,0x2628FBCF,0xEBC70043 }; WORD _G_BYTESEEDS[]= { 0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020 ,0x0020,0x0028,0x0028,0x0028,0x0028,0x0028,0x0020,0x0020 ,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020 ,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020,0x0020 ,0x0048,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010 ,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010 ,0x0084,0x0084,0x0084,0x0084,0x0084,0x0084,0x0084,0x0084 ,0x0084,0x0084,0x0010,0x0010,0x0010,0x0010,0x0010,0x0010 ,0x0010,0x0181,0x0181,0x0181,0x0181,0x0181,0x0181,0x0101 ,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101 ,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101 ,0x0101,0x0101,0x0101,0x0010,0x0010,0x0010,0x0010,0x0010 ,0x0010,0x0182,0x0182,0x0182,0x0182,0x0182,0x0182,0x0102 ,0x0102,0x0102,0x0102,0x0102,0x0102,0x0102,0x0102,0x0102 ,0x0102,0x0102,0x0102,0x0102,0x0102,0x0102,0x0102,0x0102 ,0x0102,0x0102,0x0102,0x0010,0x0010,0x0010,0x0010,0x0020 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 ,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 }; PBYTE G_BYTESEEDS = (PBYTE)_G_BYTESEEDS; DWORD __declspec( naked ) GetCalc_Count(char *username) { _asm { /*00555F7C*/ MOV EAX,DWORD PTR SS:[ESP+4] // EAX = USER_NAME /*00555F80*/ TEST AL,3 /*00555F82*/ JNZ AA555FB1 //NO JUMP AA555F84: /*00555F84*/ MOV EDX,DWORD PTR DS:[EAX] /*00555F86*/ ADD EAX,4 /*00555F89*/ MOV ECX,EDX /*00555F8B*/ SUB EDX,1010101h /*00555F91*/ AND EDX,80808080h /*00555F97*/ JE AA555F84 /*00555F99*/ NOT ECX /*00555F9B*/ AND EDX,ECX /*00555F9D*/ JE AA555F84 /*00555F9F*/ TEST DL,DL /*00555FA1*/ JNZ AA555FCB /*00555FA3*/ TEST DH,DH /*00555FA5*/ JNZ AA555FCC /*00555FA7*/ TEST EDX,0FF0000h /*00555FAD*/ JNZ AA555FCD /*00555FAF*/ JMP AA555FCE AA555FB1: /*00555FB1*/ ADD EAX,4 /*00555FB4*/ TEST BYTE PTR DS:[EAX-4],0FFh /*00555FB8*/ JE AA555FCB /*00555FBA*/ TEST BYTE PTR DS:[EAX-3],0FFh /*00555FBE*/ JE AA555FCC /*00555FC0*/ TEST BYTE PTR DS:[EAX-2],0FFh /*00555FC4*/ JE AA555FCD /*00555FC6*/ DEC EAX /*00555FC7*/ AND AL,0FCh /*00555FC9*/ JMP AA555F84 AA555FCB: /*00555FCB*/ DEC EAX AA555FCC: /*00555FCC*/ DEC EAX AA555FCD: /*00555FCD*/ DEC EAX AA555FCE: /*00555FCE*/ MOV ECX,DWORD PTR SS:[ESP+4] /*00555FD2*/ DEC EAX /*00555FD3*/ SUB EAX,ECX /*00555FD5*/ RETN } } BYTE __declspec( naked ) GetCalcSeed(char seed) { _asm{ /*0055C9D4*/ PUSH EBP /*0055C9D5*/ MOV EBP,ESP /*0055C9D7*/ MOV EAX,DWORD PTR SS:[EBP+8] //MOVE EAX,PARAM1 /*0055C9DA*/ CMP EAX,-1 //IF EAX != FF /*0055C9DD*/ JNZ AA55C9E4 /*0055C9DF*/ OR EAX,0xFFFFFFFF /*0055C9E2*/ POP EBP /*0055C9E3*/ RETN AA55C9E4: /*0055C9E4*/ XOR EDX,EDX //EDX = 0 /*0055C9E6*/ MOV DL,AL /*0055C9E8*/ TEST BYTE PTR DS:[EDX*2+G_BYTESEEDS],2 //IF (! (59EF36(PARAM1*2) & 2) ) /*0055C9F0*/ JE AA55C9F9 // RETURN PARAM1; /*0055C9F2*/ ADD EDX,-20h /*0055C9F5*/ MOV EAX,EDX // RETURN PARAM1-20 /*0055C9F7*/ POP EBP /*0055C9F8*/ RETN AA55C9F9: /*0055C9F9*/ MOV EAX,EDX /*0055C9FB*/ POP EBP /*0055C9FC*/ RETN } } DWORD calckey(char * USER_NAME,BOOL bSth,BOOL CTRL1, BOOL CTRL2) { DWORD tmpEDX,CALC_COUNT; DWORD RESULT = 0; DWORD tmp1,tmp2; BYTE SEED_BYTE; DWORD i; CALC_COUNT = GetCalc_Count(USER_NAME); if(CALC_COUNT <= 0) return 0; for(i=0;i<CALC_COUNT;i++) { SEED_BYTE = GetCalcSeed(USER_NAME[i]); if(bSth ==0) { } else { tmpEDX = G_SEEDS[SEED_BYTE]; //1 tmpEDX += RESULT; //2 tmpEDX ^=G_SEEDS[(SEED_BYTE +0x0D)&0xFF ];//3 tmpEDX *=G_SEEDS[(SEED_BYTE +0x2F)&0xFF];//4 tmp1 = (i*0x13) & 0xff; tmpEDX +=G_SEEDS[tmp1];//5; tmp1 = i+i*8; tmp2 = CTRL1; tmp2 = tmp2 <<4; tmp2 += CTRL1; tmp1 += tmp2; tmp1 &= 0xff; tmpEDX +=G_SEEDS[tmp1];//6 tmp1 = (i*0x0D) & 0xff; tmp2 = CTRL2; tmp2 = tmp2 <<4; tmp2 -= CTRL2; tmp1 += tmp2; tmpEDX +=G_SEEDS[tmp1];//7 RESULT = tmpEDX; } } return RESULT; } BYTE __declspec( naked ) CALC_CTRL1(BYTE seedb) { _asm{ /*004527B2*/ PUSH EBP /*004527B3*/ MOV EBP,ESP /*004527B5*/ PUSH ECX /*004527B6*/ MOV AL,BYTE PTR SS:[EBP+8] /*004527B9*/ XOR AL,0x18 /*004527BB*/ ADD AL,0x3D /*004527BD*/ XOR AL,0xA7 /*004527BF*/ MOV BYTE PTR SS:[EBP-1],AL /*004527C2*/ MOV AL,BYTE PTR SS:[EBP-1] /*004527C5*/ POP ECX /*004527C6*/ POP EBP /*004527C7*/ RETN } } WORD __declspec( naked ) CALC_CTRL2(WORD seedw) { _asm { /*004527C8*/ PUSH EBP /*004527C9*/ MOV EBP,ESP /*004527CB*/ PUSH ECX /*004527CC*/ MOV AX,WORD PTR SS:[EBP+8] //param1 /*004527D0*/ XOR AX,7892h /*004527D4*/ ADD AX,4D30h /*004527D8*/ XOR AX,3421h /*004527DC*/ MOV WORD PTR SS:[EBP-2],AX /*004527E0*/ MOVZX EAX,WORD PTR SS:[EBP-2] //被除數 /*004527E4*/ MOV ECX,0Bh //除數 /* */ /*004527E9*/ CDQ /*004527EA*/ IDIV ECX /*004527EC*/ TEST EDX,EDX /*004527EE*/ JNZ AA4527FF /*004527F0*/ MOVZX EAX,WORD PTR SS:[EBP-2] /*004527F4*/ MOV ECX,0Bh /*004527F9*/ CDQ /*004527FA*/ IDIV ECX // /*004527FC*/ POP ECX //返回倍數, /*004527FD*/ POP EBP /*004527FE*/ RETN AA4527FF: /*004527FF*/ XOR EAX,EAX /*00452801*/ POP ECX /*00452802*/ POP EBP /*00452803*/ RETN } } CHAR INFO[][255]= { "*********************************************\n", "** **\n", "** KEYGEN FOR 010 Editor V1.3 **\n", "** **\n", "** BY YANG**\n", "** 2004.5.15**\n", "** ANY QUESTION ABOUT THIS KEYGEN**\n", "** PLEASE MAIL TO YHF@CHINAWEAL.COM**\n" "*********************************************\n", "GOT THE KEY SUCCESSFULLY,ENJOY IT! \n" }; int main(int argc,char *arg[]) { DWORD KEYGEN = 0; CHAR USER_NAME[255]=""; BYTE KEYS[8]={0}; BYTE i,j,tmpa; WORD testword,tmpb; if(argc <2) { printf("Input A user Name please!\n"); return 0; } for(i=1;i<argc;i++) { if(lstrlen(USER_NAME)!=0) { lstrcat(USER_NAME," "); } lstrcat(USER_NAME,arg[i]); } KEYGEN = calckey(USER_NAME,1,1,1); //printf("%X\n",KEYGEN); memcpy(&KEYS[4],&KEYGEN,sizeof(KEYGEN)); KEYS[3] = 0x9C; for(i=0;i<255;i++) { tmpa = i; tmpa ^= KEYS[6]; //1ST XOR 7TH if(CALC_CTRL1(tmpa) == 1) { KEYS[0] = i; break; } } for(i=0;i<255;i++) { for(j=0;j<255;j++) { tmpa = i; tmpb = j; tmpa ^= KEYS[7]; //2ND XOR 8TH testword = 0; testword = tmpa; testword <<=8; tmpb ^= KEYS[5]; //3rd xor 6th testword |= tmpb; if(CALC_CTRL2(testword)==1) { KEYS[1] = i; KEYS[2] = j; for(j=0;j<10;j++) { printf("%s",INFO[j]); } printf("NAME: %s\n",USER_NAME); printf("KEYS: "); for(j = 0;j<8;j++) { if(KEYS[j]<0x10) { printf("0"); } printf("%X",KEYS[j]); if((j+1)%2 == 0 && j!=7) { printf("-"); } } printf("\n"); return 0; } } } return 0; } -------------------------------------------------------------------------------- pediy |
送花文章: 3,
|
主題工具 | |
顯示模式 | |
|
|
相似的主題 | ||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
全球各地IP分配表 | 貝斯特 | 網路軟硬體架設技術文件 | 23 | 2004-09-19 01:01 PM |
202 IP 開頭的位置 | n17948125 | 一般電腦疑難討論區 | 0 | 2002-12-13 03:01 PM |