Sådan dekompileres og temaes Android APK-filer



Tryk nu på 'Erstat alle', og det vil ændre alle @android: farve / hvide for at bruge baggrunden_holo_dark i stedet. Fortsæt nu med at rulle gennem hele .xml og søge efter enhver android: baggrundsstrenge, der bruger en hex-værdi (#fffffff) eller noget andet end det, vi lige har erstattet dem med. For dem, du finder, skal du ændre strengene for at bruge den nye (abs__background_holo_dark).

Så vi har ændret baggrunden, nu skal vi ændre tekstfarven. Så følg den samme procedure, som vi lige har gjort, men lav denne gang en CTRL + F for 'android: textColor'. Du finder omkring 166 linjer fundet.



Du vil se ting som 'android: textColor =' # ffbbbbbb osv. Så se inde i Colors.xml igen, og vi skal finde ud af, hvilke linjer der skal erstattes for tekstfarven.



Du kan se android: textColor = ”# ffbbbbbb”, “#ffffffff”, “# ff717171” og “#ffcccccc” i skærmbilledet og i dine søgeresultater i Note ++. Åbn din Colors.xml igen nu for at finde den linje, vi vil bruge til tekstfarven.



Så gå tilbage til den første .xml og udfør CTRL + H for udskift-dialogen igen. Copypaste nu 'android: textColor =' # ffbbbbb 'streng i toppen og bunden, og skift bundlinjen til' android: textColor = '@ color / text'.

Nu igen, søg gennem alle android: textColor linjer og skift alt, hvad der har en hex-værdi i strengen. Endelig når du kommer til filen styles.xml, vil du fjerne det inverse fra et par linjer, startende ved linje 260 og fortsætte nedad i nogle få linjer. Så slet 'Inverse' fra disse strenge.

Dernæst ser du nogle hex-værdier rundt på linjerne 527, 536, 573, 579, 585, 601 og et par andre. Udskift fra (#ffffffff) til (@ farve / tekst).



Tryk på CTRL + F for at søge i Notepad ++ efter cacheColorHint , skillevæg , @ * android: farve / og Omvendt .

CacheColorHint er den rullende baggrund, så vi skal sikre os, at de bruger vores baggrundsfarve. Delerne er selvforklarende, og vi kan ændre deres hex-værdier, hvis du vil. Det eneste er, at du ikke må røre ved noget, der peger på @drawable. Det er typisk billeder, der er gemt som .png-filer andetsteds i .apk-mappen.

Når du søger efter “ omvendt ” , det viser referencer til textAppearanceInverse. Du skal dobbeltklikke på hver af disse og slette det inverse fra disse strenge.

Endelig vil søgningen efter @ * android: color / bare dobbelttjekke, om vi gik glip af nogen rammeredigeringer. Hvis du finder noget, der siger “android: popupBackground”> @ * android: color / white ”, skal du ændre det til“ android: popupBackground ”> @ color / abs__background_holo_dark”. Dette inkluderer linje 911, som kan være forvirrende, fordi den allerede peger på android: farve / sort.

Dernæst åbner vi res / values ​​/ colours.xml og ændrer det til at se sådan ud:

Næste res / values ​​/ styles.xml, og rul ned til linje 328. Skift det således:

() skal ændres til ()

Gør det samme for linje 479, skift “ lys' til ' sort' .

Gå nu ind på res / values-v11 / styles.xml, og fjern “ lys' hvor der står “ Holo.Light ” .

Dernæst åbner du res / values-v14 / styles nu, som indeholder mange strenge. Så på de første 46 linjer vil du fjerne enhver “ Lys' og “ Omvendt ” referencer, og skift derefter forældrene på linje 53 og 54 til “@ * android: style / Theme.Holo“.

På linje 69 skal du på forældren til højre fjerne lyset fra @ * android: style / Theme.Holo.Light.Dialog-forælder.

Dette er meget arbejde, ikke? Måske vil du fra nu af være mere taknemmelig for app-temaer og skind!

Dernæst går vi ind i res / farve folder. Der er nogle tekstfiler derinde, der peger på sort. Åbn res / colours / action_mode_item_text_color_state_list.xml

Sådan ser det ud på lager. Nedenfor er hvordan du har brug for at gøre det.

Du skal foretage de samme ændringer i følgende xml-filer i / res / farver-mappen: 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_colm_bot_date_xmall.xml. xml, ss_bottom_bottom_text_color_light.xml, tab_text_foreground.xml.

Når du er færdig med dem, skal du åbne / ændre / tegne, og der er xmls, der styrer baggrundsfarve. Så gå igennem dem og få dem til at se sådan ud:

Anvend de samme ændringer på alle de andre drawable.xml-filer.

Åbn nu test.apk og tryk på CTRL + venstre klik for at fremhæve smali og AndroidManifest, højreklik derefter og “Rediger med Notepad ++” igen. Accepter alle 1999-smali-filer. Når det indlæses, skal du søge efter CTRL + F efter -0x100 (sort)

Du får ca. 8 hits, og den du vil have er smali / com / dropbox / android / activity / TextEditActivity.smali, på linje 599. Dobbeltklik på den linje.

Linje 599 indeholder -0x100 i den, og linje 601 har 'SetTextColor'. Der er også en variabel, der matcher linje 599. Så for kort at forklare, -0x100, -0x1000000 og endda 0x0 betyder sort, -0x1000000 er også sort og endda 0x0. Skift linje 599 ved at fjerne de to 0'er fra 100 og fjerne / high16 således:

Dernæst søger vi efter @ * android: stil, men i smali. Xml indeholder et ekstra '0' efter x, men i smali bruger vi det ikke. Det skal være '0x103004f' i stedet for '0x0103004f.

Foretag en søgning i Notepad ++ efter @ * android: stil / som indeholder 0x103.

Det andet hit er “const v7, 0x1030073”. Søg efter det i din public.xml fra framework-res.apk igen. Du vil se, at det er id'et til 'Theme.Holo.Light.Dialog'. Du bliver nødt til at ændre det til det modsatte temas typografis offentlige id.

Da denne er Theme.Holo.Light.Dialog, vil du gøre den til Theme.Holo.Dialog. Theme.Holo.Dialog har en id på '0x103006f'. Det vil ændre en pop op-dialogboks til at bruge et mørkere Holo-baseret tema i stedet for et lysere Holo.Light-baseret tema.

Den næste, vi skal ændre, er “0x103006e”, som er Theme.Holo.Light. Så gå videre og gør det til den modsatte temastil. I din public.xml fra framework-res.apk ser du id'et til Theme.Holo er 0x0103006b. så lad os ændre den linje for at se sådan ud:

Der er kun 2 flere af disse at gennemgå. Den næste op er “0x103000c”, som er til Theme.Light i public.xml. Det modsatte af det er Theme. Sort, ikke ThemeHolo. Så i public.xml vil du se id'et til Theme.Black er '0x01030008' - skift det for at se sådan ud:

I andre apps ville der være andre ting at redigere og ændre, og med tilstrækkelig øvelse vil du være i stand til at omstemme næsten alt. Men for nu er vi færdige med alle kodebits ( endelig!) .

Så nu kan du åbne scriptet fra Apk Multi Tool og trykke 12 for at kompilere appen. Hvis der vises fejl, kan du prøve at se inden i fejlloggen efter, hvad der gik galt, men det er sandsynligvis, at du lavede en tastefejl eller anden fejl under kodedigering.

Når build er afsluttet, skal du trykke på 2 og derefter 13 for at underskrive appen igen.

Lagerappen indeholder en mappe med navnet 'Skabeloner' - du skal trække den ind i din usignerede apk ved hjælp af noget som 7zip. Kopier unsigned.apk til mappen 'sted-apk-her-til-signering' inde i Apk Multi Tool. Tryk nu på 18 i terminalscriptet for at batch-signere apps i den mappe. Når det er gjort, forlader scriptet automatisk sig selv. Du kan nu indlæse .apk på din enhed!

6 minutter læst