Bevezetés a shareware-programok védelmére, vr-online - ingyenes e-zine mindenki számára
Csak ne építsenek illúziókat, olyan védekezést, amelyet még nem lehet feltörni, senki nem tud írni, még egy hatalmas költségvetéssel rendelkező céget és a szakemberek munkatársait. Tehát, ha valami hasznosat írtál, még mindig feltört, az egyetlen kérdés az, hogy mennyi időt vesz igénybe. Mint mondják, ha nem a crack, így ő nem használ csak egy, vagy szinte senki (a felhasználók száma ebben az esetben egybeesik az embereknek a száma, akik fizettek, hogy regisztráció) a Shareware-programban.
Először is, emlékezzen néhány alapvető elvre:
- Ne hívja fel a figyelmet a védelem magjára. nem szükséges megjeleníteni mindenféle hülye üzenetek, mint a „Köszönjük a regisztrációt”, vagy „Érvénytelen jelszó”, akkor sokkal könnyebb hackelés, különösen akkor, ha azokat azonnal megjelenik ellenőrzése után a regisztrációs adatokat, a legjobb megoldás az lenne késni regisztráció, azaz a Nem ellenőrzi a regisztrációs adatok megadását követően azonnal, csak ne feledjük, hogy semleges, és hogy egy üzenet, mint a „A regisztráció befejezéséhez újra kell indítani a programot / indítsa újra a számítógépet.”. Helyességét a regisztrációs ellenőrizzük záró (OnCloseQuery), vagy ha a program megnyitása (OnShow), ha az adatok helyesek, akkor egyszerűen mentse a rögzített állapotban, ahogy van - egy másik kérdés. Például létrehozhat egy fájlt a titkosított regisztrációs adatokat, ahogyan azt DrWeb, vagy hozzon létre egy tucat kulcsokat a rendszerleíró adatbázisban, és a kombináció az értékek néhány közülük megfelelnek a bejegyzett állam és a mások értékeit véletlenszerű. Egy kulcs nem elég, mert könnyen észlelhető (például a RegMon segédprogram használatával) és lefordíthatja a kívánt állapotot.
- Ne hasonlítsa össze a jelszavát, egyszerűsíti a billentyűzet írását. Ehelyett meg kell összehasonlítani hash segítségével kapott néhány visszafordíthatatlan titkosító algoritmus (MD5, SHA1, stb.) Ha úgy dönt, hogy a hash jelszó belépés, ne felejtsd el használni a titkosítás legalább egy párszor, miközben egyidejűleg tetszőleges művelet (xor, ciklikus eltolás, vágott, cserélje alkarakterláncok stb) a vonal fölött a jelenlegi hash, szintén nem árt, hogy a jelszavak kötődnek hogy idővel elavuljanak.
- használjon exe-csomagolókat és védőeszközöket. Amellett, hogy csökkenti a méretét a futtatható fájlt csomagolók ad egy extra bónuszt a védelmi rendszer, mint a keksz, mielőtt a repedések, meg kell kicsomagolni a program, így próbálja használni csomagolóanyagok, melyek az interneten nincs automatikus kicsomagoló már akkor elriasztani sok kekszet. De nem hibázik, akkor nem kapsz garanciát betörés, mint csomagoló hozzáad egy fájlt, és kicsomagolás, hogy végrehajtása előtt a program a memóriába tömörítő, itt van, és vehet toplenkoy és védtelen, csak visszaállítani az import asztal, például az Import REConstructor segítségével. Az Armadillo védőeszközei sok védelmet nyújtanak, védelemüket nagyon nehéz eltávolítani.
Most nézzük meg, hogy a programok hogyan repednek, ha úgy gondolja, hogy a hackelés csak a gondolat erejével és a fájl kézi szerkesztésével történik egy noteszgépben, akkor ez alapvetően rossz. A feltöréshez egy teljes segédprogramot használnak:
A programcsomagok részben vagy teljes mértékben újra létrehozzák a programot magas szintű nyelven, csak a végrehajtható fájl használatával. Számos fordítóprogram létezik: Delphi. NET, VB, Java stb. Jelenleg érdekel a Delphi (a C ++ Builder számára ugyanaz lesz), mert két decompilátor van: DeDe és exe2dpr.
Óvni decompiler ha a cracker már eltávolította a konzervgyárak és védők, ez gyakorlatilag lehetetlen, ezért minden esetben, ne tegye ellenőrzi a regisztrációs adatokat az onclick kezelő az igen az OK gombra, és amely igazolja a bemenet - az elején a végén a védelem, ne feledje, hogy! De nem minden annyira ijesztő, a Delphi-ben írt programok lebomlása részleges, ezért nem elég a hackeléshez, miután használni kell
szétszerelő és / vagy hibakereső. A decompilers radikális eszköze egy programot fog írni a Visual C ++-ban, amennyiben tudom, hogy a decompiler nem létezik (vannak olyan aláírások az IDA számára, amelyek lehetővé teszik az összes könyvtári funkció felismerését).
Debugger lehetővé lépés a programon keresztül, így lehet megszabadulni a futási idő, amikor elindítja a programot meg kell hívni egy titkosított funkció, amely megszünteti a folyamatok a legnépszerűbb hibakeresőkkel, ha ezek futnak. És azóta a legtöbb hibakereső lehetővé teszi egy már futó program hibakeresését, akkor a regisztrációs adatok ellenőrzése előtt ugyanazt a funkciót kell hívnia.
A legnépszerűbb hibakeresők OllyDbg, az IDA és a SoftICE beépített hibakeresője. Az első kettő a felhasználói szint hibakeresője, ezért az egyszerű védelem miatt elég csak megszakítani a folyamatokat: OllyDbg.exe, idag.exe, idag64.exe. Ezt például egy ilyen funkcióval lehet elvégezni:
A SoftICE leállításához, ha szolgáltatásként indul (a leggyakoribb eset), akkor futtatnia kell a net stop ntice shell parancsot, például:
Most már ismered a hackelés és a védelem alapelveit, így megkezdheted a védelem megírását, ami a programot hosszú és izgalmas tevékenységként fogja fel a cracker számára.
Írta: Romul aka Smirnov Roman