So, nun installieren wir Copyshop mal, damit wir überhaupt anfangen können. Nun
müssen wir den Computer mal neu starten, also schnell alles abspeichern ... fertig.
Den Teil solltet ihr mal ohne Probleme hinter euch gebracht haben, dann ist das
cracken schon halb erledigt :-)
Jetzt gehts aber los. Nun starten wir mal das Prog, um uns Klarheit zu verschaffen. Halt,
ich hab ja noch keinen Scanner-Treiber installiert. Das solltet ihr unbedingt vorher tun,
sonst startet er Copyshop gar nicht. Und wieder mal starten wir das System neu ... fertig.
Jetzt gehts aber wirklich los! Also starten wir Copyshop mal. Hier kommt gleich mal ein
Fenster, in dem wir uns für 3 Sachen entscheiden können: 1. Vollversion -
2. Shareware -
3. 21 Tage Testversion. Hier liegt bei euch also die
Qual der Wahl, Ihr könnt euch für eines der 3 Sachen entscheiden. Also ich nehme mal
die "Vollversion". Hier gebe ich mal meinen Namen "Max Crashkid"
und als Serial "[WEBOUTLAWZ]" ein. Und wer hätte sich das
gedacht, die Serial war falsch und es kommt eins der folgendes Fenster:

Das lassen wir natürlich nicht auf uns sitzen. Die Meldung notieren wir uns gleich mal
und starten W32dsm. Natürlich ist es Vorraussetzung, dass ihr mein 1. Tutorial gelesen habt, oder dass ihr euch wenigstens ein
wenig mit W32dsm und dem Hexeditor auskennt.
Also laden wir dann gleich mal die Datei "Copyshop2.exe" in den Disassembler.
Zur Wiederholung: Disassembler - Open File to Disassemble - Directory suchen und File
öffnen.
Solltet ihr nun komische Zeichen sehen, dann klickt Ihr "Disassembler - Select Font -
irgendeine Schriftart auswählen, die man lesen kann - ok.
So, nun sehen wir uns mal die String-Referenzen an, indem wir auf
klicken, und suchen
unsere Meldung ... gefunden! Jetzt machen wir mal nen Doppelklick drauf ... und gleich
nochmal, damit wir sehen, ob es mehrere Stellen für diese Meldung gibt. Tatsächlich, es
gibt 2 Orte, wo diese Meldung auftaucht. Das macht es ein wenig schwieriger :-( aber bloß
nicht verzweifeln.
Jetzt gehen wir mal bei der einen Meldung hier hoch, da sie ja als erstes kommt

So, jetzt gehen wir mal auf "Goto - Goto Codelocation" und geben dann
"004B7F9F" ein, denn wir wollen ja sehen, von wo diese Meldung aufgerufen wird.
Und da kommen wir zu dieser Stelle

Wir ändern also den Jump "7473" in "9090" um. Dies können wir leider
nicht im Disassembler tun, also wechseln wir gleich mal in den Hexeditor und laden eine
Kopie von "Copyshop2.exe". Es ist wichtig, immer eine Kopie vom Original zu
haben, dann kann man irgendwelche Fehler immer wieder beheben. Außerdem würde es einen
Datei-Sharing Fehler geben, wenn wir die Original-File in den Disassembler geladen haben
und sie dann ausführen wollen. Zuvor müssen wir aber noch den Offset der Adresse
wissen, und den finden wir in der Statusleiste.

Im Hexeditor einfach Alt+F5 drücken, dann den Offset eingeben "B739F" und die
Änderungen vornehmen. Die Nullen kann man dabei weglassen, das "h" am Ende muss
man dabei weglassen. Nun gehen wir auf den Jump etwas unterhalb des 1. Jumps.

Wir klicken nun auf
um zu der Stelle zu kommen, zu der dieser Jump springt.

Da der untenliegende Jump warscheinlich nichts bringt, ändern wir der JE in ein JNE. Der Offset ist "B7410". Die
Werte sind "7405" welche in "7505" geändert werden. Ihr fragt euch jetzt sicher, warum wir nicht dem Call gefolgt sind. Ganz einfach. Dieser Call verzweigt
sich warscheinlich in irgendwelche Tests, die schließ und endlich einen Wert zurückliefern. Da dieser Wert zu 99.9999 % falsch ist, fällt der "test bl, bl" also
negativ aus. Hier wird verglichen, ob bl=0 ist. Wenn das der Fall ist, dann soll er zu dieser Stelle springen (je 004c7747). Also haben wir das einfach
umgeändert, damit wenn der Wert nicht 0 ist, er springen soll. Alles klar?
So nun zur 2. Meldung. Einfach nochmal auf
klicken, und unsere Meldung
suchen. Nochmal draufklicken und darauf achten daß ihr nun weiter unten als vorher im
DASM Code seit!

Wir gehen wieder auf "Goto - Goto Codelocation" und geben dann "004C4CF8"
ein, um zu sehen, von wo diese Meldung aufgerufen wird. Und da kommen wir zu dieser
Stelle

So, von hier wird also der Jump aufgerufen, der direkt zur Fehlermeldung springt. Was
liegt also näher, als dieses JE (Jump if equal) in ein JNE (Jump if not equal) zu
ändern! Wenn wir mal sehen wollen, wohin ein Jump führt, dann klicken wir einfach auf
und schon
sind wir dort. Wollen wir wieder zurück, dann klicken wir einfach auf
. Soviel also zu den Jumps.
Also gehen wir in den Hexeditor, drücken Alt+F5 und geben den Offset "C40F8" ein.
Hier ändern wir dann den Wert "743B" in "753B" um. Nicht vergessen,
das Programm immer wieder zu testen, ob es Fehler gibt, oder ob es gar schon gecrackt ist !
So, die 2. Änderung haben wir schon gemacht. Nun empfiehlt es sich, jedesmal das Programm
zu starten (Achtung! Unbedingt die gecrackte Datei!), damit man immer sehen kann, ob das
Programm einen Fehler verursacht.
So, nun aber weiter. Beim 2. Jump den wir verändert haben, steht oberhalb "cmp byte
ptr [ebx+28], 00" Hier wird Irgendetwas mit Irgendetwas verglichen, was uns nicht zu
interessieren hat. Der nächste Jump unterhalb des 2. Jump sieht gleich aus wie der andere.

Auch hier wird vor
dem Jump wieder Irgendetwas mit Irgendetwas verglichen. Diesen Jump noppen wir einfach aus.
Wie? Was? Was ist denn das? Ganz einfach, der JE (Jump if equal) wird durch einen NoOperator
(NOP) ersetzt. Der Hexadezimalwert für einen NOP ist 90. Wir sehen im Disassembler, dass bei
dem Jump vorne "7420" steht. Dieser Wert steht für den gesamten Jump. Also müssen wir auch
den gesamten Wert "7420" durch "9090" ersetzen. Der Offset dieses
Wertes ist "C40FE".
So, jetzt starten wir wiedermal das Programm und siehe da! Es ist gecrackt! Ja Leute, wir
scheinen es wieder mal geschafft zu haben! Kurz mal auf "Help - About" geklickt
und was sehen wir da: Registriert für Max Crashkid (bei euch steht natürlich euer Name
:-). Wir haben nun erreicht, was wir wollten. Zur kurzen Erklärung: Wir haben dem
Programm klar gemacht, dass wir registriert sind und dass es nicht bei jedem Start in der
Registry die Registriernummer und den Namen vergleichen soll. Zu guter letzt jagt das
ganze noch durch eine Patch-Engine, damit ihr einen Crack bekommt und nicht mit der
gecrackten EXE-Datei fungieren müsst.
Jetzt könnt ihr euch schon glücklich schätzen, denn das war ein Schutz zwischen
"ganz leicht" und "leicht". Ihr kommt der Stufe eines guten Crackers
immer näher! Mein voriger Tutor hat ja nur einen Schutz behandelt, der "ganz
leicht" war.
ACHTUNG: Wenn Ihr wollt, dass ich meine Tutorial-Reihe fortsetzte, dann schreibt mir ein
Mial mit eurem Lob :-) oder auch Kritik. Dann findet Ihr auf unserer Page bald ein 3.
Tutorial von mir.( weboutlawz@bigfoot.com
)Und vergesst nicht, wenn ihr schon gute Cracker seid, dann crackt nicht
auf eigene Faust, denn das macht keinen Spaß. Tretet einfach unserer Group bei!
-= Greetings fly out to all Members of Weboutlawz & Satanic Brain of 4110 for some help. =-