| Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert. |
Diskussion: KeygenMe im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige Nabend Zusammen! Ich hab mal wieder ein KeygenMe aus dem Hut gezaubert, welches ich euch nun vorstellen möchte. Ziel ...
![]() |
| | #1 (permalink) |
| Registriert seit: 27.09.05 ![]() Likes: 4 | Anzeige Nabend Zusammen! Ich hab mal wieder ein KeygenMe aus dem Hut gezaubert, welches ich euch nun vorstellen möchte. Ziel ist es einen Keygen zu schreiben, ein Keyfile ist aber auch schon mal ein Anfang. Ich habe mir keine Mühe gegeben Patches zu verhindern, dies hindert euch aber natürlich nicht an selbigem Das KeygenMe richtet sich eher an erfahrene Leute. Ein gültiges Keyfile könnte ich auch bereit stellen - wenn erwünscht. Dann wünsche ich viel Spaß und gutes Gelingen! Gruß, redox Edit: In der alten Version war es unter Umständen möglich, mit einem Keyfile, Code auszuführen. Sonst hat sich allerdings nichts geändert. Geändert von ReDoX (05.08.11 um 08:29 Uhr) |
| | |
| | #2 (permalink) |
| Registriert seit: 21.08.10 ![]() Likes: 3 | hallo, nach längerer Zeit habe ich mich mal wieder ans Werk gemacht. Diesmal habe ich, da erlaubt, die leichtere Variante gewählt, nämlich zu patchen. Also: Erstmal den UPX-Packer loswerden: macht z.B. der CFF Explorer auf Knopfdruck. Die Struktur des Keygen ist so, dass der Inhalt des Keyfile ("Keyfile.dat") und der Name zum Keyfile (mindestens 7 Zeichen) zueinander passen müssen. Dass dem so ist, wird in Adresse 0040f419 geprüft. Dieser "Gutfall" wird zwangsweise per Patch herbeigeführt. Inhalt von Keyfile und Name dazu sind in der Patch-Lösung beliebig. Code: .text:0040F40E loc_40F40E: .text:0040F40E F7 55 C4 not dword ptr [ebp-3Ch] .text:0040F411 8B 45 C0 mov eax, [ebp-40h] .text:0040F414 F7 D0 not eax .text:0040F416 33 45 C4 xor eax, [ebp-3Ch] .text:0040F419 0F 85 F1 01 00 00 jnz loc_40F610 ; #patch -> jz .text:0040F419 ; unpacked file offs 0xe81a : 0x85 -> 0x84 Anschliessend wird der Inhalt des Keyfile als Instruktionen einer virtuellen Maschine (Aufruf der VM in Adr. 40f471) interpretiert. Das Ergebnis wird wohl in 40f47d abgeholt, ist aber in dieser Patch-Lösung nicht von Interesse. Weitere Versuche hatten ergeben, dass die "Lizenz gueltig" Meldung vom Exception Handler her ausgegeben wird (gute Idee!). Daher wird eine sichere Exception mittels Division durch 0 herbeigeführt, indem in Adr. 0040f491 statt xor edx, edx ein xor ecx, ecx gepatcht wird. Dies ist dann der zweite (und letzte) Patch. Code: .text:0040F476 loc_40F476: ; CODE XREF: sub_40F19E+2CEj .text:0040F476 mov byte ptr [ebp-41h], 1 ; # dieses flag muss f den exc hdlr gesetzt sein .text:0040F47A mov eax, [ebp-48h] ; VM .text:0040F47D call VMgetResult .text:0040F482 mov edx, [ebp-40h] .text:0040F485 inc edx .text:0040F486 xor eax, edx .text:0040F488 push eax .text:0040F489 mov eax, 0DEADh .text:0040F48E pop edx .text:0040F48F mov ecx, edx .text:0040F491 xor edx, edx ; patch xor ecx,ecx : 33 c9 .text:0040F491 ; offs 0xe892 .text:0040F493 div ecx Das Ergebnis ist in der beigefügten jpg-datei zu sehen. Dank an den Autor! -josh |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 27.09.05 ![]() Likes: 4 | Das sieht doch sehr gut aus, allerdings habe ich es Dir eindeutig zu einfach gemacht! Wer sich noch etwas intensiver mit diesem KeygenMe befassen möchte findet im Anhang ein gültiges Keyfile (umbenennen in Keyfile.dat), welches auf den Namen redox4habo ausgestellt wurde. Ein Keygen wird aber einiges an Arbeit und Zeit in Anspruch nehmen. Gruß, redox |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |