Kicsomagolás asprotect 2
Mielőtt elkezdené, elemzi a program Peid:
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:
A program tele ASProtect 2.3 SKE építeni 06,26 Beta [Extract].
Most nézd meg ezt a programot Die v0.64:
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:
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:
A program újraindítása, és megáll itt:
Megálltunk a rendszerben töréspont.
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:
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:
Ennélfogva, IAT asztal itt van (szakaszban 00481000. amelynek mérete 3000 bájt):
A program futtatása megnyomásával az F9-et. és megkapjuk a ciklus, hogy nem kell:
Á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:
Nyomja meg az F9 billentyűt. és ott lakoznak
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:
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:
A referencia (gomb R) azt látjuk, sok utalás erre utasítást:
Nyilvánvaló, hogy van dolgunk egy virtuális gép (VM), amelyben a valódi OEP kell elvégezni.
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:
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:
Nézd a nyilvántartásban ablakban:
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.
Nézzük felfelé, és megtalálni az elején a INIT táblázat:
Mi összegyűjti a szükséges információkat:
004AB030. Kezdés INIT asztalra.
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:
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:
Á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
Á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
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:
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
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
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):
Futtatni a scriptet, amit megnevezett Recovery_INIT_2.osc.
Í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:
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