Jak dekompilovat a motivovat APK pro Android



Nyní stiskněte tlačítko „Nahradit vše“ a změní se všechny @android: color / white's tak, aby místo toho používaly background_holo_dark. Nyní pokračujte v posouvání celého souboru XML a hledejte jakékoli řetězce android: pozadí, které používají hexadecimální hodnotu (#fffffff) nebo cokoli jiného, ​​než čím jsme je právě nahradili. U těch, které najdete, změňte řetězce tak, aby používaly nové (abs__background_holo_dark).

Změnili jsme tedy pozadí, nyní změníme barvu textu. Postupujte tedy stejně jako my, ale tentokrát použijte CTRL + F pro „android: textColor“. Naleznete přibližně 166 řádků.



Uvidíte věci jako „android: textColor =“ # ffbbbbbb ”atd. Podívejte se tedy znovu do souboru Colors.xml a musíme zjistit, které řádky pro barvu textu nahradit.



Android: textColor = ”# ffbbbbbb”, “#ffffffff”, “# ff717171” a “#ffcccccc” můžete vidět na snímku obrazovky a ve výsledcích vyhledávání v Note ++. Nyní znovu otevřete soubor Colors.xml a zjistěte, který řádek chceme použít pro barvu textu.



Vraťte se tedy k prvnímu souboru XML a znovu proveďte CTRL + H pro dialog Nahradit. Nyní zkopírujte řetězec „android: textColor =“ # ffbbbbbb ”do horní a dolní části a změňte spodní řádek na„ android: textColor = “@ color / text”.

Nyní ještě jednou prohledejte všechny řádky android: textColor a změňte vše, co má v řetězci hexadecimální hodnotu. Nakonec, když se dostanete do souboru styles.xml, chcete odstranit inverzi z několika řádků, počínaje řádkem 260 a pokračováním dolů několik řádků. Odstraňte tedy z těchto řetězců „inverzní“.

