Reverzní inženýrství pro začátečníky. Chraňte aplikace Android od reverzního inženýrství
Někdy chce někdo vidět a jaký je vyplnění určitého programu? Pak musí použít reverzní inženýrství. Co to je? Jak to funguje? Jak se tento proces děje? To vše se můžete dozvědět z tohoto článku.
Obsah
Co je reverzní inženýrství programů?
Právě proto proces volání analýzy aplikací je volán, aby pochopil, jak to funguje, aby se v budoucnu znovu vytvořily nezbytné změny. Obvykle se k těmto účelům používá debugger a assembler. V závislosti na kvalitě použitého softwaru se výsledek bude lišit a doba potřebná k tomu, aby byla normální. Vysvětlení reverzního inženýrství pro začátečníky je nejlépe založeno na příkladu. Tímto způsobem bude fungovat aplikace napsaná pro systém Android. A teď se dozvíme, co a jak.
Používání aplikací pro Android
Nejprve je třeba vyjasnit některé body. V aplikacích se používá kód bajtu a LogCat. Jedná se o lokální analogy dříve zmíněného debuggeru a assembleru. Je také nutné pochopit strukturu samotných aplikací. Takže každý program je soubor s příponou apk. Je zabalený ziprsquo th. Máme zájem o jeho obsah - aplikační zdroje, classes.dex a AndroidManifest.xml. Pokud programujete v systému Android, pak otázky s první a poslední by neměly být. Ale classes.dex je bytecode programu, který je kompilován specificky pro virtuální stroj. Chcete-li získat z něj zdrojový kód java reprezentovaný na internetu prostředky nelze získat. Ale je možné získat dalvik opcodes, speciální sadu příkazů, které se používají pro virtuální stroj. Pro analogii můžeme říci, že jde o assemblera lokálního úniku. Také classes.dex lze změnit na soubor s rozšířením. Již v tomto případě můžete po dekompilaci získat java kód, který bude více či méně čitelný. Tímto způsobem půjdeme.
Dekompilace
Tento proces bude prováděn s použitím programu Apk Manger. Než začnete, musíte se ujistit, že máte správné ovladače pro zařízení a funguje režim ladění USB. Zpočátku budeme muset přesunout soubor, který pochopí direktivu apk_manager place-apk-here-for-modding. Poté spusťte soubor Script.bat. Pokud není problém, spusťte konzolu, která bude mít zelené nápisy. Vybíráme položku číslo devět - "Dekompilovat". Po spuštění procesu není nutné konzolu zavřít. Pak byste měli otevřít soubor APK, který vás zajímá, pomocí archivátoru a extrahovat classes.dex z něj, který je třeba zpracovat pomocí dex2jar. K výsledku, který potřebujeme, musíme ji přesunout na objekt s příponou .bat. Zobrazí se soubor, který skončí s příponou .jar. Zatímco okno není zavřené.
Analýza dat
Chcete-li získat informace o aplikaci, musíte otevřít její manifest. Na tom zjišťujeme, že se jedná o hlavní činnost. Má to pro nás největší důležitost. Je také žádoucí podívat se na spodní část programu. Jsou-li informace o správci licencí v dolní části, značně to komplikuje reverzní inženýrství. Pokud přepneme na jd-gui a rozbalíme strom, uvidíme několik jmenných prostorů. Předpokládejme, že jsou tři. V prvním jsou soubory související s reklamou. Druhý bude obsahovat třídy správce licencí. Ve třetím případě máme potřebná data. V tom pak jdeme. Zde budete muset najít a odstranit klíč a potom zbytek řádků, které kontrolují, zda je licencovaná verze funkční. To vše musí být vyčištěno. Pak v našem Apk Manageru hledáme místo, kde má být umístěn bajtový kód. Nyní uděláme trochu odklonu a komentujeme příkazy, které by mohly způsobit problémy. Poté program stačí kompilovat.
Vytvoření aplikace
Pomůže nám to všichni správci aplikace Apk. V okně konzoly, které jsme neuzavřeli, jsme zvolili položku # 14. Dále věc technologie. Pokud je aplikace poměrně komplikovaná, pak při spuštění může částečně nebo úplně ztratit svou účinnost. Nebojte se, znamená to, že jsme jen na půli cesty a stále máme kam jít. Pokračujeme v reverzní inženýrství Android aplikací. Říci, co dělat v konkrétním případě, obecně, bohužel, je nemožné. Proto budete muset najít problém sami. Pokud je okno aplikace zablokováno vyskakovací okno, pak musíte kód zobrazit a odstranit část, která je zodpovědná za toto dialogové okno. Pomoc s tímto může jd-gui. Jak můžete vidět, reverzní inženýrství není snadný úkol a vyžaduje si značné množství znalostí. I když se vše bez problémů rozběhlo, bude nutné prověřit pracovní kapacitu aplikace. To je reverzní inženýrství je stále časově náročné akce. Pokračujeme v práci, dokud nebudeme identifikovat všechny problémy.
Bezpečnost
Co když potřebujeme chránit aplikace Android od reverzního inženýrství? V tomto případě existují dvě možnosti: použití speciálních programů nebo vytvoření struktury kódu, která bude zasahovat do analýzy toho, co bylo napsáno. Druhá možnost je vhodná pouze pro zkušené profesionály, proto budeme zvažovat pouze první způsob ochrany. Jako specializovaný software používáme ProGuard. Tato aplikace se používá ke snížení, zamaskování a optimalizaci kódu. Pokud je program "spuštěn", získáme soubor s příponou * .apk menší než to bylo. V tomto případě bude mnohem těžší rozebrat. A výhodou tohoto programu je, že byl dokonce zaveden do montážního systému Android aplikací s aktualizací r9. Proto může každý vývojář použít, který má standardní nástroje pro tvorbu a vývoj.
Závěr
Nelze říci, že reverzní inženýrství může být prezentováno jako něco rovnoměrně špatného nebo dobrého. Samozřejmě, z pohledu vývojářů, kteří vytvořili aplikaci, není to radostná událost. Ale na druhé straně, v mnoha případech zkušené programátory psaní potřebné soubory mohou být čas levnější než používání těchto nástrojů. Ačkoli pro začínající vývojáře, reverzní inženýrství může způsobit, dobré služby, pokud neexistuje představa, jak implementovat něco, ani jako příklad a není zcela jasné, obrys může pomoci při dosažení tohoto cíle.
- Jak zavřít aplikace na platformě Android: tipy a triky
- Jak nainstalovat cache na "Android" - instrukce pro začátečníky
- Jak nainstalovat `GTA` na` Android`: instrukce pro začátečníky
- Osmóza reverzní - záruka čisté vody
- Jak vytvořit složku v aplikaci Android na obrazovce
- Pokyny: jak nainstalovat do správce souborů "Android"
- HEX-editor. Popis nástroje a přehled nejpopulárnějších
- Správce úloh pro Android. Nejlepší možnosti
- Jak skrýt aplikace na Androidu: tři jednoduché způsoby
- Com.android.phone: Chyba operačního systému. Jak odstranit?
- Android: Programování pro začátečníky
- Jak používat Gamekiller v systému Android
- Co je transkripce v biologii, její význam v životě organismů
- Genetické inženýrství
- Jak hackovat agenta
- Jak nainstaluji aplikace v systému Android?
- Jak nainstaluji aplikaci do systému Android?
- Jak nainstalujete programy v systému Android?
- Jak odinstalovat aplikace pro Android
- Nainstalujte aplikace v systému Android. Klíčové body
- Instalace aplikací na android - je to snadné, jednoduché, rychlé