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í, Komponenta, Unit, Díl, Samostatný prohlížeč, Pomocný systém, Unity, Celý disk, Zašifrovaný disk


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

Alan Turing: Genius, který matematicky stvořil počítač

Alan Turing: Genius, který matematicky stvořil počítač

Řešením matematického problému se dostal k modelu teoretického stroje, který nese jeho jméno a je základem logiky univerzálních počítačů.

Pavel Tronner | 57

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

** Systém Windows 10 umí spoustu užitečných drobností ** O mnoha praktických funkcích pravděpodobně ani nevíte ** Poznejte užitečné tipy, které se vám mohou hodit každý den

Vladislav Kluska | 36

Šmírovačka kamerami Googlu: Koukněte se, co nového zachytily na Street View

Šmírovačka kamerami Googlu: Koukněte se, co nového zachytily na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 44

Nová zbraň Microsoftu proti iPadu: Levný tablet Surface Go bude stát jen deset tisíc

Nová zbraň Microsoftu proti iPadu: Levný tablet Surface Go bude stát jen deset tisíc

** Microsoft představil nový tablet Surface Go ** Nový model zaujme nízkou cenou, ale schopnostmi zařízení Surface ** Microsoft nepoužil čip ARM, ale klasický procesor od Intelu 

Karel Javůrek | 116

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

** Pornografie údajně představuje třetinu internetové obsahu a je technologický tahounem ** Do erotického obsahu postupně zasahuje i virtuální realita ** Kromě vizuálního vjemu se pracuje také na virtuálním uspokojení toho hmatového

Jan Dudek | 28

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

** Apple odhalil své plány na zcela nové mapy ** Několik let pracuje na nových mapách, které by měly předběhnout konkurenci ** Objeví se s příchodem iOS 12 pro vybrané státy

Karel Javůrek | 50

Sex a rozmnožování při mezihvězdné cestě: Kolik lidí je potřeba pro let k Proximě Centauri?

Sex a rozmnožování při mezihvězdné cestě: Kolik lidí je potřeba pro let k Proximě Centauri?

** Vědci spočítali, jak velká by musela být posádka pro vícegenerační let k nejbližší hvězdné soustavě ** Proxima Centauri se nachází 4,3 světelných let od nás ** Za současných technologií bychom k ní letěli 6300 let

Petr Kubala | 56

Portál občana už funguje. Na státní web vypadá až překvapivě použitelně

Portál občana už funguje. Na státní web vypadá až překvapivě použitelně

** Portál občana už funguje, vyřídíte na něm první požadavky ** Funkce se budou postupně rozšiřovat ** Web je docela moderní a přehledný

David Polesný | 65


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji