Reverse Engineering
-
Hallo Leute, befasse mich aus Wissensdurst ein wenig mit reverse engineering.
Folgende Frage:
Viele Programme werden ja verschleiert, damit man den Assemblercode nicht verwerten kann.
Wieso sind solche Programme praktisch nicht reversbar?
Liegt das nur daran, dass es sehr schwer is oder ist es grundsätzlich nicht möglich?Der Prozessor kann die Befehle ja auch verwerten.
-
Hast du gut erfasst: Praktisch kommt man AFAIK also immer irgendwie an die Codes - ist nur eine Frage des Aufwands...
-
Und ob du den Zusammenhang noch findest...
-
Also Reverse Engineering ist afaik eigentlich nicht gerade das Erstellen des Programmcodes aus dem Programm, sondern eher das Erstellen der Programmstruktur aus dem Programmcode.. Naaja.. vielleicht gibts ja da tatsächlich nen paar mehr Rückschritte, als mir bewusst ist..
-
Verschleierung soll es dir nur erschweren bestimmte Algorithmen im Programm zu erkennen. Zum Beispiel bei einem Kopierschutz.
Eine Abfrage in der Form
if(input_key != key) exit_and_shout_something_bad_at_the_user();
ist ja leicht gefunden und deaktiviert.
Wenn du dich mit dem Thema befassen willst, sollte folgender Link interessant sein zum Skype Reverse Engineering. Skype benutzt nämlich einige fiese Tricks.
Ein nützliches Werkzeug dürfte der Rasta Ring 0 Debugger (rr0d) sein.
Irgend wo in meinen Bookmarksammlungen müsste ich auch noch etwas finden.