From 7da86fa4ed5a4de087030d618496e8bafe333567 Mon Sep 17 00:00:00 2001 From: Chenx221 Date: Tue, 12 Nov 2024 12:59:28 +0800 Subject: [PATCH] solved new crackme --- cerebellum_xyzero_keygenme/Readme.txt | 27 ++ .../keygen/sp_keygen.deps.json | 23 ++ .../keygen/sp_keygen.dll | Bin 0 -> 7168 bytes .../keygen/sp_keygen.exe | Bin 0 -> 138752 bytes .../keygen/sp_keygen.runtimeconfig.json | 13 + .../keygenme2.cerebellum.xyzero.exe | Bin 0 -> 37376 bytes cerebellum_xyzero_keygenme/solve.md | 254 ++++++++++++++++++ cerebellum_xyzero_keygenme/source/keygen1.sln | 163 +++++++++++ .../source/sp_keygen/Program.cs | 69 +++++ .../Properties/Resources.Designer.cs | 63 +++++ .../sp_keygen/Properties/Resources.resx | 101 +++++++ .../sp_keygen/Properties/launchSettings.json | 8 + .../source/sp_keygen/sp_keygen.csproj | 25 ++ 13 files changed, 746 insertions(+) create mode 100644 cerebellum_xyzero_keygenme/Readme.txt create mode 100644 cerebellum_xyzero_keygenme/keygen/sp_keygen.deps.json create mode 100644 cerebellum_xyzero_keygenme/keygen/sp_keygen.dll create mode 100644 cerebellum_xyzero_keygenme/keygen/sp_keygen.exe create mode 100644 cerebellum_xyzero_keygenme/keygen/sp_keygen.runtimeconfig.json create mode 100644 cerebellum_xyzero_keygenme/keygenme2.cerebellum.xyzero.exe create mode 100644 cerebellum_xyzero_keygenme/solve.md create mode 100644 cerebellum_xyzero_keygenme/source/keygen1.sln create mode 100644 cerebellum_xyzero_keygenme/source/sp_keygen/Program.cs create mode 100644 cerebellum_xyzero_keygenme/source/sp_keygen/Properties/Resources.Designer.cs create mode 100644 cerebellum_xyzero_keygenme/source/sp_keygen/Properties/Resources.resx create mode 100644 cerebellum_xyzero_keygenme/source/sp_keygen/Properties/launchSettings.json create mode 100644 cerebellum_xyzero_keygenme/source/sp_keygen/sp_keygen.csproj diff --git a/cerebellum_xyzero_keygenme/Readme.txt b/cerebellum_xyzero_keygenme/Readme.txt new file mode 100644 index 0000000..2a141af --- /dev/null +++ b/cerebellum_xyzero_keygenme/Readme.txt @@ -0,0 +1,27 @@ +=================================================== +Program : KeygenMe #2 - Cerebellum +Level : 2 +Author : xyzero +Date : 09.03.2004 +Type : Name/Serial +URL : http://www.crackmes.de + http://www.reversor.web1000.com +=================================================== + +This is a simple/easy C keygenme. +OPTIONAL: explain the algorithm (easy!) + +Rulez: + +(1) Make a keygen and write a tutorial. +(2) No patching. No keygen injection. "no surprise". +(3) Enjoy! + +=================================================== + + +Greetz to Canterwood, M@rio, OorjaHalT, EXPERTDuke, and YOU ;-) + + +xyzero +xyzero@hotmail.com \ No newline at end of file diff --git a/cerebellum_xyzero_keygenme/keygen/sp_keygen.deps.json b/cerebellum_xyzero_keygenme/keygen/sp_keygen.deps.json new file mode 100644 index 0000000..4ffd5aa --- /dev/null +++ b/cerebellum_xyzero_keygenme/keygen/sp_keygen.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "sp_keygen/1.0.0": { + "runtime": { + "sp_keygen.dll": {} + } + } + } + }, + "libraries": { + "sp_keygen/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/cerebellum_xyzero_keygenme/keygen/sp_keygen.dll b/cerebellum_xyzero_keygenme/keygen/sp_keygen.dll new file mode 100644 index 0000000000000000000000000000000000000000..dec3b48489fcb2a3a7bbb31491fa434577966534 GIT binary patch literal 7168 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¨7GJOhZ0;ZU{MMv1_iI@2gsX3H9I>%c3nE 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 literal 0 HcmV?d00001 diff --git a/cerebellum_xyzero_keygenme/solve.md b/cerebellum_xyzero_keygenme/solve.md new file mode 100644 index 0000000..0582898 --- /dev/null +++ b/cerebellum_xyzero_keygenme/solve.md @@ -0,0 +1,254 @@ +计算serial + +因为serial是根据name、当前计算机名和用户名计算,这里就不提供示例name,serial了 + +相关算法: + +```c# +public static void CalcSerial(string name, string computerName, string userName) +{ + int v8 = 0x1791117; + int v18 = name.Length; + int v4 = 0; + int vc = 0; + int esi; + int eax = 0x20; + string cuu = ReverseString(computerName + userName).ToUpper(); + if (v18 < 4) + return; + foreach (char c in name) + { + v4 += c + v8++; + } + esi = v18 * v4 + v8; + foreach (char c in cuu) + { + vc += (c ^ eax++) * v18; + } + // long serial; 这块是原先的比较逻辑 + // serial ^=vc; + // vc+=esi; + // if(vc == serial) + Console.WriteLine((vc + esi) ^ vc); +} +``` + +细节: + +```assembly +0040112E | 55 | push ebp | Check +0040112F | 8BEC | mov ebp,esp | +00401131 | 81EC 30010000 | sub esp,130 | +00401137 | 8A15 14314000 | mov dl,byte ptr ds:[403114] | +0040113D | 53 | push ebx | +0040113E | 56 | push esi | +0040113F | 57 | push edi | +00401140 | 33C0 | xor eax,eax | +00401142 | 8D7D D1 | lea edi,dword ptr ss:[ebp-2F] | +00401145 | 8855 D0 | mov byte ptr ss:[ebp-30],dl | +00401148 | 6A 07 | push 7 | +0040114A | AB | stosd | +0040114B | AB | stosd | +0040114C | AB | stosd | +0040114D | AB | stosd | +0040114E | AB | stosd | +0040114F | 66:AB | stosw | +00401151 | AA | stosb | +00401152 | 5B | pop ebx | +00401153 | 33C0 | xor eax,eax | +00401155 | 8BCB | mov ecx,ebx | +00401157 | 8D7D B1 | lea edi,dword ptr ss:[ebp-4F] | +0040115A | 8855 B0 | mov byte ptr ss:[ebp-50],dl | +0040115D | 6A 0F | push F | +0040115F | F3:AB | rep stosd | +00401161 | 66:AB | stosw | +00401163 | AA | stosb | +00401164 | 59 | pop ecx | +00401165 | 33C0 | xor eax,eax | +00401167 | 8DBD D1FEFFFF | lea edi,dword ptr ss:[ebp-12F] | +0040116D | 8895 D0FEFFFF | mov byte ptr ss:[ebp-130],dl | +00401173 | F3:AB | rep stosd | +00401175 | 66:AB | stosw | +00401177 | AA | stosb | +00401178 | 6A 0F | push F | +0040117A | 33C0 | xor eax,eax | +0040117C | 59 | pop ecx | +0040117D | 8DBD 11FFFFFF | lea edi,dword ptr ss:[ebp-EF] | +00401183 | 8895 10FFFFFF | mov byte ptr ss:[ebp-F0],dl | +00401189 | 8855 90 | mov byte ptr ss:[ebp-70],dl | +0040118C | F3:AB | rep stosd | +0040118E | 66:AB | stosw | +00401190 | AA | stosb | +00401191 | 8BCB | mov ecx,ebx | +00401193 | 33C0 | xor eax,eax | +00401195 | 8D7D 91 | lea edi,dword ptr ss:[ebp-6F] | +00401198 | 8895 50FFFFFF | mov byte ptr ss:[ebp-B0],dl | +0040119E | F3:AB | rep stosd | +004011A0 | 66:AB | stosw | +004011A2 | AA | stosb | +004011A3 | 8BCB | mov ecx,ebx | +004011A5 | 33C0 | xor eax,eax | +004011A7 | 8DBD 51FFFFFF | lea edi,dword ptr ss:[ebp-AF] | +004011AD | 8895 70FFFFFF | mov byte ptr ss:[ebp-90],dl | +004011B3 | F3:AB | rep stosd | +004011B5 | 66:AB | stosw | +004011B7 | AA | stosb | +004011B8 | 8BCB | mov ecx,ebx | +004011BA | 33C0 | xor eax,eax | +004011BC | 8DBD 71FFFFFF | lea edi,dword ptr ss:[ebp-8F] | +004011C2 | 8365 FC 00 | and dword ptr ss:[ebp-4],0 | +004011C6 | F3:AB | rep stosd | +004011C8 | 66:AB | stosw | +004011CA | 8365 F4 00 | and dword ptr ss:[ebp-C],0 | [ebp-0C]:__except_handler4 +004011CE | 6A 18 | push 18 | +004011D0 | AA | stosb | +004011D1 | 8D45 D0 | lea eax,dword ptr ss:[ebp-30] | +004011D4 | BF E8030000 | mov edi,3E8 | +004011D9 | 50 | push eax | +004011DA | 57 | push edi | +004011DB | FF75 08 | push dword ptr ss:[ebp+8] | +004011DE | BE FF000000 | mov esi,FF | +004011E3 | C745 F8 17117901 | mov dword ptr ss:[ebp-8],1791117 | val +004011EA | 8975 EC | mov dword ptr ss:[ebp-14],esi | +004011ED | 8975 F0 | mov dword ptr ss:[ebp-10],esi | +004011F0 | FF15 74204000 | call dword ptr ds:[] | +004011F6 | 8D45 D0 | lea eax,dword ptr ss:[ebp-30] | Name +004011F9 | 50 | push eax | +004011FA | E8 83010000 | call | +004011FF | 83F8 04 | cmp eax,4 | +00401202 | 59 | pop ecx | +00401203 | 8945 E8 | mov dword ptr ss:[ebp-18],eax | name.length +00401206 | 73 22 | jae keygenme2.cerebellum.xyzero.40122 | n.l >=4 +00401208 | 8B35 78204000 | mov esi,dword ptr ds:[ | +0040125D | 8B1D 7C204000 | mov ebx,dword ptr ds:[] | +00401263 | 8D85 50FFFFFF | lea eax,dword ptr ss:[ebp-B0] | +00401269 | 50 | push eax | eax:"CHENX221-VMDBG" (ex) +0040126A | BF 00314000 | mov edi,keygenme2.cerebellum.xyzero.4 | 403100:"%s" +0040126F | 8D85 D0FEFFFF | lea eax,dword ptr ss:[ebp-130] | pc name +00401275 | 57 | push edi | +00401276 | 50 | push eax | +00401277 | FFD3 | call ebx | +00401279 | 83C4 0C | add esp,C | +0040127C | 8D45 F0 | lea eax,dword ptr ss:[ebp-10] | +0040127F | 50 | push eax | +00401280 | 8D85 70FFFFFF | lea eax,dword ptr ss:[ebp-90] | username +00401286 | 50 | push eax | +00401287 | FF15 00204000 | call dword ptr ds:[] | +0040128D | 8D85 70FFFFFF | lea eax,dword ptr ss:[ebp-90] | +00401293 | 50 | push eax | eax:"x221" (ex) +00401294 | 8D85 10FFFFFF | lea eax,dword ptr ss:[ebp-F0] | ↑ +0040129A | 57 | push edi | +0040129B | 50 | push eax | +0040129C | FFD3 | call ebx | +0040129E | 83C4 0C | add esp,C | +004012A1 | 8D85 10FFFFFF | lea eax,dword ptr ss:[ebp-F0] | +004012A7 | 50 | push eax | +004012A8 | 8D85 D0FEFFFF | lea eax,dword ptr ss:[ebp-130] | +004012AE | 50 | push eax | +004012AF | FF15 10204000 | call dword ptr ds:[] | 拼接 pcname+username +004012B5 | 8D85 D0FEFFFF | lea eax,dword ptr ss:[ebp-130] | +004012BB | 50 | push eax | +004012BC | E8 C1000000 | call | +004012C1 | 8BF8 | mov edi,eax | +004012C3 | 33C0 | xor eax,eax | +004012C5 | 85FF | test edi,edi | +004012C7 | 59 | pop ecx | +004012C8 | 76 16 | jbe keygenme2.cerebellum.xyzero.4012E | +004012CA | 8D8C3D CFFEFFFF | lea ecx,dword ptr ss:[ebp+edi-131] | 翻转合并结果 +004012D1 | 8A11 | mov dl,byte ptr ds:[ecx] | +004012D3 | 889405 10FFFFFF | mov byte ptr ss:[ebp+eax-F0],dl | +004012DA | 40 | inc eax | +004012DB | 49 | dec ecx | +004012DC | 3BC7 | cmp eax,edi | +004012DE | 72 F1 | jb keygenme2.cerebellum.xyzero.4012D1 | +004012E0 | 8D85 10FFFFFF | lea eax,dword ptr ss:[ebp-F0] | +004012E6 | 50 | push eax | +004012E7 | FF15 80204000 | call dword ptr ds:[] | 转大写 +004012ED | 85FF | test edi,edi | +004012EF | 76 28 | jbe keygenme2.cerebellum.xyzero.40131 | +004012F1 | 6A 20 | push 20 | +004012F3 | 8D8D 10FFFFFF | lea ecx,dword ptr ss:[ebp-F0] | +004012F9 | 58 | pop eax | +004012FA | 2BC8 | sub ecx,eax | +004012FC | 894D FC | mov dword ptr ss:[ebp-4],ecx | +004012FF | EB 03 | jmp keygenme2.cerebellum.xyzero.40130 | +00401301 | 8B4D FC | mov ecx,dword ptr ss:[ebp-4] | +00401304 | 0FBE0C01 | movsx ecx,byte ptr ds:[ecx+eax] | 取出每位 +00401308 | 33C8 | xor ecx,eax | 每位 xor eax(初始0x20) +0040130A | 0FAF4D E8 | imul ecx,dword ptr ss:[ebp-18] | *=n.l +0040130E | 014D F4 | add dword ptr ss:[ebp-C],ecx | 存储结果 +00401311 | 40 | inc eax | +00401312 | 8D48 E0 | lea ecx,dword ptr ds:[eax-20] | +00401315 | 3BCF | cmp ecx,edi | +00401317 | 72 E8 | jb keygenme2.cerebellum.xyzero.401301 | +00401319 | 8D45 B0 | lea eax,dword ptr ss:[ebp-50] | +0040131C | 6A 24 | push 24 | +0040131E | BF E9030000 | mov edi,3E9 | +00401323 | 50 | push eax | +00401324 | 57 | push edi | +00401325 | FF75 08 | push dword ptr ss:[ebp+8] | +00401328 | FF15 74204000 | call dword ptr ds:[] | +0040132E | 8D45 B0 | lea eax,dword ptr ss:[ebp-50] | Serial +00401331 | 50 | push eax | +00401332 | FF15 48204000 | call dword ptr ds:[] | str2long +00401338 | 59 | pop ecx | +00401339 | 8BC8 | mov ecx,eax | long result +0040133B | 8B45 F4 | mov eax,dword ptr ss:[ebp-C] | 上一步的结果 +0040133E | 33C8 | xor ecx,eax | serial xor 上一步结果 +00401340 | 03C6 | add eax,esi | eax+=v1 +00401342 | 3BC1 | cmp eax,ecx | 最后的比较 +00401344 | 74 0E | je ] | +00401352 | EB 26 | jmp keygenme2.cerebellum.xyzero.40137 | +00401354 | 8D45 D0 | lea eax,dword ptr ss:[ebp-30] | +00401357 | 50 | push eax | +00401358 | 8D45 90 | lea eax,dword ptr ss:[ebp-70] | +0040135B | 68 F0304000 | push keygenme2.cerebellum.xyzero.4030 | 4030F0:"Good job %s!!!" +00401360 | 50 | push eax | +00401361 | FFD3 | call ebx | +00401363 | 83C4 0C | add esp,C | +00401366 | 8D45 90 | lea eax,dword ptr ss:[ebp-70] | +00401369 | 6A 00 | push 0 | +0040136B | 68 EC304000 | push keygenme2.cerebellum.xyzero.4030 | 4030EC:"OK!" +00401370 | 50 | push eax | +00401371 | FF75 08 | push dword ptr ss:[ebp+8] | +00401374 | FF15 84204000 | call dword ptr ds:[] | +0040137A | 6A 01 | push 1 | +0040137C | 58 | pop eax | +0040137D | 5F | pop edi | +0040137E | 5E | pop esi | +0040137F | 5B | pop ebx | +00401380 | C9 | leave | +00401381 | C3 | ret | +``` + diff --git a/cerebellum_xyzero_keygenme/source/keygen1.sln b/cerebellum_xyzero_keygenme/source/keygen1.sln new file mode 100644 index 0000000..3f0a221 --- /dev/null +++ b/cerebellum_xyzero_keygenme/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/cerebellum_xyzero_keygenme/source/sp_keygen/Program.cs b/cerebellum_xyzero_keygenme/source/sp_keygen/Program.cs new file mode 100644 index 0000000..fbedbde --- /dev/null +++ b/cerebellum_xyzero_keygenme/source/sp_keygen/Program.cs @@ -0,0 +1,69 @@ +using System.Runtime.InteropServices; +using System.Text; + +namespace sp_keygen +{ + internal class Program + { + // P/Invoke declaration for GetComputerNameA + [DllImport("kernel32.dll", CharSet = CharSet.Ansi, SetLastError = true)] + public static extern bool GetComputerNameA(StringBuilder lpBuffer, ref uint nSize); + + // P/Invoke declaration for GetUserNameA + [DllImport("advapi32.dll", CharSet = CharSet.Ansi, SetLastError = true)] + public static extern bool GetUserNameA(StringBuilder lpBuffer, ref uint nSize); + + static void Main() + { + Console.Write("Name: "); + string name = Console.ReadLine() ?? throw new Exception("Not a valid name"); + + StringBuilder computerName = new(256); + StringBuilder userName = new(256); + + uint size1 = (uint)computerName.Capacity; + uint size2 = (uint)userName.Capacity; + if (GetComputerNameA(computerName, ref size1) && GetUserNameA(userName, ref size2)) + CalcSerial(name, computerName.ToString(), userName.ToString()); + else + Console.WriteLine("Something Wrong"); + Console.ReadKey(); + } + + public static void CalcSerial(string name, string computerName, string userName) + { + int v8 = 0x1791117; + int v18 = name.Length; + int v4 = 0; + int vc = 0; + int esi; + int eax = 0x20; + string cuu = ReverseString(computerName + userName).ToUpper(); + if (v18 < 4) + return; + foreach (char c in name) + { + v4 += c + v8++; + } + esi = v18 * v4 + v8; + foreach (char c in cuu) + { + vc += (c ^ eax++) * v18; + } + // long serial; + // serial ^=vc; + // vc+=esi; + // if(vc == serial) + Console.WriteLine((vc + esi) ^ vc); + } + + public static string ReverseString(string input) + { + if (input == null) + throw new ArgumentNullException(nameof(input), "Input string cannot be null."); + return new string(input.Reverse().ToArray()); + } + + + } +} diff --git a/cerebellum_xyzero_keygenme/source/sp_keygen/Properties/Resources.Designer.cs b/cerebellum_xyzero_keygenme/source/sp_keygen/Properties/Resources.Designer.cs new file mode 100644 index 0000000..41461b5 --- /dev/null +++ b/cerebellum_xyzero_keygenme/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/cerebellum_xyzero_keygenme/source/sp_keygen/Properties/Resources.resx b/cerebellum_xyzero_keygenme/source/sp_keygen/Properties/Resources.resx new file mode 100644 index 0000000..4fdb1b6 --- /dev/null +++ b/cerebellum_xyzero_keygenme/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/cerebellum_xyzero_keygenme/source/sp_keygen/Properties/launchSettings.json b/cerebellum_xyzero_keygenme/source/sp_keygen/Properties/launchSettings.json new file mode 100644 index 0000000..d32d884 --- /dev/null +++ b/cerebellum_xyzero_keygenme/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/cerebellum_xyzero_keygenme/source/sp_keygen/sp_keygen.csproj b/cerebellum_xyzero_keygenme/source/sp_keygen/sp_keygen.csproj new file mode 100644 index 0000000..6ca6170 --- /dev/null +++ b/cerebellum_xyzero_keygenme/source/sp_keygen/sp_keygen.csproj @@ -0,0 +1,25 @@ + + + + Exe + net8.0 + enable + enable + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + +