Cracking Tutorial für Macromedia FireWorks 2
SalesAgent Zeit-Limit Cracking

 
 


Ziel: FireWorks 2
Beschreibung: FireWorks creates the smallest, highest-quality JPEG and GIF graphics in the fewest number of steps. It is a total solution for creating and producing web graphics. Fireworks simplifies and streamlines the process of making web and screen graphics, while providing the ultimate in flexibility and editability. FireWorks also makes it easy to minimize file size without sacrificing quality, which results in faster web sites and higher satisfaction among web site visitors.
URL: http://www.macromedia.com
Schutz: Zeit-Limit / NAG (SalesAgent)
Benötigte Tools: - SoftICE 3.24
  - lcc Win32 c-compiler
Disclaimer: Do I really have to remind you all that by BUYING and NOT stealing the software you use will ensure that these software houses will continue to produce even *better* software for us to use and more importantly, to continue offering even more challenges to breaking their often weak protection systems.
BTW, It's illegal to use cracked Software!


If you're looking for cracks or serial numbers from these pages then your wasting your time, try to search elsewhere on the Web under Warez, Cracks, etc.
Info: Brand and product names are trademarks or registered trademarks of their respective holders.
Level: (X)AnfÄnger (X)Fortgeschrittener

Mehr und mehr Programme benutzen SalesAgent als Schutz. Programme die mit SalesAgent geschützt sind wurden gepackt und es gibt einen Loader (auch bekannt als UnPacker). Wenn DU irgendwas in der EXE modifizierst, veranlasst SalesAgent, daß das Programm abstürzt. Ich werden den Absturz umgehen, indem ich einen PROCESS PATCHER erstelle!

Also, zuerst einmal müssen wir das Programm starten. So macht das. Wie ihr sehen könnt, erscheint ein Bildschirm wie bei VBox. Nun habt ihr drei Wahlmöglichkeiten: BUY - TRY - ORDER. Wenn ihr auf BUY drückt, passiert nichts. Daher können wir sicherstellen, daß es keine Möglichkeit gibt das Programm zu registrieren.

Diese Dialog Box sieht nach einer erweiterten aus, so ein BPX DialogBoxParamA wird funktionieren. Beende FireWorks und starte es erneut. Ihr landet in SoftICE und zwar bei der DialogBoxParamA Routine. Drückt F10 um über den CALL zu springen. Nun erscheint der TRIAL SCREEN. Drückt auf TRY. Ihr landet in SoftICE and nachdem ihr F12 gedrückt habt, erscheint der folgende Code:

 
  :00408C53  E8E8D1FFFF          CALL    00405E40      ; checke Zeit-Limit und zeige NAG
  :00408C58  83F8FF              CMP     EAX,-01
  :00408C5B  55                  PUSH    EBP
  :00408C5C  750B                JNZ     00408C69
  :00408C5E  FF154C924200        CALL    [USER32!PostQuitMessage]
  :00408C64  E981000000          JMP     00408CEA
  :00408C69  8B7C2418            MOV     EDI,[ESP+18]
  :00408C6D  57                  PUSH    EDI
  :00408C6E  FF1534924200        CALL    [USER32!ShowWindow]
  :00408C74  57                  PUSH    EDI
  :00408C75  FF153C924200        CALL    [USER32!UpdateWindow]
  :00408C7B  55                  PUSH    EBP
  :00408C7C  55                  PUSH    EBP
  :00408C7D  68208D4000          PUSH    00408D20
  :00408C82  E8557F0100          CALL    00420BDC

Nun können wir das Zeit-Limit knacken, indem wir den JNZ Befehl bei 408C5C in einen JMP Befehl ändern, stimmts?
Nein! Wenn euer Zeit-Limit abgelaufen ist, wird das Programm beendet bevor vom CALL zurückgekehrt wird. Wie auch immer - wir können den NAG und das Zeit-Limit mit dem Verändern von nur einem Befehl knacken. Wenn du nicht weißt warum, denk' noch mal nach ... dann lese weiter!

Wenn wir den CALL 405E40 bei 408C53, wo der NAG erzeugt wird, in JMP 408C69 ändern, dann werden wir den NAG und auch das Zeit-Limit geknackt haben. Nun wissen wir, daß die Adresse im Speicher für unseren Patch 408C53 ist und daß wir wollen, daß dort ein JMP 408C69 ausgeführt wird! Also beende das FireWorks und starte es neu. Bei 408C53 angelangt, mach' folgendes:

     A <ENTER>
     JMP <408C69>
     <ENTER>


Nun wird SoftICE EB14 als Code anzeigen ... nun wissen wir alles für unseren PROCESS PATCHER, oder etwa nicht?

Ich bin mir beinahe sicher, daß ihr euch an den CRC check erinnert, über den ich euch am Anfang des Essays berichtete. Also es gibt eine CRC check - aber wir können den Code im Speicher überschreiben (wir könnten auch die Technik von Victor Porguen benutzen, doch dieser essay ist für Newbies gedacht!!). Dies klingt so, als ob wir einen PROCESS PATCHER einsetzen können! Wenn du genügend Zeit hast, programmiere deinen eigenen PROCESS PATCHER - andernfalls benutze den von Gi0 und modifiziere ihn.

// * ================================================================== *
// * MANY THANKS TO Gi0 FOR RELEASING HIS PROCESS PATCHER SOURCE CODE!! *
// * IT SAVED ME THE TIME FOR CODING MY ONE!                            *
// * ================================================================== *

#include <windows.h>

void main(void)
{
STARTUPINFO si;
char* cl;
PROCESS_INFORMATION pi;

ZeroMemory(&si,sizeof(si));
si.cb = sizeof(si);
cl = GetCommandLine();

if (CreateProcess("FIREWORKS 2.EXE", cl, NULL, NULL,FALSE, NORMAL_PRIORITY_CLASS,
NULL, NULL, &si, &pi))
{

// PATCH IT IN MEMORY
WriteProcessMemory (pi. hProcess, (LPVOID) 0x408C53, "\xEB\x14", 2, NULL);

CloseHandle (pi.hProcess);
CloseHandle (pi.hThread);
}

else

MessageBox(NULL,
"FIREWORKS 2.EXE nicht gefunden!\nStarte den process patcher im Programm-Verzeichnis!",
"Macromedia FireWorks 2 CRACK by TORN@DO", MB_OK);

}

Ihr könnt die meisten Programme mit Hilfe eines PROCESS PATCHERS knacken. Ich empfehle aber nur die Programme mit einem solchen Patcher zu knacken, die entweder gepackt sind oder einen nicht so einfach zu enfernenden CRC check haben.


Ein weiteres Programm wurde Reverse Engineerd. Irgendwelche Fragen (keine Crack-Anfragen)
?

 
Wenn DU FireWorks nach der Test-Phase weiterhin verwendest, KAUFE ES DIR!


Copyright © 1999 by TORN@DO and The Immortal Descendants. All Rights Reserved.