| Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert. |
Diskussion: zum testen im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige Hallo, das Cackme ist die abgespeckte Version von meinem Installationsprogrammes. Könnt Ihr mal testen wie sicher dieses ist? Für ...
![]() |
| | #1 (permalink) |
| Registriert seit: 08.01.06 ![]() Likes: 0 | zum testen Anzeige Hallo, das Cackme ist die abgespeckte Version von meinem Installationsprogrammes. Könnt Ihr mal testen wie sicher dieses ist? Für Verbesserungsvorschäge wäre ich euch dankbar. http://www.3dprogrammierung.gmxhome....en/crackme.zip |
| | |
| | #2 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | hm, die Lösung ist zwar keine richtige, aber es ist auch etwas spät. das Schwierigste ist wohl, dass das Crackme im Vordergrund bleibt und sich auch nicht verschieben lässt Da Du ja eigene Zeichenroutinen verwendest, dürfte es wohl die meisten "Hm, in den meisten Tuts gehts so:" Leute abhalten, aber hat man erstmal sich dazu überwunden, die Fensternachrichtenschleife zu suchen und ein wenig mit Olly rumzuspielen, kommt man schnell auf die "Vergleichsroutine". Ok, man kann sie nicht einfach "noppen" was ein Pluspunkt ist. Da muss man schon ein paar Zeilen selber schreiben Je nach Einsatzbreich wären auch die Tipps verschieden: Du könntest bei teurer Software einen Verschlüsselungsmodul integrieren ,die Installationsdateien damit verschlüsseln (AES,Blowfisch usw) und jedem Kunden ein eigenes Passwort (die Sache mit dem Handbuch) mitgeben. Da kommt kein Reverser an.Somit wird die Software "komplett" weitergegeben. Wenn Du noch zusätzlich digitale Wasserzeichen einbaust(imho gabs dafür ein Modul),kannst Du später feststellen, welcher Kunde die Software weitergegeben hat. Eine andere, "billigere" Variante wäre: eine "Jumptabelle", und zwar so: Du berechnest aus der Eingabe eine Zahl - und rufst eine Funktion an dieser Adresse auf. Du könntest z.B auch eine Grundadresse haben und diese Zahl immer dazuaddieren. Es sind dann eben ein paar Funktionen, die verschiedenes machen und verschiedene Variablen setzen und ein wenig die Installationsdateien verändern ("vorentpacken" oder ähnlich). Du wertest nachher diese Variablen aus und machst mit der Installation weiter - es muss nichts komplexes sein, wichtig ist nur, dass man keinen "hint" auf diese Adressen bekommt. Und wenn das Passwort eben falsch ist (und somit zu einer ungültigen Adresse gesprungen werden würde) könnte man vorher einen groben Check basteln (Quersumme muss stimmen oder ähnlich) und prüfen ob es dem entspricht - dem Cracker nutzt die Quersumme wegen der Vieldeutigkeit gar nichts.Wer die Abfrage patcht, dem bringt es auch nicht weiter - wenn der "normaluser" sich vertippt hat, dann passiert i.R nichts. Ein zusätzlicher Exceptionhandler sorgt dann dafür, dass "im Falle der Fälle" das Programm nicht unkontrolliert abstürzt. Die Installationsdateien sollten trotzdem nicht "offen" in der Exe rumliegen (damit nicht jemand diese einfach extrahieren kann).
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 08.01.06 ![]() Likes: 0 | So jetzt habe ich noch ein paar Änderungen gemacht. Wer möchte, der kann's noch mal versuchen. http://www.3dprogrammierung.gmxhome....en/crackme.zip |
| | |
| | #4 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | * ich bin erst um 20:00 zu Hause angekommen - ihr hattet also massig Vorsprung *Ich wollte eigentlich noch die Lösung für Teil 1 hinschreiben - muss mich aber erst noch an die Infoaufgaben dranhängen (bis Donnerstag 3 Aufgaben ), wenn dann morgen oder übermorgen noch Zeit übrig ist, schreibe ich eine ausführliche Lösung. Warum ich so und nicht anders patche habe ich mal kurz in diese "Lösung" hingeschrieben - sie ist damit wesentlich informativer als die erste Bei richtiger Eingabe wird übrigens eine schöne HTML Seite im gleichen Ordner "installiert", die man sich nicht entgehen lassen sollte
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 08.01.06 ![]() Likes: 0 | So nächster Versuch.http://www.3dprogrammierung.gmxhome....en/crackme.zip Das EDX (Index Codworttabelle) beim ersten mal Null war, war mein Fehler ist. Der Absturz ist gewollt damit die Stelle schwerer zu finden ist. |
| | |
| | #6 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Zitat:
(diesesmal beinhaltet die Lösung nur den Ollycode und ein paar Kommentare) Jetzt gibt es aber eine Einschränkung für die gepatchte Version: der Name muss ungleich 9 Zeichen lang sein (irgendeinen Anhaltspunkt musste ich mir ja suchen - und da war der Buttonname doch recht schön und greifbar ). Man braucht aber nicht unbediengt einen Namen einzugeben.Vom Prinzip war das fast dasselbe wie vorher* - und wenn mir der Platz zum patchen ausgehen sollte, hänge ich einfach eine weitere Section dran und tobe mich da aus *könntest Du vielleicht vollständigkeitshalber die anderen "Stufen" für die anderen User verfügbar machen (es gibt User, die das Forum noch nicht aboniert haben )?
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
| | #7 (permalink) | ||
| Themenstarter Registriert seit: 08.01.06 ![]() Likes: 0 | Zitat:
Zitat:
viel Spass.. http://www.3dprogrammierung.gmxhome....en/crackme.zip | ||
| | |
| | #8 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Die Idee mit dem Timer ist ganz nett (oder war der schon immer da?). Habe ich schon mal beimBuha-"Contest" gesehen Vielleicht kannst Du ja den einen oder anderen Trick abgucken. Wobei wir schon bei der "Bewertung" wären - ich würde sagen, zumindest, was das auffinden der Vergleichsroutine angehet - es spielt schon in der gehoben Klasse mit ( verglichen mit vielen Crackmes). Man sieht imho schon, dass Du Programmierst und nicht "codest" oder "proggst" Zuerst: die globalen Variablen sind schon sehr verdächtig - meistens landet alles auf dem Stack und hat die Adresse 12xxx. Wenn dagegen das "Offset des Programms" als Adresse erscheint, denkt man sich schon "hier muss was sein - denn es ist global" Und die zweite "gravierende" Schwäche ist überhaupt der Vergleich - diesesmal wird er nämlich zur Lösung genutzt. Jetzt zu den Tipps:Natürlich hast Du recht, bezüglich dessen, dass ein Cracker, sobald er die Vollversion hat, auch die Sprungadressen herausbekommt. Es war von mir nicht ganz fertiggedacht. Allerdings, wenn jemand die Vollversion weitergibt, kann er das Handbuch als PDF mitgeben.Da bringt die Rumtrikserei nichts mehr. Hier gibte es einige Foren, wo ich nützliche Tipps gesehen habe (delphi-forum, URL habe ich leider nicht im Kopf). Die Absicherung geht dabei immer zur lasten des Kunden. Was jetzt kommerzielle Packer und Protector betrifft: wie man hier an einigen Threads sehen kann, sind sie nicht wirklich perfekt (ok, ein Armadillo-Crackme war schon komplex, aber auch z.T nur, weil es Autoit - Scriptengine war, was einfach sehr ätzend ausfallen kann). Ich hab die Preise nicht im Kopf, denke aber, je nach Produktpreis muss die Anschaffung der Lizens sehr überlegt sein. Und auch die "Schutzgrenzen" sind begrenzt: wendet man den "besonderen" Schutz z.B auf diese Vergleichsroutine an, läuft der Installer nur noch auf 4 Ghz Boliden. Zumindest sollen viele der einzelnen Optionen in der Praxis Probleme bereiten. Dagegen gibt es für OllyDbg z.B Scripte, die den Schutz oder zumindest einen Teil davon entfernen und damit unwirksam machen. Kommen wir zur Lösung: diesesmal ist sie sehr "primitiv".Es werden einfach die Hashes überschrieben. Nach dem Patch gibt es nur ein gültiges Passwort: "CDW"
__________________ 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) |
| Themenstarter Registriert seit: 08.01.06 ![]() Likes: 0 | Sorry aber deine Patsch.exe verweigert ihre Arbeit: "CRC-Check failed" Hast du auch das aktuelle Crackme vom (10.06.2006 14.10uhr) genommen? Eigenlich dürfte deine Liebligspatchstelle nicht mehr so ohne weiteres zu Patchen sein. CRC-Test irgenwo weiter hinten... Der Timer ist eigenlich zu Anzeigeaktuallisierung beim Dateien entpacken und kopieren zuständig. Das dauert normal bei über 4000 Datein über 5min. Damit dabei niemanden langweilig wird, läuft dann eine Diashow mit bunten Bildchen ab. |
| | |
| | #10 (permalink) | ||
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | hm, seltsam, eigentlich sollte Dup (Patchengine) verlässlich sein. Verweigert jetzt bei mir auch die Zusammenarbeit und will partout keine neuen Patches generieren. (ich habe DuP verwendet, weil meine eigene Patchengine nur bis zu einer bestimmten größe funktioniert) das hier sollte funktionieren(Anhang). Zitat:
Zitat:
EDIT: So, jetzt habe ich eine sehr ausführliche Lösung geschrieben,das ganze ist im HTML Format und muss also nach dem Download noch umbenannt werden (es sind keine HTML Anhänge im Board erlaubt)
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | ||
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Server testen | morgoth | Code Kitchen | 5 | 23.02.07 09:42 |
| Testen von Socks Cap | ThiEfGaRReT | Applikationen | 4 | 26.07.05 23:05 |
| DSL Geshwindigkeit testen | Barth0l0mew | Internet Allgemein | 4 | 29.06.05 14:06 |
| WLAN testen | FlasherMX | Hardware Probleme | 6 | 22.03.05 15:47 |
| CPU testen | juster | Die Problemzone | 9 | 29.01.05 12:30 |