Cracking Tutorial für Ahead Nero v4.0.5.0 Demo
 
 


Ziel: Ahead Nero v4.0.5.0
Beschreibung: CDR - Proggi
Quelle: http://www.ahead.de
Sicherung: Begrenzte Nutzungsdauer bis 30.08.99
Tools : W32Dasm v8.93
  - Hiew v6.15
Level: ()Anfänger (x)Fortgeschrittener ( )Profi  

 

.
Nero v4.0.5.0 liegt uns als Demoversion mit uneingeschränktem Funktionsumfang vor. Eine Einschränkung besteht nur in der Nutzungsdauer des Programms, es beendet seine Arbeit zum 30.08.99.Danach muß man das Programm registrieren oder es beenden.Man kann nach Ablauf der Nutzungsdauer zwar die Systemzeit zurückstellen, aber das ist nicht, wonach wir suchen.

Nach Ablauf unserer Nutzungsdauer ist der Demomodus ebenfalls nicht mehr möglich, es erscheint leider diese nette Mitteilung.


Nach dem Start des Programms begrüßt uns diese Dialogbox und fordert uns auf, das Programm in der Demoversion zu betreiben oder es zu registrieren. Wir sehen diese Dialogbox, geben einen Namen und unsere Firma ein, und Schreck, der 'OK' Button bleibt inaktiv, wir sehen ,daß die Progammierer von ' Nero v4.0.5.0.' die Tricks schon kennen. Erst muß man die richtige Serial eingeben, dann kann man den ' OK ' Button drücken. Für uns heißt das, daß ein  Deadlisting mit einer Fehlermitteilung nicht möglich ist.

                                              

Was passiert denn beim Programmstart, es wird irgendwo
geprüft, ob das Programm registriert ist, wenn nein, wird eine Dialogbox aufgerufen. Wir müssen also nach der Stelle im Programmcode suchen, wo diese DialogBox aufgerufen wird. Wir schauen uns mal die Dialogbox an, in der Titelzeile steht 'Nero - Burning ROM', wie wärs denn damit. Wir starten ein Deadlisting und schauen mal in den String Data Referenzes nach, ob was brauchbares zu finden ist. Wir sehen alles mögliche, bloß diesen Text nicht. Mmh? Was nun, suchen wir mal den Text, der in der Titelzeile der Dialogbox steht ' Nero - Burning Rom'. Gesucht und gefunden - hier...


      

Wir sehen eine DialogID_00F2, und dann den gesuchten Text. Was wir hier sehen, sind die einzelnen Elemente der Dialogbox vom Anfang aber in englischer Sprache. Wir setzen die Suche fort, diesmal mit DialogID_00F2. Gesucht und gefunden an dieser Stelle:

       


Um zu sehen,woher die Dialogbox aufgerufen wurde, scrollen wir nach oben und
sehen  Referenced by a Call at Adress 00432D8F. 

      

Von der roten Adresse aus erfolgte der Sprung zu der unerwünschten Dialogbox, jetzt müssen wir doch mal prüfen, was vor dem Call so passiert ist, ein bißchen nach oben gescrollt und schon sehen wir den Verweis auf StringData Ref from Data Obj ->"Info". Ratet mal woher diese Informationen stammen, genau aus der Registrierungsdatei, dort seht ihr folgende Eintragungen.


                       


Das heißt unser Programm prüft garantiert in den Call's bei Adresse 4D56B5 und 43297D, ob wir denn registriert sind und gibt jenachdem als Ergebnis für EAX 0 oder 1 zurück. Das  Einzige, was wir jetzt noch tun müssen, ist, die Abfrage, ob in EAX der richtige Wert steht,auszuschalten. Das machen wir wie oben angedeutet, indem wir JNE in JE ändern.
Das wars für heute.Bye!

 (c) August 1999 Instructor