Home Software Java Windows ProductId Recovery
Windows ProductId Recovery PDF Drucken E-Mail
Geschrieben von: jjk   

Dumm wenn man seinen Windows Lizenzschlüssel verlegt hat und nur noch an die verschlüsselten Informationen aus der Registry oder dem Windows Systeminformationspanel (Windowstaste + Pause) kommt. Damit könnte man die Installtion nicht wieder neu machen da man ja einen Produkt?Key braucht.

Da ich das Problem aktuell habe mit Windows 7, und es im Netz keine Java Implementierung gab, hier mal meine:


 char[] 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' };
char[] decodedKey = new char[25];

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter 30 character productId hex: ");
String binaryCodeStr = br.readLine();
if (binaryCodeStr.length() != 30)
throw new IllegalArgumentException("length not equals 30 characters!");

char[] binaryKeyChar = new char[30];
for (int i = 0; i < binaryCodeStr.length(); i++) {
binaryKeyChar[i] = binaryCodeStr.charAt(i);
}
byte[] binaryKey = Hex.decodeHex(binaryKeyChar);

int i, j, k;
for (i = decodedKey.length - 1; i >= 0; i--) {
k = 0;
for (j = binaryKey.length - 1; j >= 0; --j) {
k = (k << 8) + (binaryKey[j] & 0xff);
binaryKey[j] = (byte) (Math.floor(k / 24d));
k = k % 24;
}
decodedKey[i] = digits[k];
}
StringBuffer result = new StringBuffer();
for (int l = 0; l < decodedKey.length; l++) {
result.append(decodedKey[l]);
if ((l % 5 == 4) && (l != decodedKey.length - 1))
result.append('-');
}
System.out.println(result.toString());

Ich denke jeder der etwas Java kann wird daraus ein lauffähiges Programm erstellen können. Diese Codezeilen dienen ausschliesslich der legalen Nutzung schon vorhandener Lizenzen!

 
Copyright © 2017 Projekte / Projects. Alle Rechte vorbehalten.
Joomla! ist freie, unter der GNU/GPL-Lizenz veröffentlichte Software.