Software Reverse
Engineering
Software der Firma "DESIGN SOFTWARE"
Bitte zuerst den Abschnitt "ANMERKUNG" am Ende des Essays lesen!
Ziel: Finden der korrekten Seriennummern
Autor: VOLATILITY
(Immortal Descendants)
Übersetzt von: Vladimir
Programm/e: Sämtliche Software der
Firma "DESIGN SOFTWARE"
Wo zu finden: http://execpc.com/~sbd/
Geschützt durch: Kombination aus: User
Name/ Organisation/ Seriennummer
Tools, die ihr braucht: SoftIce
Level: Anfänger
Alle Programme dieser Firma, die ich bis jetzt gecrackt habe, konnten mit dieser
Methode überlistet
werden. Also denke ich mir mal, das diese bei allen Proggies dieser Firma anwendbar
ist. Gregory Braun schreibt verdammt gute, nützliche und innovative Applikationen!
Also kauft diese Programme,
und wendet die Crackmethode nicht auf unbezahlte Software an.
Startet das Programm, und schaut es euch ein wenig an. Euch wird der Registrierungsnag
bestimmt ins
Auge fallen!
Wie ihr seht, können wir dort den Benutzernamen, die Organisation und
die Seriennummer eingeben.
Daher würden wir eher im Code dieses Programms untergehen (zu viele Routinen
abzuchecken) wenn wir versuchen würden, einen Patch zu machen (umändern
des Codes), als wenn wir direkt versuchen würden,
die für uns passende Seriennummer herauszufinden.
Das Programm aus dem Angebot von D.S., anhand dessen ich diese Methode erklären
will, nennt sich
"RGB-EDITOR". Den ersten Weg, den ich ausprobierte, war die HMEMCPY-Funktion
in SoftIce-und
sie funktionierte hervorragend. Also, gebt irgendwelche fingierten Daten in
die Textboxen ein. (Ich gab "Cracked by Volatility (ID), "Immortal
Descendants" und "272727" ein.)
DEN CRACK DURCHFÜHREN:
Nachdem ihr die fingierten Daten eingegeben habt, drückt STRG+D
um SoftIce aufzurufen. Nun müßt ihr einen Breakpoint auf die HMEMCPY-Funktion
setzten, und zwar mit "BPX HMEMCPY".
Verlaßt SICE wieder mit den Tasten STRG+D,
um zum Programm zurückzukehern, und clickt auf den OK-Button im Registrierungsnag.
SICE wird sich melden. Nun könntet ihr eigentlich anfangen, den Code nach
der Stelle zu durchforsten,
die euch zum Ziel bringt...Aber wenn ihr mal ein bißchen nachdenkt, dann
wird euch klar, das die Prozedur
ja DREIMAL aufgerufen wird (einmal für den Benutzernamen, einmal für
die Eingabe im Organisationsfeld
und zu guter Letzt bei der Eingabe der Seriennummer. Also müßt ihr
noch zweimal STRG+D drücken,
sodaß ihr nun bei der Stelle im Code auskommen, wo diese Funktion zum
dritten mal vorkommt.
Drückt nun einmal F11, um diesen Teil des
Codes zu verlassen- nun sollet ihr euch an dieser Stelle
befinden:
177F:0B40 177F:0B45 177F:0B47 177F:0B4C 177F:0B4E 177F:0B4F 177F:0B50 177F:0B51 |
9A189E1701 |
CALL KERNEL!HMEMCPY |
Wenn ihr nunmal einen Blick in die Zeile über dem CommandFenster in SICE
werft, werdet ihr dort die Angabe "USER(0A)" vorfinden. Dies ist eine
STelle, die uns nicht besonders weiterbringt, also geht mit
F10 Schritt für Schritt durch den Code, bis ihr in eben dieser Zeile
"RGB!.text" steht. Nun befinden wir
uns mitten im Programmcode vom "RGB-Editor".
F10t noch ein bißchen witer durch den Code, um die Stelle zu finden, an der die korrekte Seriennummer berechnet wird. Diese Stelle werdet ihr hier finden:
0137:0040687B 0137:0040687D 0137:0040687E 0137:0040687F 0137:00406884 0137:00406887 0137:00406889 0137:0040688B |
8BE8 |
MOV EBP,EAX PUSH EBX -> Organisation PUSH ESI -> Benutzername CALL 00409520 -> Berechnung der S.Nr. ADD ESP,08 CMP EAX,EBP JZ 004068A9 PUSH 0000EAC |
Nun könne wir uns den Namen der Organisation den wir eingegeben haben
ansehen, indem wir mit
F10 über die Codingzeile "PUSH EBX" gehen (also bis 00137:0040687E),
und das Kommando
"d ebx" eingeben. Wir können auch den von uns eingegebenen
Namen betrachten, indem wir über die
Zeile "PUSH ESI" gehen, und "d esi"
eingeben. Aber wie können wir uns die Seriennummer anschauen? Können
wir NOCH nicht, aber wenn ihr über die Zeile "CALL 00409520"
geht, können wir uns den
Wert des EAX-Registers mit "? eax" anzeigen
lassen. DA IST SIE! In meinem Fall war es die "3727125845".
ANMERKUNG:
Dieses Essay dient nur zur Erweiterung des Wissensstandes! Wir übernehmen
keine
Verantwortung für das, was eventuell mit eurem Rechner passiert.
Wenn ihr das Programm erfolgreich gecrackt habt, müßt ihr es sofort
löschen! mWenn ihr
weiterhin damit arbeiten wollt, dann erwerbt es rechtmäßig!!
UNTERSTÜTZT SHAREWARE, DENN DAS SIND UNSERE ÜBUNGSANWENDUNGEN!
Es ist verboten, gecrackte/gepatchte Software zu benutzen.
Copyright (c) 1999, Volatility und Immortal Desendants-
übersetzt von vladimir