From 5583df8694f576d14c6d8f99e2d1c71460230415 Mon Sep 17 00:00:00 2001 From: Chenx221 Date: Tue, 17 Dec 2024 14:53:35 +0800 Subject: [PATCH] solved new crackme --- CM2/FOFF.nfo | 146 +++++++++++ CM2/KeyGenMe_#1_cLoNeTrOnE.exe | Bin 0 -> 14848 bytes CM2/KeyGenMe_#1_cLoNeTrOnE_w81fix.exe | Bin 0 -> 14848 bytes CM2/file_id.diz | 3 + CM2/keygen/sp_keygen.exe | Bin 0 -> 136342 bytes CM2/solve.md | 241 ++++++++++++++++++ CM2/source/keygen1.sln | 163 ++++++++++++ CM2/source/sp_keygen/Program.cs | 59 +++++ .../Properties/Resources.Designer.cs | 63 +++++ .../sp_keygen/Properties/Resources.resx | 101 ++++++++ .../sp_keygen/Properties/launchSettings.json | 8 + CM2/source/sp_keygen/sp_keygen.csproj | 25 ++ 12 files changed, 809 insertions(+) create mode 100644 CM2/FOFF.nfo create mode 100644 CM2/KeyGenMe_#1_cLoNeTrOnE.exe create mode 100644 CM2/KeyGenMe_#1_cLoNeTrOnE_w81fix.exe create mode 100644 CM2/file_id.diz create mode 100644 CM2/keygen/sp_keygen.exe create mode 100644 CM2/solve.md create mode 100644 CM2/source/keygen1.sln create mode 100644 CM2/source/sp_keygen/Program.cs create mode 100644 CM2/source/sp_keygen/Properties/Resources.Designer.cs create mode 100644 CM2/source/sp_keygen/Properties/Resources.resx create mode 100644 CM2/source/sp_keygen/Properties/launchSettings.json create mode 100644 CM2/source/sp_keygen/sp_keygen.csproj diff --git a/CM2/FOFF.nfo b/CM2/FOFF.nfo new file mode 100644 index 0000000..3e1ae93 --- /dev/null +++ b/CM2/FOFF.nfo @@ -0,0 +1,146 @@ + + + : ۲ ۲۲ ۲۲ ۲ ۲ ۲ : + ij ۱ ۱۲ ۱۲ ۱ ۱ ۲ + ---۰--۰۰۲۰--۰--- + ۱ ۱ ۱ ۲ ۱ ۱ + | ۲ ۲ ۲ ۲ ۲ ۲ ۲ | + : : + : iNFORMATiON : + .. + . . + + - FiGHT ONLY 4 FREEDOM - + P r e s e n t s + + KeygenMe 1 (c) by Team FOFF + + + ܲ۲۲ + ۲۲۲ + ۲ ܲ + + + Cracked by. [ - ] Rls Type . [ KeygenMe 1 ] + Tested by.. [ Team FOFF ] Date ..... [ 05-03-2007 ] + Packed by.. [ Team FOFF ] OS ....... [ Win All ] + Supplied by [ Team FOFF ] Language . [ English ] + Protection. [ Serial ] Disks .... [ 01 ] + + . + ۲ ܲ ۲ +ܲ ۲۲ܲ۲ ۲ ۲ ۲ ۲ ۲۲ ߲ + ޲ ۲ ߲ ܲ ۲ ݰ ޲ + ߲ ߲ ۲ +۲ . + + + ߲ ߲ + ܲ ߲ + ܲ ܲ + ۲ ߲ + ߱ NOTES + + + + KegenMe by cLoNeTrOnE written on masm32, create a keygen for it on + any kind of programming tool but bruteforce is not allowed. + + + + + ܲ + + ߲ ߲ + ߲ ߲ + ܲ + ۲ ܲ + ߱ NOTES + + + + + Unpack from ZIP archieve and run it :) + + + + + + ܲ + + ߲ ܲ + ܲ ߲ ܲ + ܲ + ۲ MEMBERS + + + + + + {:... Team Components ....:} + + MiStEr_X.................................:{ Founder/Cracker } + cLoNeTrOnE ................................:{ Cracker/Coder } + CooL As Ice....................................:{ Supporter } + + + + + + + + ܲ + ܲ + ۲ Join Us + + + + + We at FOFF are opened to accept new members and relese cracks to + contribute to the underground community. Of course we can not + accept newbies, we are willing to have in our Team experienced + crackers, coders, keygenners, etc. + + + + + + ܲ + ܲ ܲ + ܲ + ۲ GREETz ߲ + ߱ + + + + +  CrackZ  FFF  CiM  ARTeam  DiGERATi  +  PARADOX  PiZZA  DEViANCE  TSRh  FHCF  +  Astalavista.MS Community  + + + + + ߲ ߲ + ܲ ܲ ߲ ܲ + ܲ + ۲ CONTACT ߲ + ߱ + + + + + :[WWW] ................:[ http://foff.astalavista.ms ]: + + + + + . + ۲ ܲ ۲ +ܲ ۲۲ܲ۲ ۲ ۲ ۲ ۲ ۲۲ ߲ + ޲ ۲ ߲ ܲ ۲ ݰ ޲ + ߲ ߲ ۲ +۲ + [ NFO by creepah Last update on 12-02-2k7 ] + + diff --git a/CM2/KeyGenMe_#1_cLoNeTrOnE.exe b/CM2/KeyGenMe_#1_cLoNeTrOnE.exe new file mode 100644 index 0000000000000000000000000000000000000000..a901a786404e2471e53f8669a95ee71442c71a96 GIT binary patch literal 14848 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 F{ZIB+fR+FN literal 0 HcmV?d00001 diff --git a/CM2/KeyGenMe_#1_cLoNeTrOnE_w81fix.exe b/CM2/KeyGenMe_#1_cLoNeTrOnE_w81fix.exe new file mode 100644 index 0000000000000000000000000000000000000000..764e3aff32c5f76ee44952773627a0d37bcb20fa GIT binary patch literal 14848 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 HPaOK6j4Obs literal 0 HcmV?d00001 diff --git a/CM2/file_id.diz b/CM2/file_id.diz new file mode 100644 index 0000000..3fa12ee --- /dev/null +++ b/CM2/file_id.diz @@ -0,0 +1,3 @@ + KeygenMe 1 (c) by Team FOFF + + [DISK: xx/01 ] [DATE: 05-03-2007 ] [OS: Win All ] \ No newline at end of file diff --git a/CM2/keygen/sp_keygen.exe b/CM2/keygen/sp_keygen.exe new file mode 100644 index 0000000000000000000000000000000000000000..91df6d4f574cd94bd648421dccc00b287a9de68d GIT binary patch literal 136342 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 | +0040104F | 68 BA314000 | push keygenme_#1_clonetrone.4031BA | +00401054 | 6A 06 | push 6 | +00401056 | FF75 08 | push dword ptr ss:[ebp+8] | +00401059 | E8 7E030000 | call | +0040105E | 68 BA314000 | push keygenme_#1_clonetrone.4031BA | +00401063 | 6A 03 | push 3 | +00401065 | FF75 08 | push dword ptr ss:[ebp+8] | +00401068 | E8 6F030000 | call | +0040106D | E9 75010000 | jmp keygenme_#1_clonetrone.4011E7 | +00401072 | 837D 0C 10 | cmp dword ptr ss:[ebp+C],10 | +00401076 | 75 0F | jne keygenme_#1_clonetrone.401087 | +00401078 | 6A 00 | push 0 | +0040107A | FF75 08 | push dword ptr ss:[ebp+8] | +0040107D | E8 48030000 | call | +00401082 | E9 60010000 | jmp keygenme_#1_clonetrone.4011E7 | +00401087 | 817D 0C 11010000 | cmp dword ptr ss:[ebp+C],111 | +0040108E | 0F85 4A010000 | jne keygenme_#1_clonetrone.4011DE | +00401094 | 33C0 | xor eax,eax | +00401096 | 8B45 10 | mov eax,dword ptr ss:[ebp+10] | [ebp+10]:EntryPoint +00401099 | C1E8 10 | shr eax,10 | +0040109C | 0BC0 | or eax,eax | +0040109E | 0F85 43010000 | jne keygenme_#1_clonetrone.4011E7 | +004010A4 | 33C0 | xor eax,eax | +004010A6 | 8B45 10 | mov eax,dword ptr ss:[ebp+10] | [ebp+10]:EntryPoint +004010A9 | C1C0 10 | rol eax,10 | +004010AC | C1E8 10 | shr eax,10 | +004010AF | 83F8 01 | cmp eax,1 | +004010B2 | 0F85 E7000000 | jne keygenme_#1_clonetrone.40119F | +004010B8 | 66:FF0D C9324000 | dec word ptr ds:[4032C9] | CheckBtn +004010BF | 6A 50 | push 50 | +004010C1 | 68 54324000 | push | Name +004010C6 | 6A 03 | push 3 | +004010C8 | FF75 08 | push dword ptr ss:[ebp+8] | +004010CB | E8 00030000 | call | +004010D0 | A3 B8324000 | mov dword ptr ds:[],eax | length +004010D5 | 6A 14 | push 14 | +004010D7 | 68 A4324000 | push | Serial +004010DC | 6A 06 | push 6 | +004010DE | FF75 08 | push dword ptr ss:[ebp+8] | +004010E1 | E8 EA020000 | call | +004010E6 | A3 BC324000 | mov dword ptr ds:[],eax | length +004010EB | FF75 08 | push dword ptr ss:[ebp+8] | +004010EE | E8 EF020000 | call | +004010F3 | FF35 B8324000 | push dword ptr ds:[] | +004010F9 | 68 54324000 | push | +004010FE | E8 76020000 | call | +00401103 | 833D B8324000 00 | cmp dword ptr ds:[],0 | +0040110A | 75 14 | jne keygenme_#1_clonetrone.401120 | check if name is empty +0040110C | 68 BB314000 | push keygenme_#1_clonetrone.4031BB | 4031BB:"There is nothing here to be processed." +00401111 | 6A 03 | push 3 | +00401113 | FF75 08 | push dword ptr ss:[ebp+8] | +00401116 | E8 C1020000 | call | +0040111B | E9 9E000000 | jmp keygenme_#1_clonetrone.4011BE | +00401120 | 833D B8324000 04 | cmp dword ptr ds:[],4 | +00401127 | 73 14 | jae keygenme_#1_clonetrone.40113D | check if name length > 4 +00401129 | 68 0B324000 | push keygenme_#1_clonetrone.40320B | 40320B:"Name was too short. Put more than 3 chars" +0040112E | 6A 03 | push 3 | +00401130 | FF75 08 | push dword ptr ss:[ebp+8] | +00401133 | E8 A4020000 | call | +00401138 | E9 81000000 | jmp keygenme_#1_clonetrone.4011BE | +0040113D | 833D B8324000 3C | cmp dword ptr ds:[],3C | 3C:'<' +00401144 | 76 11 | jbe keygenme_#1_clonetrone.401157 | check if name length < 60 +00401146 | 68 E2314000 | push keygenme_#1_clonetrone.4031E2 | 4031E2:"Name was too long, buffer will overflow." +0040114B | 6A 03 | push 3 | +0040114D | FF75 08 | push dword ptr ss:[ebp+8] | +00401150 | E8 87020000 | call | +00401155 | EB 67 | jmp keygenme_#1_clonetrone.4011BE | +00401157 | 0BC0 | or eax,eax | +00401159 | 75 11 | jne keygenme_#1_clonetrone.40116C | check if name contains illegal char (!ascii) +0040115B | 68 00304000 | push keygenme_#1_clonetrone.403000 | 403000:"The Name contains invalid ASCII char [>127]." +00401160 | 6A 03 | push 3 | +00401162 | FF75 08 | push dword ptr ss:[ebp+8] | +00401165 | E8 72020000 | call | +0040116A | EB 52 | jmp keygenme_#1_clonetrone.4011BE | +0040116C | FF75 08 | push dword ptr ss:[ebp+8] | +0040116F | E8 EE000000 | call | +00401174 | 803D CB324000 00 | cmp byte ptr ds:[4032CB],0 | +0040117B | 75 19 | jne keygenme_#1_clonetrone.401196 | +0040117D | 68 10100000 | push 1010 | Fail +00401182 | 68 C6304000 | push keygenme_#1_clonetrone.4030C6 | 4030C6:"Invalid Serial - Serial Rejected" +00401187 | 68 7C304000 | push keygenme_#1_clonetrone.40307C | 40307C:"Wrong Serial. The Serial Is Case-Sensitive. Try Again. Never Give Up !!!." +0040118C | FF75 08 | push dword ptr ss:[ebp+8] | +0040118F | E8 42020000 | call | +00401194 | EB 07 | jmp keygenme_#1_clonetrone.40119D | +``` + +```assembly +00401379 | 55 | push ebp | isAscii (string,len) +0040137A | 8BEC | mov ebp,esp | EAX: True->1, False->0 +0040137C | 51 | push ecx | +0040137D | 52 | push edx | +0040137E | 33C0 | xor eax,eax | eax:_TppWorkerThread@4 +00401380 | 33C9 | xor ecx,ecx | +00401382 | 33D2 | xor edx,edx | +00401384 | 8B4D 0C | mov ecx,dword ptr ss:[ebp+C] | p1 +00401387 | 8B45 08 | mov eax,dword ptr ss:[ebp+8] | p0 +0040138A | EB 27 | jmp keygenme_#1_clonetrone.4013B3 | Loop +0040138C | 8A10 | mov dl,byte ptr ds:[eax] | eax:_TppWorkerThread@4 +0040138E | 80FA 7F | cmp dl,7F | +00401391 | 76 0B | jbe keygenme_#1_clonetrone.40139E | char <= ascii 127 +00401393 | 33C0 | xor eax,eax | eax:_TppWorkerThread@4 +00401395 | B8 00000000 | mov eax,0 | eax:_TppWorkerThread@4 +0040139A | EB 1B | jmp keygenme_#1_clonetrone.4013B7 | +0040139C | EB 13 | jmp keygenme_#1_clonetrone.4013B1 | +0040139E | 80FA 80 | cmp dl,80 | +004013A1 | 73 0E | jae keygenme_#1_clonetrone.4013B1 | char >= 128 +004013A3 | 83F9 01 | cmp ecx,1 | +004013A6 | 75 09 | jne keygenme_#1_clonetrone.4013B1 | l !== 1 +004013A8 | 33C0 | xor eax,eax | eax:_TppWorkerThread@4 +004013AA | B8 01000000 | mov eax,1 | eax:_TppWorkerThread@4 +004013AF | EB 06 | jmp keygenme_#1_clonetrone.4013B7 | +004013B1 | 40 | inc eax | eax:_TppWorkerThread@4 +004013B2 | 49 | dec ecx | +004013B3 | 0BC9 | or ecx,ecx | +004013B5 | 75 D5 | jne keygenme_#1_clonetrone.40138C | NextLoop +004013B7 | 5A | pop edx | +004013B8 | 59 | pop ecx | +004013B9 | C9 | leave | +004013BA | C2 0800 | ret 8 | +``` + +```assembly +00401262 | 55 | push ebp | checkSerial +00401263 | 8BEC | mov ebp,esp | +00401265 | 60 | pushad | +00401266 | 33C0 | xor eax,eax | eax:_TppWorkerThread@4 +00401268 | 33D2 | xor edx,edx | +0040126A | B9 10000000 | mov ecx,10 | +0040126F | A0 54324000 | mov al,byte ptr ds:[] | +00401274 | F6F1 | div cl | name[0] / 0x10 +00401276 | 8AD4 | mov dl,ah | mod +00401278 | 8A82 35324000 | mov al,byte ptr ds:[edx+] | edx+403235:"1AG4T3CX8ZF7R95Q" +0040127E | 8A15 A4324000 | mov dl,byte ptr ds:[] | +00401284 | 38D0 | cmp al,dl | +00401286 | 0F85 E8000000 | jne | serial[0] !== Keydatabase[name[0] % 0x10] +0040128C | 33C0 | xor eax,eax | eax:_TppWorkerThread@4 +0040128E | A0 55324000 | mov al,byte ptr ds:[403255] | name[1] +00401293 | F6F1 | div cl | +00401295 | 8AD4 | mov dl,ah | +00401297 | 8A82 35324000 | mov al,byte ptr ds:[edx+] | edx+403235:"1AG4T3CX8ZF7R95Q" +0040129D | 8A15 A5324000 | mov dl,byte ptr ds:[4032A5] | +004012A3 | 38D0 | cmp al,dl | +004012A5 | 0F85 C9000000 | jne | serial[1] !== Keydatabase[name[1] % 0x10] +004012AB | A0 A6324000 | mov al,byte ptr ds:[4032A6] | +004012B0 | 2C 2D | sub al,2D | +004012B2 | 0F85 BC000000 | jne | serial[2] !== '-' +004012B8 | 33D2 | xor edx,edx | +004012BA | 33C0 | xor eax,eax | eax:_TppWorkerThread@4 +004012BC | 33C9 | xor ecx,ecx | Sum(name char ascii) +004012BE | 8A8A 54324000 | mov cl,byte ptr ds:[edx+] | +004012C4 | 0AC9 | or cl,cl | +004012C6 | 74 05 | je keygenme_#1_clonetrone.4012CD | +004012C8 | 03C1 | add eax,ecx | eax:_TppWorkerThread@4 +004012CA | 42 | inc edx | +004012CB | EB EF | jmp keygenme_#1_clonetrone.4012BC | +004012CD | 50 | push eax | Sum +004012CE | 68 46324000 | push keygenme_#1_clonetrone.403246 | 403246:"%.8X" +004012D3 | 68 C0324000 | push | +004012DD | 83C4 0C | add esp,C | +004012E0 | 33C9 | xor ecx,ecx | +004012E2 | EB 11 | jmp keygenme_#1_clonetrone.4012F5 | Check serial[3..] == NameAscSumFormatStr +004012E4 | 8A81 C0324000 | mov al,byte ptr ds:[ecx+ | +004012FF | 33C0 | xor eax,eax | eax:_TppWorkerThread@4 +00401301 | A0 AF324000 | mov al,byte ptr ds:[4032AF] | +00401306 | 2C 2D | sub al,2D | +00401308 | 75 6A | jne | serial[11] !== '-' +0040130A | 33C0 | xor eax,eax | eax:_TppWorkerThread@4 +0040130C | B9 10000000 | mov ecx,10 | +00401311 | 8B1D B8324000 | mov ebx,dword ptr ds:[] | +00401317 | 8A83 52324000 | mov al,byte ptr ds:[ebx+403252] | name[^2] +0040131D | F6F1 | div cl | +0040131F | 8AD4 | mov dl,ah | +00401321 | 8A82 35324000 | mov al,byte ptr ds:[edx+] | ??? BUG (forget xor edx,edx?) +00401327 | 8A15 B0324000 | mov dl,byte ptr ds:[4032B0] | +0040132D | 38D0 | cmp al,dl | +0040132F | 75 43 | jne | serial[12] !== Keydatabase[name[^2] % 0x10] +00401331 | 33C0 | xor eax,eax | eax:_TppWorkerThread@4 +00401333 | 8A83 53324000 | mov al,byte ptr ds:[ebx+403253] | name[^1] +00401339 | F6F1 | div cl | +0040133B | 8AD4 | mov dl,ah | +0040133D | 8A82 35324000 | mov al,byte ptr ds:[edx+] | edx+403235:"1AG4T3CX8ZF7R95Q" +00401343 | 8A15 B1324000 | mov dl,byte ptr ds:[4032B1] | +00401349 | 38D0 | cmp al,dl | +0040134B | 75 27 | jne | serial[13] !== Keydatabase[name[^1] % 0x10] +0040134D | 68 30100000 | push 1030 | Success +00401352 | 68 59304000 | push keygenme_#1_clonetrone.403059 | 403059:"WoW, Very Good Job." +00401357 | 68 2D304000 | push keygenme_#1_clonetrone.40302D | 40302D:"Well Done Cracker !!!. Now, Code a KeyGen.?" +0040135C | FF75 08 | push dword ptr ss:[ebp+8] | +0040135F | E8 72000000 | call | +00401364 | 66:C705 C9324000 | mov word ptr ds:[4032C9],FFFF | +0040136D | C605 CB324000 01 | mov byte ptr ds:[4032CB],1 | +00401374 | 61 | popad | +00401375 | C9 | leave | ^ if jump here +00401376 | C2 0400 | ret 4 | +``` + +修复的几处代码请自己比对,我懒得放了 \ No newline at end of file diff --git a/CM2/source/keygen1.sln b/CM2/source/keygen1.sln new file mode 100644 index 0000000..3f0a221 --- /dev/null +++ b/CM2/source/keygen1.sln @@ -0,0 +1,163 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35303.130 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "keygen1", "keygen1\keygen1.csproj", "{D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "keygen2", "keygen2\keygen2.csproj", "{2446CB50-1882-4219-9DB0-E7F5517E6E20}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "keygen3", "keygen3\keygen3.csproj", "{BC47A6DE-7F9D-4D65-A996-69FB778C95F3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GiveMeSerial", "GiveMeSerial\GiveMeSerial.vcxproj", "{E3604156-7DF2-4B5F-AECA-64786B92F38C}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DllInjector", "DllInjector\DllInjector.csproj", "{A5A24406-1296-457B-91A3-60E67511D807}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GetSerial", "GetSerial\GetSerial.vcxproj", "{85044A5C-C4A3-4C79-9AD5-6895F61F8515}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GuessSerial", "GuessSerial\GuessSerial.csproj", "{7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Validator", "Validator\Validator.csproj", "{6BE1ED72-6CA9-4442-B529-C867A9D6904C}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FindKey", "FindKey\FindKey.csproj", "{D5E3C871-EA87-48E7-9287-E96B8410EB18}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sp_keygen", "sp_keygen\sp_keygen.csproj", "{D6614743-D01E-4899-A5E7-B4E45BD1B033}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Debug|x64.ActiveCfg = Debug|Any CPU + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Debug|x64.Build.0 = Debug|Any CPU + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Debug|x86.ActiveCfg = Debug|x86 + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Debug|x86.Build.0 = Debug|x86 + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Release|Any CPU.Build.0 = Release|Any CPU + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Release|x64.ActiveCfg = Release|x64 + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Release|x64.Build.0 = Release|x64 + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Release|x86.ActiveCfg = Release|x86 + {D0E162E3-FC99-4405-BEE1-AB85D9D41DA9}.Release|x86.Build.0 = Release|x86 + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Debug|x64.ActiveCfg = Debug|x64 + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Debug|x64.Build.0 = Debug|x64 + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Debug|x86.ActiveCfg = Debug|x86 + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Debug|x86.Build.0 = Debug|x86 + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Release|Any CPU.Build.0 = Release|Any CPU + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Release|x64.ActiveCfg = Release|x64 + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Release|x64.Build.0 = Release|x64 + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Release|x86.ActiveCfg = Release|x86 + {2446CB50-1882-4219-9DB0-E7F5517E6E20}.Release|x86.Build.0 = Release|x86 + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Debug|x64.ActiveCfg = Debug|Any CPU + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Debug|x64.Build.0 = Debug|Any CPU + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Debug|x86.ActiveCfg = Debug|x86 + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Debug|x86.Build.0 = Debug|x86 + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Release|Any CPU.Build.0 = Release|Any CPU + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Release|x64.ActiveCfg = Release|x64 + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Release|x64.Build.0 = Release|x64 + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Release|x86.ActiveCfg = Release|x86 + {BC47A6DE-7F9D-4D65-A996-69FB778C95F3}.Release|x86.Build.0 = Release|x86 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Debug|Any CPU.ActiveCfg = Debug|x64 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Debug|Any CPU.Build.0 = Debug|x64 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Debug|x64.ActiveCfg = Debug|x64 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Debug|x64.Build.0 = Debug|x64 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Debug|x86.ActiveCfg = Debug|Win32 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Debug|x86.Build.0 = Debug|Win32 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Release|Any CPU.ActiveCfg = Release|x64 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Release|Any CPU.Build.0 = Release|x64 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Release|x64.ActiveCfg = Release|x64 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Release|x64.Build.0 = Release|x64 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Release|x86.ActiveCfg = Release|Win32 + {E3604156-7DF2-4B5F-AECA-64786B92F38C}.Release|x86.Build.0 = Release|Win32 + {A5A24406-1296-457B-91A3-60E67511D807}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A5A24406-1296-457B-91A3-60E67511D807}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A5A24406-1296-457B-91A3-60E67511D807}.Debug|x64.ActiveCfg = Debug|Any CPU + {A5A24406-1296-457B-91A3-60E67511D807}.Debug|x64.Build.0 = Debug|Any CPU + {A5A24406-1296-457B-91A3-60E67511D807}.Debug|x86.ActiveCfg = Debug|Any CPU + {A5A24406-1296-457B-91A3-60E67511D807}.Debug|x86.Build.0 = Debug|Any CPU + {A5A24406-1296-457B-91A3-60E67511D807}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A5A24406-1296-457B-91A3-60E67511D807}.Release|Any CPU.Build.0 = Release|Any CPU + {A5A24406-1296-457B-91A3-60E67511D807}.Release|x64.ActiveCfg = Release|x64 + {A5A24406-1296-457B-91A3-60E67511D807}.Release|x64.Build.0 = Release|x64 + {A5A24406-1296-457B-91A3-60E67511D807}.Release|x86.ActiveCfg = Release|x86 + {A5A24406-1296-457B-91A3-60E67511D807}.Release|x86.Build.0 = Release|x86 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Debug|Any CPU.ActiveCfg = Debug|x64 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Debug|Any CPU.Build.0 = Debug|x64 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Debug|x64.ActiveCfg = Debug|x64 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Debug|x64.Build.0 = Debug|x64 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Debug|x86.ActiveCfg = Debug|Win32 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Debug|x86.Build.0 = Debug|Win32 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Release|Any CPU.ActiveCfg = Release|x64 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Release|Any CPU.Build.0 = Release|x64 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Release|x64.ActiveCfg = Release|x64 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Release|x64.Build.0 = Release|x64 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Release|x86.ActiveCfg = Release|Win32 + {85044A5C-C4A3-4C79-9AD5-6895F61F8515}.Release|x86.Build.0 = Release|Win32 + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Debug|x64.ActiveCfg = Debug|Any CPU + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Debug|x64.Build.0 = Debug|Any CPU + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Debug|x86.ActiveCfg = Debug|Any CPU + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Debug|x86.Build.0 = Debug|Any CPU + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Release|Any CPU.Build.0 = Release|Any CPU + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Release|x64.ActiveCfg = Release|x64 + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Release|x64.Build.0 = Release|x64 + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Release|x86.ActiveCfg = Release|x86 + {7B2D3886-A213-4F99-89F7-D0D7DDAA97D9}.Release|x86.Build.0 = Release|x86 + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Debug|x64.ActiveCfg = Debug|Any CPU + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Debug|x64.Build.0 = Debug|Any CPU + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Debug|x86.ActiveCfg = Debug|Any CPU + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Debug|x86.Build.0 = Debug|Any CPU + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Release|Any CPU.Build.0 = Release|Any CPU + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Release|x64.ActiveCfg = Release|x64 + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Release|x64.Build.0 = Release|x64 + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Release|x86.ActiveCfg = Release|x86 + {6BE1ED72-6CA9-4442-B529-C867A9D6904C}.Release|x86.Build.0 = Release|x86 + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Debug|x64.ActiveCfg = Debug|Any CPU + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Debug|x64.Build.0 = Debug|Any CPU + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Debug|x86.ActiveCfg = Debug|Any CPU + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Debug|x86.Build.0 = Debug|Any CPU + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Release|Any CPU.Build.0 = Release|Any CPU + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Release|x64.ActiveCfg = Release|x64 + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Release|x64.Build.0 = Release|x64 + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Release|x86.ActiveCfg = Release|x86 + {D5E3C871-EA87-48E7-9287-E96B8410EB18}.Release|x86.Build.0 = Release|x86 + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Debug|x64.ActiveCfg = Debug|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Debug|x64.Build.0 = Debug|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Debug|x86.ActiveCfg = Debug|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Debug|x86.Build.0 = Debug|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Release|Any CPU.Build.0 = Release|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Release|x64.ActiveCfg = Release|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Release|x64.Build.0 = Release|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Release|x86.ActiveCfg = Release|Any CPU + {D6614743-D01E-4899-A5E7-B4E45BD1B033}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {01ED3EE8-E89A-4A27-AF68-EF2490CB6BD7} + EndGlobalSection +EndGlobal diff --git a/CM2/source/sp_keygen/Program.cs b/CM2/source/sp_keygen/Program.cs new file mode 100644 index 0000000..556874b --- /dev/null +++ b/CM2/source/sp_keygen/Program.cs @@ -0,0 +1,59 @@ +using System.Text; + +class Program +{ + static void Main() + { + Console.Write("Enter Name: "); + string? name = Console.ReadLine(); + //Check + if (string.IsNullOrEmpty(name) || name.Length <= 4 || name.Length >= 60 || !IsAscii(name)) + Console.Write("Invalid Name"); + else + { + CalcSerial(name); + } + Console.ReadKey(); + } + + public static void CalcSerial(string name) + { + const string keyDatabase = "1AG4T3CX8ZF7R95Q"; + StringBuilder sb = new(); + + sb.Append(keyDatabase[name[0] % 0x10]); + sb.Append(keyDatabase[name[1] % 0x10]); + sb.Append('-'); + sb.Append($"{GetAscii(name):X8}"); + sb.Append('-'); + sb.Append(keyDatabase[name[^2] % 0x10]); + sb.Append(keyDatabase[name[^1] % 0x10]); + + Console.WriteLine(sb.ToString()); + } + + //public static bool Check() + //{ + // return true; + //} + + public static bool IsAscii(string str) + { + foreach (char c in str) + { + if (c > 127) + return false; + } + return true; + } + + public static int GetAscii(string str) + { + int ascii = 0; + foreach (char c in str) + { + ascii += c; + } + return ascii; + } +} diff --git a/CM2/source/sp_keygen/Properties/Resources.Designer.cs b/CM2/source/sp_keygen/Properties/Resources.Designer.cs new file mode 100644 index 0000000..41461b5 --- /dev/null +++ b/CM2/source/sp_keygen/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace sp_keygen.Properties { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("sp_keygen.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性,对 + /// 使用此强类型资源类的所有资源查找执行重写。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/CM2/source/sp_keygen/Properties/Resources.resx b/CM2/source/sp_keygen/Properties/Resources.resx new file mode 100644 index 0000000..4fdb1b6 --- /dev/null +++ b/CM2/source/sp_keygen/Properties/Resources.resx @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/CM2/source/sp_keygen/Properties/launchSettings.json b/CM2/source/sp_keygen/Properties/launchSettings.json new file mode 100644 index 0000000..d32d884 --- /dev/null +++ b/CM2/source/sp_keygen/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "sp_keygen": { + "commandName": "Project", + "commandLineArgs": "chenx221\r\n123-456-789-X" + } + } +} \ No newline at end of file diff --git a/CM2/source/sp_keygen/sp_keygen.csproj b/CM2/source/sp_keygen/sp_keygen.csproj new file mode 100644 index 0000000..6ca6170 --- /dev/null +++ b/CM2/source/sp_keygen/sp_keygen.csproj @@ -0,0 +1,25 @@ + + + + Exe + net8.0 + enable + enable + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + +