| Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert. |
Diskussion: VM-Crackme/Keygenme/Serialme im Forum Hacks & Crackmes, in der Kategorie Software Home; So etwas wurde breits vor kurzem auf dem Buhaboard vorgestellt - ein Crackme welches eine interne VM nutzt. Allerdings hatte ...
![]() |
| | #1 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() Likes: 156 | So etwas wurde breits vor kurzem auf dem Buhaboard vorgestellt - ein Crackme welches eine interne VM nutzt. Allerdings hatte ich schon länger vor, das selber umzusetzen Gepackt: nein Schwierigkeitsgrad: schwer abschätzbar, aber auf jedenfall nicht anfängerfreundlich Regeln: naja, keine eigene Erfolgsmeldung einpatchen Ansonsten - Patch, Serial, Keygen - für jeden ist etwas dabei. Die VM ist im Crackme integriert (es ist also ein ganz normales Programm -nur werden einige Berechnungen von der VM durchgeführt). Zur VM: ist eine Stackmachine, als Vorbild diente die MIC-1 Architektur (z.B http://www.cs.auc.dk/~mixxel/NA-F03/...03-v2-gray.pdf), wobei ich nicht so ganz runter gegangen bin wie ich wollte (also keine Gatter Nachbildungen usw, war doch etwas zu aufwändig )). Soweit ich weiß, ist die JVM (Java VM) auch Stackbasiert - ist also keine "Exotik".Kurz: eine Stackmachine bietet nach "außen" hin keine Register, sondern erledigt alle Operationen über den Stack. Sie hat einen bestimmten Befehlssatz (Add,mov etc), intern wird (wie auch in x86) jeder Befehl duch Microprogramme realisiert in welchen die "elementaren" Befehle genutzt werden (diese sind direkt in der Hardware implementiert) . Diese Methode erlaubt "nach außen hin" die lustigsten Befehle anzubieten (Fakultätberechnung,GGT,Primzahlcheck usw direkt als Assemblyanweisung Der Checkalgo ist einfach gehalten, es gibt auch keine wesentlichen "Gemeinheiten", keine nervende Musik etc (ich konnte es mir nicht verkneifen, eine Kleinigkeit gegen ältere IDA Versionen einzubauen Die Entwicklungszeit betrug übrigens nur einige Stunden, trotzdem lässt es sich damit schon recht bequem programmieren (es leben die EQU Ausdrücke in MASM) Codeausschnitt Code: code1_ db bipush_,10
db bipush_,20
db iadd_
db istore_,X Ist also gar nicht so weit hergeholt oder gar zu kompliziert, damit wichtige Passagen zu "virtualisieren". EDIT: habe den IDA-"Schutz" mal rausgenommen http://cdw.de.vu/vm.zip oder (wer trotzdem die Auswirktugen sehen möchte - im Anhang ist die "geschützte" Version)
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
| | #2 (permalink) |
| Registriert seit: 16.08.06 ![]() Likes: 0 | Win98 : "Für diesen Vorgang ist nicht genügend Arbeitsspeicher vorhanden" WinXP : "Die Auslagerungsdatei ist zu klein" Was braucht denn die vm.exe als Mindestvoraussetzung zum laufen ? (in GB) :-) |
| | |
| HaBOT | |
| |
| | #3 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() Likes: 156 | Zitat:
scheint der Anti-IDA Trick zu sein (dabei habe ich den doch selber vom PrivateExeProtector abgekupfert und nur leicht modifiziert - bei mir kommt nämlich die Meldung erst, wenn ich versuche das Crackme mehrmals in Olly zu laden. IDA 4.3 friert beim ladeversuch komplett ein . Meine Auslagerungsdatei ist aber eher knappt über 2GB groß. Wenn man sich die VSize einer Section im Crackme anschaut, sieht man auch, warum soviel virtuellen Speicher braucht) Hier die "leichte" Version, ohne irgendwelche PE-Manipulationen: Edit: habe jetzt im ersten Post auf die "ungeschützte" Version verlinkt. Werde mal demnächst mit den Parametern rumspielen, paar Gemeinheiten einbauen und ein eigenständiges Crackme dazu machen.
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
| | #4 (permalink) |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Nice! Wirklich gutes CrackMe. Ok, hier schonmal eine Serial: serial |
| | |
| | #5 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() Likes: 156 | serial
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
| | #6 (permalink) |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Also bei mir(XP sp2) funktioniert auch die geschützte Version ohne Probleme und mit ein paar Modifikationen klappts auch mit IDA und OllyDbg. Hier ist schonmal der Keygen für die jetzige Version des CrackMes, eine Lösung folgt noch.(dann zu dem aktualisierten CrackMe) [OT]Mit der Zeit des ersten Postings hast du 0day ziemlich erschwert Edit: Keygen auf neue Version angepasst. |
| | |
| | #7 (permalink) |
| Registriert seit: 16.08.06 ![]() Likes: 0 | Ich will schon garnicht mehr wissen, was "schüler" heutzutage in der Schule alles lernen. Wir damals blubber, belehre, ... , und überhaupt ! :-) Es gibt in der vm_.exe eine Adresse im RAM wo man anhand der Eingaben auf den Algorithmus schliessen kann. Sowas lässt sich doch vermeiden, oder geht das bei einer VM nicht ? |
| | |
| | #8 (permalink) | ||
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() Likes: 156 | Zitat:
Man könnte es ja noch weiter "verschleiern", indem jedesmal ein neuer Speicherbereich an die VM übergeben wird (beim Starten einer Code-Sequenz wird ein Zeiger auf den Speicherbereich übergeben, der dann als Variablen"pool" dient). Aber irgendwo müssen die Werte ja zwischen den Aufrufen aufbewahrt werden - und so ein "Positionswechsel" wäre imho einfach nur störend, aber nicht hinderlich - stattdessen könnte man ja gleich einen besseren Algo nehmen Wie dem auch sei, ich habe es aktualisiert und das DIV X durch einen SUB Y ersetzt. Zitat:
. Ist der Trick aber einmal bekannt, stellt er kein großes Hindernis dar.
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | ||
| | |
| | #9 (permalink) | ||
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Zitat:
Zu diesem Thema fällt mir folgender Artikel ein, in dem viele solcher Tricks beschrieben werden, daher hatte ich auch sowas vermutet, als OllyDbg so viel Speicher verlangt hatte: http://www.honeynet.org/scans/scan33/nico/ EDIT: Hier ist nun die Lösung, Feedback/Kritik erwünscht. Wenn ich an einigen Stellen zu ungenau erklärt habe, fragt einfach nach. | ||
| | |
![]() |
| | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Braynfack - Keygenme/Crackme | lone.wolf | Hacks & Crackmes | 1 | 11.11.09 08:22 |
| [SOLVED]Erstes SerialMe | Oi!Alex | Hacks & Crackmes | 3 | 02.02.07 22:33 |
| SerialMe | Grafix | Hacks & Crackmes | 1 | 24.10.06 13:33 |
| Keygenme ^^ | ReDoX | Hacks & Crackmes | 3 | 21.09.06 16:17 |
| Serialme (für CDW :D) | sd333221 | Hacks & Crackmes | 9 | 15.09.06 19:46 |