Dále uvidíte některé hexadecimální hodnoty na řádcích 527, 536, 573, 579, 585, 601 a několik dalších. Vyměňte z (#ffffffff) na (@ color / text).



Stisknutím kombinace kláves CTRL + F vyhledejte v programu Poznámkový blok ++ cacheColorHint , dělič , @ * Android: barva / , a Inverzní .

CacheColorHint je rolovací pozadí, takže se musíme ujistit, že používají naši barvu pozadí. Oddělovače jsou vysvětlující samy a pokud chcete, můžeme jejich hexadecimální hodnoty změnit. Jediná věc je, že se nesmíte dotknout čehokoli, co ukazuje na @drawable. Jedná se obvykle o obrázky uložené jako soubory .png jinde ve složce .apk.

Když hledáte „ inverzní' , zobrazí odkazy na textAppearanceInverse. Musíte poklepat na každou z nich a odstranit inverzní z těchto řetězců.

Nakonec hledání @ * android: color / pouze zkontroluje, zda jsme nezmeškali žádné úpravy rámce. Pokud najdete něco, co říká „android: popupBackground“> @ * android: color / white “, musíte to změnit na„ android: popupBackground “> @ color / abs__background_holo_dark. To zahrnuje řádek 911, což může být matoucí, protože již ukazuje na android: color / black.

Dále otevřeme res / values ​​/ colors.xml a změníme to tak, aby vypadalo takto:

Dále res / values ​​/ styles.xml a přejděte dolů na řádek 328. Změňte to takto:

() by měl být změněn na ()

Totéž proveďte pro řádek 479, změňte „ světlo'Černá' .

Nyní přejděte do res / values-v11 / styles.xml a odstraňte „ světlo' kde se píše „ Holo.Light ” .

Dále nyní otevřete styly res / values-v14 /, které obsahují spoustu řetězců. Takže na prvních 46 řádcích chcete odstranit všechny “ Světlo' a ' Inverzní' odkazy a poté změňte rodiče na řádcích 53 a 54 na „@ * android: style / Theme.Holo“.

Na řádku 69 na pravé straně rodiče odeberte Light z nadřazeného prvku @ * android: style / Theme.Holo.Light.Dialog.

To je spousta práce, že? Možná od nynějška budete více oceňovat témata a vzhledy aplikací!

Dále půjdeme do res / barva složku. Jsou tam nějaké textové soubory, které ukazují na černou. Otevřete soubor res / colors / action_mode_item_text_color_state_list.xml

Tak to vypadá na skladě. Níže je uvedeno, jak to musíte udělat.

Musíte provést tyto samesové změny v následujících souborech xml ve složce / res / colors: Bottom_button.xml, Button_update.xml, Filelist_text_name.xml, Filelist_text_small.xml, Link_button.xml, Local_filelist_text_name.xml, Local_filelist_text_small.xml_dot_text_tom_ot_b xml, ss_bottom_bottom_text_color_light.xml, tab_text_foreground.xml.

Až s nimi skončíte, otevřete / res / drawable a budou existovat xmls, které ovládají barvu pozadí. Projděte si je a nechte je vypadat takto:

Aplikujte stejné změny na všechny ostatní soubory drawable.xml.

Nyní otevřete test.apk a stiskněte CTRL + levé tlačítko pro zvýraznění smali a AndroidManifest, poté klikněte pravým tlačítkem a znovu „Edit with Notepad ++“. Souhlas se všemi soubory 1999 smali. Když se načte, proveďte CTRL + F hledání -0x100 (černá)

Získáte asi 8 zásahů a ten, který chcete, je smali / com / dropbox / android / activity / TextEditActivity.smali, na řádku 599. Poklepejte na tento řádek.

Řádek 599 obsahuje -0x100 a řádek 601 má „SetTextColor“. K dispozici je také proměnná, která odpovídá řádku 599. Abych to stručně vysvětlil, -0x100, -0x1000000 a dokonce 0x0 znamená černá, -0x1000000 je také černá a dokonce 0x0. Změňte řádek 599 odstraněním dvou 0 ze 100 a odstraněním / high16 takto:

Dále budeme hledat @ * android: style, ale v smali. XML bude obsahovat za znakem „0“ navíc, ale v smali ho nepoužíváme. Musí to být „0x103004f“ namísto „0x0103004f“.

Vyhledejte v programu Poznámkový blok ++ výraz @ * android: style /, který obsahuje 0x103.

Druhým přístupem je „const v7, 0x1030073“. Vyhledejte to znovu ve svém public.xml z framework-res.apk. Uvidíte, že se jedná o ID „Theme.Holo.Light.Dialog“. Budete jej muset změnit na veřejné ID opačného stylu motivu.

Protože toto je Theme.Holo.Light.Dialog, chcete z něj udělat Theme.Holo.Dialog. Theme.Holo.Dialog má ID „0x103006f“. Tím se změní vyskakovací dialogové okno s upozorněním, že místo světlejšího motivu Holo.Light se použije tmavší motiv založený na Holo.

Další, kterou musíme změnit, je „0x103006e“, což je Theme.Holo.Light. Takže do toho a udělejte z toho opačný styl tématu. Ve vašem public.xml z framework-res.apk uvidíte ID Theme.Holo je 0x0103006b. Pojďme tedy změnit tento řádek tak, aby vypadal takto:

K dispozici jsou pouze 2 další z nich. Další na řadě je „0x103000c“, což je Theme.Light ve public.xml. Opakem je Theme.Black, nikoli ThemeHolo. V souboru public.xml tedy uvidíte ID Theme.Black je „0x01030008“ - změňte jej takto:

V jiných aplikacích lze upravovat a měnit i další věci a při dostatečném procvičení budete moci změnit téma téměř na cokoli. Ale teď jsme hotovi se všemi bity kódu ( Konečně!) .

Nyní tedy můžete otevřít skript z nástroje Apk Multi Tool a stisknutím klávesy 12 kompilovat aplikaci. Pokud se zobrazí nějaké chyby, můžete se pokusit podívat se do protokolu chyb, co se pokazilo, ale s největší pravděpodobností jste během úpravy kódu udělali překlep nebo jinou chybu.

Když je sestavení dokončeno, stisknutím 2 a poté 13 aplikaci znovu podepište.

Akciová aplikace obsahuje složku s názvem „Šablony“ - musíte ji přetáhnout do nepodepsaného apk pomocí něco jako 7zip. Zkopírujte soubor unsigned.apk do složky „place-apk-here-for-signing“ uvnitř nástroje Apk Multi Tool. Nyní stiskněte 18 v terminálovém skriptu pro dávkové podepsání aplikací v této složce. Po dokončení se skript automaticky ukončí. Nyní můžete načíst .apk do svého zařízení!

6 minut čtení