Kaip dekompiliuoti ir tema „Android“ APK



Dabar paspauskite „Pakeisti viską“ ir pakeisite visus „@android: color / white“, kad vietoj jų būtų naudojamas background_holo_dark. Dabar tęskite slinkimą per visą .xml, ieškodami bet kokio „Android“: fono eilučių, kuriose naudojama šešiakampė reikšmė (#fffffff) ar bet kas kitas, nei ką mes jas ką tik pakeitėme. Norėdami rasti tas, pakeiskite eilutes, kad naudotumėte naują (abs__background_holo_dark).

Taigi mes pakeitėme foną, dabar pakeisime teksto spalvą. Taigi atlikite tą pačią procedūrą, kurią ką tik padarėme, bet šį kartą atlikite CTRL + F, skirtą „android: textColor“. Gausite apie 166 rastas eilutes.

Pamatysite tokius dalykus kaip „android: textColor =“ # ffbbbbbb “ir kt. Taigi vėl pažvelkite į Colors.xml vidų ir turime išsiaiškinti, kurias eilutes pakeisti teksto spalvai.



„Android“: textColor = ”# ffbbbbbb”, “#ffffffff”, “# ff717171” ir “#ffcccccc” galite pamatyti ekrano kopijoje ir savo paieškos rezultatuose naudodami pastabą ++. Dabar dar kartą atidarykite „Colors.xml“, kad sužinotumėte, kurią eilutę norime naudoti teksto spalvai.



Taigi grįžkite prie pirmojo .xml ir dar kartą atlikite CTRL + H dialogo langui Pakeisti. Dabar nukopijuokite „android: textColor =“ # ffbbbbbb “eilutę į viršų ir apačią ir pakeiskite apatinę eilutę į„ android: textColor = “@ color / text“.

Dabar dar kartą ieškokite visose „android: textColor“ eilutėse ir pakeiskite viską, kas turi šešioliktainę reikšmę eilutėje. Galiausiai, kai pateksite į failą styles.xml, norite pašalinti atvirkštinę reikšmę iš kelių eilučių, pradedant nuo 260 eilutės ir tęsiant kelias eilutes žemyn. Taigi iš tų eilučių ištrinkite „Inverse“.

Tada pamatysite kai kurias šešiakampes vertes 527, 536, 573, 579, 585, 601 eilutėse ir dar keliose eilutėse. Pakeiskite iš (#ffffffff) į (@ color / text).



Jei norite ieškoti „Notepad ++“, paspauskite CTRL + F talpyklaColorHint , daliklis , @ * android: spalva / ir Atvirkštinis .

„CacheColorHint“ yra slenkantis fonas, todėl turime įsitikinti, kad jie naudoja mūsų fono spalvą. Skirstytuvai savaime suprantami ir, jei norite, galime pakeisti jų šešiakampes reikšmes. Vienintelis dalykas yra tas, kad negalima liesti nieko, kas nurodo „@drawable“. Paprastai tai vaizdai, saugomi kaip .png failai kitur aplanke .apk.

Kai ieškote „ atvirkštinė “ , bus rodomos nuorodos į textAppearanceInverse. Turite dukart spustelėti kiekvieną iš šių ir iš tų eilučių ištrinti atvirkštinį.

Galiausiai, ieškant @ * android: color / bus tiesiog dar kartą patikrinta, ar nepastebėjome jokių sistemos pakeitimų. Jei radote ką nors, kas sako „android: popupBackground“> @ * android: color / white “, turite pakeisti jį į„ android: popupBackground “> @ color / abs__background_holo_dark“. Tai apima 911 eilutę, kuri gali būti paini, nes jau rodo „Android“: spalva / juoda.

Tada atidarysime res / values ​​/ colors.xml ir pakeisime jį taip:

Kitas res / values ​​/ styles.xml ir slinkite žemyn iki 328 eilutės. Pakeiskite jį taip:

() turėtų būti pakeista į ()

Atlikite tą patį 479 eilutėje, pakeisdami šviesa “ į „ juoda “ .

Dabar eikite į res / values-v11 / styles.xml ir pašalinkite šviesa “ kur parašyta „ Holo.Light “ .

Tada dabar atidarysite „res / values-v14 / styles“, kuriame yra daug eilučių. Taigi pirmosiose 46 eilutėse norite pašalinti visas Šviesa “ ir „ Atvirkštinė “ nuorodas, tada pakeiskite tėvus 53 ir 54 eilutėse į „@ * android: style / Theme.Holo“.

69 eilutėje, dešinėje pusėje, tėvų, nuimkite šviesą iš @ * android: style / Theme.Holo.Light.Dialog tėvų.

Tai daug darbo, tiesa? Galbūt nuo šiol labiau vertinsite programų temas ir „skinus“!

Toliau mes eisime į res / spalva aplanką. Yra keletas tekstinių failų, kurie rodo juodą spalvą. Atidarykite res / colors / action_mode_item_text_color_state_list.xml

Taip jis atrodo atsargose. Žemiau yra tai, kaip jums reikia tai padaryti.

Šiuos pavyzdinius pakeitimus turite atlikti šiuose xml failuose, esančiuose aplanke / 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_filel_______________________________xml“. xml, ss_bottom_bottom_text_color_light.xml, tab_text_foreground.xml.

Baigę atidarykite / res / drawable ir yra xml, kurie valdo fono spalvą. Taigi eik per juos ir padaryk, kad jie atrodytų taip:

Taikykite tuos pačius pakeitimus visiems kitiems „drawable.xml“ failams.

Dabar atidarykite test.apk ir paspauskite CTRL + kairįjį pelės klavišą, kad paryškintumėte „smali“ ir „AndroidManifest“, tada spustelėkite dešinįjį pelės mygtuką ir dar kartą spustelėkite „Redaguoti naudodami„ Notepad ++ “. Sutikite su visomis 1999 metų smali bylomis. Kai jis įkeliamas, atlikite CTRL + F paiešką -0x100 (juoda)

Gausite apie 8 įvykius, o norimasis yra smali / com / dropbox / android / activity / TextEditActivity.smali, 599 eilutėje. Dukart spustelėkite tą eilutę.

599 eilutėje yra -0x100, o 601 eilutėje yra „SetTextColor“. Taip pat yra kintamasis, atitinkantis 599 eilutę. Taigi, norint trumpai paaiškinti, -0x100, -0x1000000 ir net 0x0 reiškia juodą, -0x1000000 taip pat yra juoda ir netgi 0x0. Pakeiskite 599 eilutę pašalindami du 0 iš 100 ir pašalindami / high16 taip:

Toliau ieškosime @ * android: style, bet smali. Xml po x žymės papildomą „0“, bet smali kalba mes jo nenaudojame. Tai turi būti „0x103004f“, o ne „0x0103004f“.

„Notepad ++“ ieškokite @ * android: style / kuriame yra 0x103.

Antrasis hitas yra „const v7, 0x1030073“. Dar kartą ieškokite to savo public.xml iš „framework-res.apk“. Pamatysite, kad tai yra „Theme.Holo.Light.Dialog“ ID. Turėsite pakeisti jį į priešingos temos stiliaus viešą ID.

Kadangi tai yra „Theme.Holo.Light.Dialog“, norite jį padaryti „Theme.Holo.Dialog“. „Theme.Holo.Dialog“ ID yra „0x103006f“. Tai pakeis iššokantį dialogo įspėjimo langelį, kad vietoj lengvesnės „Holo.Light“ temos būtų naudojama tamsesnė „Holo“ tema.

Kitas, kurį turime pakeisti, yra „0x103006e“, kuris yra „Theme.Holo.Light“. Taigi eik į priekį ir padaryk tai priešingos temos stiliumi. „Public.xml“ iš „framework-res.apk“ pamatysite „Theme.Holo“ ID. Tai 0x0103006b. todėl pakeiskime šią eilutę taip:

Šių yra tik dar 2. Kitas yra „0x103000c“, skirtas „Theme.Light in public.xml“. Priešinga tai yra tema. Juoda, o ne „ThemeHolo“. Taigi public.xml pamatysite „Theme.Black“ ID. Juodas yra „0x01030008“ - pakeiskite jį taip:

Kitose programose yra kitų dalykų, kuriuos reikia redaguoti ir keisti, ir, tinkamai praktikuodami, galėsite beveik bet kurią temą tematikuoti. Bet kol kas viskas baigta su visais kodo bitais ( pagaliau!) .

Taigi dabar galite atidaryti scenarijų naudodami „Apk Multi Tool“ ir paspausti 12, kad sukurtumėte programą. Jei rodomos klaidos, galite pabandyti ieškoti klaidų žurnale, kas nepavyko, tačiau greičiausiai kodo redagavimo metu padarėte klaidą ar kitą klaidą.

Baigę kurti, paspauskite 2, tada 13, kad iš naujo pasirašytumėte programą.

Akcijų programoje yra aplankas pavadinimu „Šablonai“ - turite jį perkelti į nepasirašytą APK naudodami kažką panašaus į „7zip“. Nukopijuokite unsigned.apk į aplanką „place-apk-here-for-signing“, esantį „Apk Multi Tool“. Dabar terminalo scenarijuje paspauskite 18, kad paketiniu būdu pasirašytumėte tame aplanke esančias programas. Kai tai bus padaryta, scenarijus automatiškai išeis pats. Dabar galite įkelti .apk į savo įrenginį!

6 minutes perskaityta