Paano Mag-decompile at Theme Android APKs



Ngayon pindutin ang 'Palitan Lahat', at babaguhin nito ang lahat ng @android: kulay / puti upang gamitin na lang ang background_holo_dark. Ipagpatuloy ngayon ang pag-scroll sa buong .xml, paghahanap para sa anumang android: mga background string na gumagamit ng isang hex na halaga (#fffffff) o anumang bagay maliban sa kung saan natin ito pinalitan lamang. Para sa mga nahanap mo, baguhin ang mga string upang magamit ang bago (abs__background_holo_dark).

Kaya binago namin ang background, ngayon babaguhin namin ang kulay ng teksto. Kaya sundin ang parehong pamamaraan na ngayon lang namin ginawa, ngunit sa oras na ito gumawa ng isang CTRL + F para sa 'android: textColor'. Makakakuha ka ng humigit-kumulang 166 linya na natagpuan.



Makakakita ka ng mga bagay tulad ng 'android: textColor =' # ffbbbbbb ', atbp. Kaya't tumingin muli sa loob ng Colors.xml at kailangan nating alamin kung aling mga linya ang mapapalitan para sa kulay ng teksto.



Maaari mong makita ang android: textColor = ”# ffbbbbbb”, “#ffffffff”, “# ff717171”, at “#ffcccccc” sa screenshot at sa iyong mga resulta sa paghahanap sa Tandaan ++. Buksan muli ang iyong Colors.xml ngayon upang malaman kung aling linya ang nais naming gamitin para sa kulay ng teksto.



Kaya bumalik sa unang .xml at gawin ang CTRL + H para sa muling pag-uusap sa Palitan. Ngayon copypaste ang string na 'android: textColor =' # ffbbbbbb 'sa tuktok at ibaba, at baguhin ang ilalim na linya sa' android: textColor = '@ color / text'.

Ngayon muli, maghanap sa lahat ng android: mga linya ng textColor at baguhin ang anumang may isang hex na halaga sa string. Panghuli kapag nakarating ka sa mga style.xml file, nais mong alisin ang kabaligtaran mula sa ilang mga linya, simula sa linya 260 at magpatuloy pababa para sa ilang mga linya. Kaya tanggalin ang 'Inverse' mula sa mga string na iyon.

Susunod makikita mo ang ilang mga halagang hex sa paligid ng mga linya na 527, 536, 573, 579, 585, 601, at ilan pa. Palitan ang mula sa (#ffffffff) patungong (@ kulay / teksto).



Pindutin ang CTRL + F upang maghanap sa Notepad ++ para sa cacheColorHint , tagahati , @ * android: kulay / , at Kabaligtaran .

Ang cacheColorHint ay ang pag-scroll sa background, kaya kailangan naming tiyakin na ginagamit nila ang aming kulay sa background. Ang mga divider ay nagpapaliwanag sa sarili, at mababago namin ang kanilang mga halaga ng hex kung nais mo. Ang tanging bagay ay hindi mo dapat hawakan ang anumang bagay na tumuturo sa @ mailalabas. Karaniwan ang mga ito ay mga imaheng nakaimbak bilang .png file sa ibang lugar sa folder na .apk.

Kapag naghanap ka para sa “ kabaligtaran ' , ipapakita nito ang mga sanggunian sa textAppearanceInverse. Kailangan mong i-double click ang bawat isa sa mga ito at tanggalin ang Inverse mula sa mga string na iyon.

Sa wakas, ang paghahanap para sa @ * android: kulay / ay i-double-check lamang kung napalampas namin ang anumang mga pag-edit ng balangkas. Kung may makita kang anumang sinasabi na 'android: popupBackground'> ​​@ * android: kulay / puti ', kailangan mo itong palitan sa' android: popupBackground '> @ color / abs__background_holo_dark'. Kasama dito ang linya 911, na maaaring nakakalito sapagkat tumuturo na ito sa android: kulay / itim.

Susunod ay bubuksan namin ang res / mga halaga / color.xml at palitan ito upang magmukhang ganito:

Susunod na res / halaga / style.xml, at mag-scroll pababa sa linya 328. Palitan ito ng tulad nito:

() ay dapat palitan ng ()

Gawin ang pareho para sa linya 479, binabago ang ' ilaw ” sa “ itim ” .

Pumunta ngayon sa res / values-v11 / style.xml, at alisin ang ' ilaw ” kung saan sinasabi na Holo.Light ” .

Susunod buksan mo ngayon ang mga res / halaga-v14 / istilo, na naglalaman ng maraming mga string. Kaya sa unang 46 na linya, nais mong alisin ang anumang “ Magaan ” at ' Kabaligtaran ' mga sanggunian, at pagkatapos ay palitan ang mga magulang sa mga linya na 53 at 54 sa “@ * android: style / Theme.Holo“.

Sa linya na 69, sa kanang bahagi ng magulang, alisin ang Liwanag mula sa @ * android: style / Theme.Holo.Light.Dialog parent.

Ito ay maraming trabaho, tama ba? Marahil mula ngayon ay mas magiging mapagpahalaga ka sa mga tema ng app at balat!

Susunod na pupunta tayo sa res / kulay folder. Mayroong ilang mga file ng teksto doon na tumuturo sa itim. Buksan ang res / kulay / action_mode_item_text_color_state_list.xml

Ganyan ang hitsura nito sa stock. Sa ibaba ay kung paano mo ito kailangang gawin.

Kailangan mong gawin ang mga pagbabagong iyon ng sames sa mga sumusunod na xml file sa loob ng / res / mga folder ng kulay: 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_text_name xml, ss_bottom_bottom_text_color_light.xml, tab_text_foreground.xml.

Kapag tapos ka na sa mga iyon, buksan / res / drawable at may mga xml na kumokontrol sa kulay ng background. Kaya dumaan sa kanila at gawin silang ganito:

Ilapat ang parehong mga pagbabago sa lahat ng iba pang mga drawable.xml na file.

Ngayon buksan ang test.apk at pindutin ang CTRL + left click upang i-highlight ang smali at AndroidManifest, pagkatapos ay i-right click at 'I-edit gamit ang Notepad ++' muli. Sumang-ayon sa lahat ng mga 1999 smali file. Kapag naglo-load ito, gawin ang isang paghahanap sa CTRL + F para -0x100 (itim)

Makakakuha ka ng tungkol sa 8 mga hit, at ang nais mo ay smali / com / dropbox / android / aktibidad / TextEditActivity.smali, sa linya 599. I-double click ang linya na iyon.

Naglalaman ang Line 599 ng -0x100 dito, at ang linya 601 ay may 'SetTextColor'. Mayroon ding variable na tumutugma sa linya 599. Kaya upang maipaliwanag nang maikli, -0x100, -0x1000000 at kahit 0x0 nangangahulugang itim, -0x1000000 ay itim din at kahit 0x0. Baguhin ang linya 599 sa pamamagitan ng pag-alis ng dalawang 0 mula sa 100 at pag-aalis ng / mataas na16 tulad nito:

Susunod na hahanapin namin ang @ * android: style, ngunit sa smali. Maglalaman ang xml ng labis na '0' pagkatapos ng x, ngunit sa smali hindi namin ito ginagamit. Kailangan itong maging '0x103004f' sa halip na '0x0103004f.

Paghanap ba sa Notepad ++ para sa @ * android: style / na naglalaman ng 0x103.

Ang pangalawang hit ay “const v7, 0x1030073“. Hanapin iyon sa iyong publiko.xml mula sa framework-res.apk muli. Makikita mo na ito ay ang id para sa 'Tema.Holo.Light.Dialog'. Kakailanganin mong baguhin ito sa pampublikong id ng istilo ng tema.

Dahil ang isang ito ay Tema.Holo.Light.Dialog, nais mong gawin itong Tema.Holo.Dialog. Tema.Holo.Dialog ay mayroong id ng “0x103006f”. Magbabago iyon ng isang pop up na kahon ng alerto sa dialog upang magamit ang isang mas madidilim na tema na batay sa Holo sa halip na isang mas magaan na Holo. Tema na batay sa ilaw.

Ang susunod na kailangan nating baguhin ay ang '0x103006e' na kung saan ay Theme.Holo.Light. Kaya't sige at gawin itong kabaligtaran na istilo ng tema. Sa iyong public.xml mula sa framework-res.apk, makikita mo ang id para sa Theme.Holo ay 0x0103006b. kaya baguhin natin ang linyang iyon upang magmukhang ganito:

Mayroon lamang 2 pang mga ito na pinagdadaanan. Ang susunod na isa ay ang '0x103000c', na para sa Theme.Light sa publiko.xml. Ang kabaligtaran nito ay Tema. Black, hindi ThemeHolo. Kaya't sa public.xml makikita mo ang id para sa Theme.Black ay '0x01030008' - baguhin ito upang magmukhang ganito:

Sa ibang mga app, magkakaroon ng iba pang mga bagay upang mai-edit at mabago, at sa sapat na kasanayan magagawa mong muling i-tema muli ang anuman. Ngunit sa ngayon, tapos na kami sa lahat ng mga code bit ( sa wakas!) .

Kaya't ngayon ay maaari mong buksan ang script mula sa Apk Multi Tool, at pindutin ang 12 upang maipon ang app. Kung may anumang mga error na ipinakita, maaari mong subukang tumingin sa loob ng error log para sa kung anong maling nangyari, ngunit malamang na gumawa ka ng isang typo o iba pang pagkakamali sa pag-edit ng code.

Kapag nakumpleto ang pagbuo, pindutin ang 2 at pagkatapos ay 13 upang muling lagdaan ang app.

Naglalaman ang stock app ng isang folder na pinangalanang 'Mga Template' - kailangan mong i-drag iyon sa iyong hindi naka-sign apk gamit ang isang bagay tulad ng 7zip. Kopyahin ang unsigned.apk sa folder na 'lugar-apk-here-for-sign' sa loob ng Apk Multi Tool. Pindutin ngayon ang 18 sa terminal script upang mag-sign ng batch ang mga app sa folder na iyon. Kapag tapos na ito, awtomatikong lalabas ang script mismo. Maaari mo na ngayong mai-load ang .apk papunta sa iyong aparato!

6 minuto basahin