Henryk Plötz: Cracken

Beitrag lesen

Moin,

ich würd genr mal wissen was Crakcer eigntlich machen. So schwer ist das doch bestimmt nicht.

Das kommt darauf an wen du fragst ;-)
http://info.astrian.net/jargon/terms/c.html#cracker ist zum Beispiel eine schöne relativ allgemein akzeptierte Definition.

wenn ich ein programm installiere und es hat eine reg-id dann steht die doch irgendwo, oder net? weil ja das programm die eingabe mit der hinterlegten id vergleichen muss. die frage ist jetzt also nur noch wo ist die richtige id hinterlegt?

Jein. Du hast Recht in der Hinsicht, dass die ID oder wenigstens die Anleitung zu ihrer Berechnung (wahrscheinlicher) sich bereits irgendwo auf deinem Rechner oder wenigstens dem Installationsmedium befindet. Du musst jetzt eigentlich nichts weiter tun als dir anzuschauen, was das Programm, das die von dir eingegebene ID überprüft, macht um diese Überprüfung vorzunehmen.
Das könntest du zum Beispiel tun indem du einen Debugger deiner Wahl anwirfst und das Programm dann schrittweise auf eine gültige ID loslässt. Dadurch müsstest du Einblick in den benutzten Algorithmus erhalten und kannst dann evt. diesen Algorithmus einfach rückwärts anwenden um weitere gültige IDs zu bekommen.
Eine andere Möglichkeit wäre, den Maschinencode des Programms zu disassemblieren, dann wird dir der Algorithmus quasi auf dem Silbertablett geliefert.

Das ist übrigens auch genau der Grund warum ein Passwortschutz nur auf JavaScript-Basis nicht funktionieren _kann_[1], zumal du dir dort das Disassemblieren sparen kannst, da der Quellcode mitgeliefert wird. Dazu ist ja grade weiter oben im Forum eine Frage.

Eine dritte Möglichkeit wäre, den Programmcode so zu manipulieren, dass er nicht mehr auf der ID-Abfrage besteht bzw. IDs nach einem von dir gewählten Algorithmus akzeptiert.

Die letztgenannte Methode ist soweit ich weiss auch die einzige praktikable Möglichkeit falls sich der verwendete Algorithmus nicht einfach umkehren lässt. Das ist zum Beispiel der Fall, wenn starke asymmetrische Kryptographie oder ein Dongle eingesetzt wird.

Selbstverfreilich musst du in jedem Fall genau wissen was du tust und wie das System, mit dem du arbeitest, aufgebaut ist. Lange Erfahrung oder wenigstens tiefe Kenntnis von Assembler und Maschinencode könnten ebenfalls nötig sein. Ein Link mit Anregungen dazu wie du diese Kenntnisse aufbaust wurde dir ja schon gepostet (obwohl es da wohl mehr um den Online-Bereich geht).

Eigentlich: Wenn du die nötigen Kenntnisse angehäuft hast, kannst du ja auch gleich etwas Vernünftiges damit machen.

[1] Zumindest bis jemand eine funktionierende Implementation von PGP/GPG in JavaScript vorweisen kann. Das wäre mal eine interessante Aufgabe...

--
Henryk Plötz
Grüße aus Berlin