August 1999 |
"Goldwave V4.02" |
Win Code Reversing |
|
vom Instructor |
|
Der Register - Trick |
|
|
|
||
Tools: W32Dam V8.93 | ||
Level |
Leicht ( ) Mittel ( X ) Schwer ( ) |
Die Einleitung |
Der Autor von Goldwave
V4.02 sagt:
"Goldwave V4.02 " ist ein
Sound Editor, Player, Rekorder und Konverter. Mit ihm kann man Sound Dateien
für Webpages und Windows Sound erzeugen. Eine Vielzahl von Effekten und
Editiermöglich -keiten sorgen für eine professionelle Sound Produktion.
Das Sicherungssystem |
"Goldwave V4.02 " ist ein Sharewareprogramm, mit
eingeschränktem Funktionsumfang . Um das Programm zu registrieren werden wir nach folgenden Angaben gefragt:
First Name:
Last Name:
Password:
Die Lösung |
Wir gehen in den Registrierungsbildschirm und geben die
geforderten Angaben ein, wie nicht anders erwartet erhalten wir eine Messagebox mit einer
Fehlermeldung. Wir notieren uns Titelzeilentext und Text der Meldung.
Wenn wir das getan haben, starten wir ein Deadlisting mit W32Dasm von der ' Goldwave.exe', suchen in den SDR nach dem Text der Fehlermeldung und klicken doppelt auf diesen Eintrag, wir landen bei diesem Code.
Wir sehen in roter Schrift unsere Fehlermeldung. Um zu sehen, woher die Fehlermeldung aufgerufen wurde, scrollen wir nach oben bis Adresse 0042D3C3.Wir sehen den Sprung in ein Unterprogramm gefolgt von einer anschließenden Prüfung ( JNE...) Diese Routine ist typisch für eine Registrierungsabfrage. Im Unterprogramm wird oftmals die Serial erzeugt und mit unserer gefakten verglichen. Bei Übereinstimmung wird in diesem Fall das Register al mit 1 gefüllt, aus dem Unterprogramm zurückgekehrt und durch JNE geprüft.
Eine Änderung des JNE in JE ist nicht immer erfolgsversprechend, weil oft weitere interne Abfragen erfolgen. Das sehen wir in unserem Beispiel in dem folgenden Codeauszug.
Durch den Call 0042CC04 wird hierhin gesprungen, wenn wir nach oben sehen, ist eine Referenz zu 2 weiteren Adressen vermerkt. Das heißt, es wird von 3 Stellen aus überprüft, ob die Seriennummer stimmt.
Wenn wir jetzt bei Adresse 0042D3CB den JNE in JE ändern, wird nur 1 Überprüfung ausgeschaltet. Was müssen wir also tun? Da das Tutorial für Newbies gedacht ist, suchen wir also jetzt nicht die richtige Serial.
Wir sorgen dafür, daß al immer 1 enthält, indem wir bei Adresse 0042CC04 mov al, 1 und dann ret eingeben. Das sorgt dafür, daß al=1 ist und dann aus dem Unterprogramm zurückgekehrt wird. Die Bedingung JNE... wird dadurch erfüllt und unser Programm ist registriert.
Das Finale |
Das war's schon wieder, bei Adresse 0042CC04 mov al,1 / ret / eingeben und das Programm ist registriert.
-- Mein Dank geht an 'Sandman' für seine hervorragenden Tutorials --
Tutorial
von: Instructor
Page gestaltet: 23.August
1999