2.9k Aufrufe
Gefragt in Anwendungen(Java,C++...) von
Wie kann man unter Delphi alle möglichen Product Keys von Windows herausfinden?

Es heißt nicht, dass ich irgendwas *Z*en will, nur wäre es interessant zu wissen, wie der Quelltext aussieht.

3 Antworten

0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Windows hat doch immer nur einen Product Key.

Wie der Quellcode aussieht? Wie in allen anderen Programmiersprachen abseits Pascal auch: man liest aus der Registry mit Hilfe der Win32-API-Funktionen.
0 Punkte
Beantwortet von
nix Delphi


#include <iostream>
#include <windows.h>

int main () {
//Zeichenvorrat Buchstaben,Ziffern ohne AEIOU01 (24)
UCHAR digits[] = {'B','C','D','F','G','H','J','K','M','P','Q','R','T','V','W','X','Y','2','3','4','6','7','8','9'};
PUCHAR strresult = new UCHAR[26];
PUCHAR buf = new UCHAR[200];

HKEY key = NULL;
DWORD datasize = 200;
DWORD dwRet = 0;

ZeroMemory((PVOID)strresult,26);

dwRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",0,KEY_READ,&key);
dwRet = RegQueryValueEx(key,"DigitalProductID",NULL,NULL,(LPBYTE)buf,&datasize);

if (dwRet != ERROR_SUCCESS) {
return -1;
}

RegCloseKey(key);

for (int i=24;i>=0;i--) {
int x=0;

for (int j=14;j>=0;j--) {
x = (x<<8) + (buf+0x34)[j];
(buf+0x34)[j] = x / 24;
x = x % 24;
}
strresult[i]=digits[x];
}

std::cout << strresult;

std::cin.get();
return 0;
}
0 Punkte
Beantwortet von
...