Kicsomagolás asprotect 2

Mielőtt elkezdené, elemzi a program Peid:

Kicsomagolás asprotect 2

A program tele ASProtect 1,2x - 1,3x [Bejegyzett]. Próbáljuk tisztázni a csomagolót változata, amely alkalmazható beépülő Vera 0,15:

Kicsomagolás asprotect 2

A program tele ASProtect 2.3 SKE építeni 06,26 Beta [Extract].

Most nézd meg ezt a programot Die v0.64:

Kicsomagolás asprotect 2

Itt azt látjuk, hogy a program fordítása Delphi.

1. Indítsa el a fájlt OllyDbg

Mint mindig, most megpróbálja futtatni a programot debugger, hogy ellenőrizze az anti-hibakeresés csapdákat. Töltsön be egy programot a debugger, és egy hibaüzenet jelenik meg:

Nézzük meg a kártya program:

Kicsomagolás asprotect 2

A program még nem állt meg az Entry Point, és már megkapta a hibaüzenetet.

Nos, ilyen esetekben ajánlatos, hogy hagyja abba a hibakereső nem Entry Point program és a rendszer töréspont. Tesszük a megfelelő módosításokat az „Események” fülre a debugger:

Kicsomagolás asprotect 2

A program újraindítása, és megáll itt:

Megálltunk a rendszerben töréspont.

Kicsomagolás asprotect 2

Kicsomagolás asprotect 2

Nyomja meg az F9 billentyűt, és a program leáll Entry Point:

Ez - a szokásos kezdő programok védett védő ASProtect.

Megpróbálom a program futtatásához nyomja meg az F9 billentyűt, és a program fut rendesen:

Kicsomagolás asprotect 2

Megjegyzés: Amikor letölti a programot a debugger megállítani a rendszerben töréspont, a következő képernyővédő hibaüzenet jelenhet meg:

2. Keressük meg az eredeti belépési pont (OEP)

Ha ugyanarról a programunk, ha megnézzük a naplóablakban, kivételeket nem keletkezik:

Kicsomagolás asprotect 2

Kicsomagolás asprotect 2

Ennélfogva, IAT asztal itt van (szakaszban 00481000. amelynek mérete 3000 bájt):

Kicsomagolás asprotect 2

Kicsomagolás asprotect 2

A program futtatása megnyomásával az F9-et. és megkapjuk a ciklus, hogy nem kell:

Kicsomagolás asprotect 2

Állítsa BP (F2) a folytatásban JNZ, amelynek végrehajtására elején a ciklust, és törölje BPM íráskor. Nyomja meg az F9, hogy menjen át ezt a ciklust, távolítsa el a telepített BP, és újra beállítani a BPM íráskor az IAT listájában. Az ilyen intézkedések is meg kell ismételni többször is, mint raskriptovka és írjon kódot a szakaszban .code. És végül, mi jön itt:

Kicsomagolás asprotect 2

Nyomja meg az F9 billentyűt. és ott lakoznak

Kicsomagolás asprotect 2

Kapunk az írási ciklust; Ezért, mi meg a kimeneti BP ebben a ciklusban (a folytatásban JA), távolítsa el a BPM a hozzáférést. és nyomja meg az F9-et. Távolítsuk el és telepítse újra a BP BPM a hozzáférést a körzetszámot. Az ilyen intézkedések tennünk kell többször, és találjuk magunkat itt:

Kicsomagolás asprotect 2

Azért jöttünk, hogy az OEP, de - ez egy hamis OEP. Ez a kijelentés lehet ellenőrizni is a következő módon. Jobb klikk a CALL 01BA0000 utasításokat. és válassza ki a parancsot:

Kicsomagolás asprotect 2

A referencia (gomb R) azt látjuk, sok utalás erre utasítást:

Kicsomagolás asprotect 2

Nyilvánvaló, hogy van dolgunk egy virtuális gép (VM), amelyben a valódi OEP kell elvégezni.

Kicsomagolás asprotect 2

Kicsomagolás asprotect 2

Itt látjuk a PUSH EBP utasításokat. és egy csomó szemetet kódot. A push EBP képzés kezdődik Entry Point írt program Delphi. Ha lapozzunk le egy kicsit a kódot, látjuk a sok útmutatása 01C30000:

Kicsomagolás asprotect 2

Kicsomagolás asprotect 2

A program újraindítása, majd nyomja meg az F9 billentyűt, és a program leáll a hardver BP való hozzáférés:

Kicsomagolás asprotect 2

Nézd a nyilvántartásban ablakban:

Kicsomagolás asprotect 2

Itt megmutattam, hogyan lehet manuálisan talál VOEP. Az a képesség, hogy kézzel találni az OEP nagyon fontos minden cracker programokat. Kézzel találni az OEP, akkor írj egy forgatókönyvet, hogy adja át az OEP, mert ha a kicsomagolás program ezt az eljárást el kell végeznie sokszor. REVENGE Crew írt egy forgatókönyvet, hogy sikeresen végzi ezt a munkát, és nagyon kellemes számomra a munka. Azonban ez a script nem működik ASProtect v2.3 SKE építeni 06,26 Beta, mert ebben a verzióban a tömörítő nem azonos egy „referencia pont” - ez egy próbaszövegecske 5B5E5F5D bájt. Ahelyett, hogy a lánc bájtok tömörítő ASProtect v2.3 SKE építeni 06,26 Beta egy másik lánc byte - C35B5E5F. kell használni ezt a szkriptet. Szóval módosította a forgatókönyvet egy kicsit, ami jelenleg a következő:

3. Recovery INIT: inicializálás asztalra.

INIT inicializálási táblázat csak a programok összeállítása Delphi, és mint a program által összeállított ugyanazon fordító, akkor a munka, miután elhaladtak a VOEP. Meg kell kezdeni a helyreállítás INIT inicializálás táblázatokat.

Ahhoz, hogy megértsük egy kicsit, hogy ez a tábla, nézzük meg néhány tömörítetlen program összeállítása Delphi. Feltelepítettem a programot -Resource Hacker v3.3.4.75, amely jól ismert, hogy a cracker által. Nézzük meg azt, és Init táblázat formátumban:

Töltsön be egy programot a hibakereső, és megáll a belépési pont - 004AB1FC:

Itt azt látjuk, az OEP (vagy pontosabban Entry Point), úgyhogy térjünk az OEP a Dump, és hogy még jobban látható, válassza ki a megjelenítési mód Long → cím.

Kicsomagolás asprotect 2

Nézzük felfelé, és megtalálni az elején a INIT táblázat:

Kicsomagolás asprotect 2

Mi összegyűjti a szükséges információkat:

004AB030. Kezdés INIT asztalra.

Kicsomagolás asprotect 2

004AB1F8. INIT a táblázat vége.

Itt egy táblázat, és meg kell újjáépíteni a programot reaktív MYCOP Cleaner. Hogyan lehet ezt megvalósítani?

Töltsön be egy programot OllyDbg, és amikor megállt a belépési pont, a billentyűk lenyomásakor ALT + M és állítsa be a BPM íráskor a kódrészlet:

Kicsomagolás asprotect 2

Nyomja meg az F9 billentyűt. és a program megáll itt:

Ez a memória nem érdekel minket, így ismételten nyomja meg az F9 billentyűt, amíg meg nem találjuk magunkat, itt:

Kicsomagolás asprotect 2

Állítsa BP (F2) a folytatásban JNZ távolítsa BPM íráskor. nyomja meg az F9 billentyűt. és megáll a BP. Mi törölni a BP, és újra beállítani a BPM szóló írjon .code listájában. mint korábban. Nyomja meg az F9 billentyűt. és ott lakoznak

Kicsomagolás asprotect 2

Állítsa BP a folytatásban JA, és távolítsa el a BPM íráskor. Nyomja meg az F9 billentyűt, és megáll a BP. Mi törölni a BP, és újra beállítani a BPM szóló írjon .code listájában. mint korábban. Nyomja meg az F9 billentyűt. és ott lakoznak

Kicsomagolás asprotect 2

Ismét telepíteni a BP a folytatásban, távolítsa BPM íráskor. Mi futtatni a programot, F9, és megáll a BP; BP ismét eltávolítása és telepítése BPM az írási szakaszban .code. Mi a program futtatásához, és megáll itt:

Kicsomagolás asprotect 2

Kicsomagolás asprotect 2

Tehát már az első információk. Tegyük ezt az információt egy táblázat, amely nem teszi lehetővé számunkra, hogy összezavarodik (például egy asztalra kínált Ulaterck). A bal oldalon az asztal lesz írva INIT adatformátum. és a jobb oldalon az asztal - egy kis leírást, mit találunk a helyreállítási INIT.

Táblázat Nº1 INIT

Táblázat Nº1 INIT

Kicsomagolás asprotect 2

Hívjon első eljárás raskriptovki INIT táblázat: Most írjunk egy másik tábla, amely az úgynevezett „táblázat 2. számú - Calling első eljárás raskriptovki INIT asztalra.”

Táblázat Nº2: Hívás eljárás raskriptovki első táblázat INIT

Kicsomagolás asprotect 2

Az első dolog, amit meg kell találni - ez a táblázat vége INIT. Ehhez menj át a lerakó doboz, és keresse meg a legfrissebb megtérülési érték az init (ne feledjük, hogy az 1. forgatókönyv, már elkészült az első része a helyreállítása a tábla írás INIT 0):

Kicsomagolás asprotect 2

Futtatni a scriptet, amit megnevezett Recovery_INIT_2.osc.

Kicsomagolás asprotect 2

Kicsomagolás asprotect 2

Így építették a táblázatban foglaljuk össze. és most már tudjuk, hogy hol legyen az új OEP.

Meg kell másolni a visszanyert táblázat INIT:

Kicsomagolás asprotect 2

Kicsomagolás asprotect 2

Kicsomagolás asprotect 2

Helyezze be és mentse az új fájl nevét Recovery_INIT.

Ezután vesszük a helyreállítás IAT és IAT ugrás, virtuális gép Asprotect, és a regisztrációs használó programok Asprotect.


Ön a EXELAB.rU

Kapcsolódó cikkek