Kuidas dekompileerida ja Androidi APK-sid kujundada



Vajutage nüüd nuppu „Asenda kõik” ja see muudab kogu faili @android: color / white, et kasutada selle asemel background_holo_dark. Nüüd jätkake kogu .xml-i sirvimist, otsides mis tahes androidi: taust stringe, mis kasutavad hex-väärtust (#fffffff) või midagi muud kui see, millega me just need asendasime. Nende jaoks, mille leiate, muutke stringe uue kasutamiseks (abs__background_holo_dark).

Nii et me oleme tausta muutnud, nüüd muudame ka teksti värvi. Nii et järgige sama protseduuri, mida me just tegime, kuid seekord tehke CTRL + F 'android: textColor' jaoks. Leiate umbes 166 rida.



Näete selliseid asju nagu „android: textColor =” # ffbbbbbb ”jne. Nii et vaadake uuesti Colors.xml sisse ja peame välja selgitama, millised read tekstivärviga asendada.



Androidi: textColor = ”# ffbbbbbb”, “#ffffffff”, “# ff717171” ja “#ffcccccc” näete ekraanipildil ja otsingutulemustes märkuses ++. Avage oma Colors.xml nüüd uuesti, et leida, millist rida me teksti värvi jaoks kasutada tahame.



Nii et minge tagasi esimese .xml juurde ja tehke dialoogi Asenda uuesti CTRL + H. Kopeerige nüüd string „android: textColor =” # ffbbbbbb ”ülemisse ja alumisse ossa ning muutke alumine rida väärtuseks“ android: textColor = ”@ color / text”.

Nüüd otsige veel kord kogu android: textColor rida ja muutke kõike, millel on stringis hex-väärtus. Lõpuks, kui jõuate failini styles.xml, soovite eemaldada pöördreage mõnest reast, alustades reast 260 ja jätkates mõne rea allapoole. Niisiis kustutage nendest stringidest „Inverse“.

Järgmisena näete joontel 527, 536, 573, 579, 585, 601 ja mõned teised kuuskantväärtusi. Asendage vahemik (#ffffffff) väärtusele (@ color / text).



Vajutage klahvikombinatsiooni CTRL + F, et otsida rakendusest Notepad ++ vahemäluColorHint , eraldaja , @ * android: värv / ja Pöörake .

CacheColorHint on keritav taust, seega peame veenduma, et nad kasutavad meie taustavärvi. Jaoturid on iseenesestmõistetavad ja soovi korral saame nende kuuskantväärtusi muuta. Ainus asi on see, et te ei tohi puudutada midagi, mis viitab @drawable. Need on tavaliselt .png-failidena mujale .apk-kausta salvestatud pildid.

Kui otsite tagurpidi ” , kuvab see viited textAppearanceInverse. Peate kõigil neist topeltklõpsama ja nendest stringidest inversi kustutama.

Lõpuks kontrollib @ * android: color / lihtsalt topeltkontrolli, kui raamistiku muudatused jäid nägemata. Kui leiate midagi, mis ütleb „android: popupBackground”> @ * android: color / white ”, peate selle muutma väärtuseks„ android: popupBackground ”> @ color / abs__background_holo_dark”. See hõlmab rida 911, mis võib tekitada segadust, kuna see osutab juba androidile: värv / must.

Järgmisena avame res / values ​​/ colors.xml ja muudame selle järgmiseks:

Järgmine res / values ​​/ styles.xml ja kerige alla reani 328. Muutke seda järgmiselt:

() tuleks muuta ()

Tehke sama rea ​​479 puhul, muutes valgus' kuni must ” .

Nüüd minge res / values-v11 / styles.xml ja eemaldage valgus' kus on kirjas “ Holo.Light ” .

Järgmisena avate nüüd res / values-v14 / styles, mis sisaldab palju stringe. Nii et esimesel 46 real soovite eemaldada kõik Valgus' ja Pöörake ” viited ja seejärel muutke vanemate read 53 ja 54 väärtuseks “@ * android: style / Theme.Holo”.

69. real eemaldage parempoolsest vanemast valgus @ * android: style / Theme.Holo.Light.Dialog vanemast.

See on palju tööd, eks? Võib-olla olete nüüd rakenduste teemad ja nahad tänulikumad!

Järgmisena läheme res / värv kausta. Seal on mõned tekstifailid, mis osutavad mustale. Avage res / colors / action_mode_item_text_color_state_list.xml

Nii näeb see laos välja. Allpool on näidatud, kuidas peate seda tegema.

Peate need valimid muutma järgmistesse xml-failidesse kausta / res / värvid: 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_text_sm. xml, ss_bottom_bottom_text_color_light.xml, tab_text_foreground.xml.

Kui olete nendega valmis, avage / res / drawable ja on xml-sid, mis kontrollivad taustavärvi. Nii et mine neist läbi ja pane need välja järgmiselt:

Rakendage samad muudatused kõigile teistele failidele drawable.xml.

Nüüd avage test.apk ja vajutage smali ja AndroidManifesti esiletõstmiseks klahvikombinatsiooni CTRL + vasakklõps, seejärel paremklõpsake ja klõpsake uuesti nuppu „Muuda märkmikuga ++”. Nõus kõigi 1999 smali failidega. Kui see laaditakse, otsige CTRL + F -0x100 (must)

Te saate umbes 8 tabamust ja soovitud on smali / com / dropbox / android / activity / TextEditActivity.smali, rida 599. Topeltklõpsake sellel real.

Rida 599 sisaldab -0x100 ja real 601 on “SetTextColor”. On olemas ka muutuja, mis sobib joonega 599. Nii et lühidalt selgitades on -0x100, -0x1000000 ja isegi 0x0 keskmine must, -0x1000000 on samuti must ja isegi 0x0. Muutke rida 599, eemaldades kaks 0-d 100-st ja eemaldades / high16 järgmiselt:

Järgmisena otsime @ * android: style, kuid smali keeles. Xml sisaldab x-i järel täiendavat “0”, kuid smali keeles me seda ei kasuta. See peab olema „0x103004f”, mitte „0x0103004f”.

Tehke rakenduses Notepad ++ otsing @ * android: style / mis sisaldab 0x103.

Teine hitt on „const v7, 0x1030073“. Otsige seda uuesti saidilt public.xml saidilt framework-res.apk. Näete, et see on teema „Theme.Holo.Light.Dialog” ID. Peate selle muutma vastupidise teema stiili avaliku ID vastu.

Kuna see on Theme.Holo.Light.Dialog, soovite selle muuta Theme.Holo.Dialog. Theme.Holo.Dialogi ID on „0x103006f”. See muudab hüpikakna hoiatuskasti, et kasutada heledama Holo.Light-põhise teema asemel tumedamat Holo-põhist teemat.

Järgmine, mida peame muutma, on „0x103006e”, mis on Theme.Holo.Light. Nii et minge edasi ja tehke sellest vastupidine teema stiil. Aadressil public.xml raamistikust framework-res.apk näete teema.Holo ID-d 0x0103006b. muutkem see rida järgmiseks:

Neid on veel ainult 2 läbida. Järgmine üles on „0x103000c”, mis on mõeldud Theme.Lightile avalikus.xml. Selle vastand on teema. Must, mitte ThemeHolo. Nii et veebisaidil public.xml näete teema Theme.Black id on „0x01030008” - muutke see järgmiseks:

Teistes rakendustes on muud muudetavad ja muudetavad asjad ning piisavalt harjutades saate peaaegu kõike uuesti kujundada. Kuid praeguseks on kõik koodibitid tehtud ( lõpuks!) .

Nüüd saate skripti avada Apk Multi Toolist ja vajutada rakenduse kompileerimiseks nuppu 12. Kui kuvatakse mõni viga, võite proovida tõrke logist sisse otsida, mis valesti läks, kuid tõenäoliselt tegite koodi redigeerimisel kirjavea või muu vea.

Kui koostamine on lõpetatud, vajutage rakenduse uuesti allkirjastamiseks klahve 2 ja seejärel 13.

Aktsiarakendus sisaldab kausta nimega 'Mallid' - peate selle lohistama oma allkirjastamata APK-sse, kasutades midagi sellist nagu 7zip. Kopeerige unsigned.apk Apk Multi Tool'i kausta „place-apk-here-for-signing“. Nüüd vajutage terminaliskriptis 18 selles kaustas olevate rakenduste pakkide allkirjastamiseks. Kui see on valmis, väljub skript automaatselt. Nüüd saate .apk oma seadmesse laadida!

6 minutit loetud