File tree 5 files changed +178
-54
lines changed
5 files changed +178
-54
lines changed Original file line number Diff line number Diff line change 88
88
<ProxyFileName >%(Filename)_p.c</ProxyFileName >
89
89
</Midl >
90
90
<Link >
91
- <AdditionalDependencies >lib\libcrypto.lib;comctl32.lib;uxtheme.lib; winmm.lib;%(AdditionalDependencies)</AdditionalDependencies >
91
+ <AdditionalDependencies >lib\libcrypto.lib;comctl32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies >
92
92
<AdditionalLibraryDirectories >%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories >
93
93
<AdditionalOptions >%(AdditionalOptions) /machine:x64</AdditionalOptions >
94
94
<GenerateDebugInformation >true</GenerateDebugInformation >
99
99
<ProgramDataBaseFile >$(OutDir)$(TargetName).pdb</ProgramDataBaseFile >
100
100
<SubSystem >Console</SubSystem >
101
101
<AdditionalManifestDependencies >"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"</AdditionalManifestDependencies >
102
+ <EntryPointSymbol >mainCRTStartup</EntryPointSymbol >
102
103
</Link >
103
104
<ProjectReference >
104
105
<LinkLibraryDependencies >true</LinkLibraryDependencies >
133
134
<ProxyFileName >%(Filename)_p.c</ProxyFileName >
134
135
</Midl >
135
136
<Link >
136
- <AdditionalDependencies >lib\libcrypto.lib;comctl32.lib;uxtheme.lib; winmm.lib;%(AdditionalDependencies)</AdditionalDependencies >
137
+ <AdditionalDependencies >lib\libcrypto.lib;comctl32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies >
137
138
<AdditionalLibraryDirectories >%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories >
138
139
<AdditionalOptions >%(AdditionalOptions) /machine:x64</AdditionalOptions >
139
140
<GenerateDebugInformation >false</GenerateDebugInformation >
Original file line number Diff line number Diff line change 43
43
#define IDC_LABEL1 1055
44
44
#define IDC_LABEL2 1056
45
45
#define IDC_LABEL3 1057
46
+ #define IDC_LABEL4 1058
47
+ #define IDC_LABEL5 1059
46
48
47
49
typedef unsigned long ul32 ;
48
50
49
51
extern HANDLE hConsole ;
52
+
53
+ extern ul32 dwSeed ;
50
54
extern byte charset [];
51
55
52
56
extern const char pXP [];
@@ -128,6 +132,7 @@ void generateServerKey(
128
132
// utilities.cpp
129
133
void cprintf (const char * Format , int nColor , ...);
130
134
void endiannessConvert (byte * data , int length );
135
+ ul32 randomRange (ul32 dwLow , ul32 dwHigh );
131
136
132
137
EC_GROUP * initializeEllipticCurve (
133
138
const char * pSel ,
Original file line number Diff line number Diff line change 6
6
#include " header.h"
7
7
8
8
HANDLE hConsole;
9
+ ul32 dwSeed;
9
10
byte charset[] = " BCDFGHJKMPQRTVWXY2346789" ;
10
11
11
12
int mainServer () {
@@ -143,12 +144,12 @@ int main() {
143
144
144
145
hConsole = GetStdHandle (STD_OUTPUT_HANDLE);
145
146
147
+ srand (GetTickCount64 ());
148
+
146
149
HINSTANCE hInstance = GetModuleHandleW (nullptr );
147
150
148
151
int p = InitializeWindow (hInstance);
149
152
150
- SetConsoleTitleA (" Windows XP VLK Keygen" );
151
-
152
153
system (" cls" );
153
154
cprintf (" Windows XP VLK Keygen\n\n " , 0x08 );
154
155
@@ -173,6 +174,4 @@ int main() {
173
174
printf (" \t 2. Hash = (First32Bits(SHA1(pRaw, r.x, r.y)) >> 4.\n " );
174
175
printf (" \t 3. Signature = privateKey * Hash + (C %% Order)\n " );
175
176
printf (" Finally, we pack these components together, convert them to Base24 and get a valid Windows XP key.\n " );
176
-
177
- cprintf (" Input Raw Product Key BBB-CCCCCC WITHOUT DASHES in range [100-000000; 999-999999]: " , 0x0E );
178
177
}
Original file line number Diff line number Diff line change 4
4
5
5
#include " header.h"
6
6
7
- /* Colored output */
7
+ /* Colored output. */
8
8
void cprintf (const char *Format, int nColor, ...) {
9
9
va_list vList;
10
10
@@ -26,6 +26,7 @@ void endiannessConvert(byte *data, int length) {
26
26
}
27
27
}
28
28
29
+ /* Initializes the elliptic curve. */
29
30
EC_GROUP *initializeEllipticCurve (
30
31
const char *pSel,
31
32
long aSel,
@@ -65,6 +66,8 @@ EC_GROUP *initializeEllipticCurve(
65
66
// Context variable
66
67
context = BN_CTX_new ();
67
68
69
+
70
+
68
71
/* Public data */
69
72
BN_hex2bn (&p, pSel);
70
73
BN_set_word (a, aSel);
@@ -96,4 +99,9 @@ EC_GROUP *initializeEllipticCurve(
96
99
BN_CTX_free (context);
97
100
98
101
return eCurve;
102
+ }
103
+
104
+ /* Generates a random 32-bit integer in range. */
105
+ ul32 randomRange (ul32 dwLow, ul32 dwHigh) {
106
+ return rand () % (dwHigh - dwLow) + dwLow;
99
107
}
You can’t perform that action at this time.
0 commit comments