Užitečné komponenty pro Delphi a C++ Builder, díl 71.

Dnešní komponenta, přesněji řečeno unit, umí provádět změny přímo v souboru běžící aplikace. Jak to dělá a k čemu je to dobré si můžete přečíst v dnešním dílu našeho seriálu o komponentách.

ExeMod

O co se tedy přesně jedná? Jedná se o modifikaci exe souboru vaší běžící aplikace. Sledujete-li na Živě paralelně i seriál o tipech pro Delphi, před časem (je to už hodně dávno) jsme se tímto tématem rovněž zabývali.

Uděláme si malou rekapitulaci, abychom si téma připomněli. Představte si konkrétní úlohu, kdy chceme naší aplikaci ochránit heslem, které musí uživatel po spuštění zadat. Nechceme ale heslo ukládat do nějakého externího INI souboru nebo do registrů, ale přímo do exe souboru naší aplikace (například jej v zašifrované podobě připojíme na konec souboru). Tím pádem se nevyhneme modifikaci souboru běžící aplikace, což za normálních okolností pochopitelně nelze, protože nám to operační systém nedovolí. Tato překážka se dá obejít přes pomocný soubor a celá transakce pak připomíná klasickou programátorskou úlohu o výměně obsahu dvou proměnných. Kopii spuštěné aplikace prostě uložíme na disk do dočasného exe souboru, spustíme ji a původní instance bude touto dočasně spuštěnou kopií ukončena. Na disku bude vytvořena kopie původní aplikace včetně případných změn a bude spuštěna. Dočasná aplikace bude poté ukončena a smazána z disku. Vše v případě úspěchu proběhne tak rychle, že si toho vlastně ani nevšimnete a vypadá to jako přímá modifikace běžící aplikace. Pochopitelně, že rychlost je do značné míry závislá na velikosti původního exe souboru a také rozsahu změn (například pokud přidáváte k exe souboru obrázky nebo dokonce audio či video soubory, akce se samozřejmě adekvátně zpomalí).

Tolik tedy zjednodušeně k postupu celé operace. Všechny tyto činnosti vám má právě usnadnit tento unit, takže se nemusíte zabývat některými detaily "pod povrchem". Zvědavci (a to jim chválím) se ale mohou podívat do zdrojového kódu a podívat se všemu na zoubek. Součástí balíku je několik testovacích aplikací, na kterých můžete vidět typické použití této jednotky. Jedná se o přidávání libovolného souboru na konec aplikace s následnou extrakcí. Druhý příklad přidá do aplikace obrázek a umožní tak vytvořit jakýsi "samospustitelný" obrázek, tedy aplikaci, která po spuštění tento obrázek zobrazí a není tak nutný samostatný prohlížeč. Třetí příklad je již zmiňovaná ochrana heslem a poslední ukázka zase ukládá časy spuštění aplikace. Autor zmiňuje celou řadu dalších možných použití, takže fantazii se meze nekladou.

I když jsou všechny modifikace exe souborů obvykle považovány za poměrně kontroverzní programátorskou techniku a spíše to připomíná řádění virů, občas by se mohl přeci jen v rozumné míře tento postup hodit. Použití tedy nechám čistě na vaší úvaze. A ještě poznámka na závěr pro ty, kteří zásadně nečtou manuály. Sice jsem to sám neověřil (unit jsem testoval pod Win98), ale autor uvádí, že pod systémy NT/2000/XP nebude unit fungovat, pokud aplikaci spustíte v rámci Delphi IDE. Musíte tedy při vývoji aplikace vždy projekt zkompilovat a poté spustit "ručně" z disku a ne pomocí obvyklé klávesy F9 z Delphi.

www
verze: 1.0
Delphi: 2 - 6
C++ Builder: ?

Diskuze (4) Další článek: Computer 9/03

Témata článku: Video, Software, Programování, Zašifrovaný disk, Samostatný prohlížeč, Unit, Pomocný systém, Unity, Celý disk, Komponenta, Díl


Určitě si přečtěte

Osudová havárie Concordu: Před 18 lety přišel konec nadzvukových dopravních letadel

Osudová havárie Concordu: Před 18 lety přišel konec nadzvukových dopravních letadel

** Concorde byl nejrychlejším dopravním letadlem ** Atlantik dokázal přeletět za cca 3 až 3,5 hodiny ** Před osmnácti lety tragická havárie provoz těchto letadel prakticky ukončila

David Polesný, Jiří Černý | 37

Čtyřicet procent je moc. Spalovací motory nedokážou splnit požadavek EU na snížení emisí

Čtyřicet procent je moc. Spalovací motory nedokážou splnit požadavek EU na snížení emisí

** EP nařídil automobilkám snížit o 40 % emise CO2 ** EU chce zvýšit podíl elektromobilů ** Výrobci hrozí ztrátou pracovních míst

Karel Kilián | 254

Praktické vychytávky, které si chcete doinstalovat do Windows

Praktické vychytávky, které si chcete doinstalovat do Windows

** Pokud vás nudí vzhled nabídky Start, snadno jej můžete změnit. ** Stejně tak existují programy na přidání záložek do programů. ** Spokojit se ani nemusíte se základním ovládáním hlasitosti.

Vladislav Kluska | 46


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku