#####MERKNAD: funksjonen strengen er svært viktig. Det kan endres sammen med utviklingen av herding tjenester. Hvis det er feil, utpakking prosessen kan bli utløst. DexHunter utnytter «fwrite» og andre libc funksjoner for å manipulere filer. Men disse funksjonene er hektet av herding tjenester som resulterer i krasj på prosessen. Som et resultat, du kan ikke ta i bruk den vedlagte bilde for å pakke ut den nyeste hardedning tjenester. Du hadde bedre å erstatte disse funksjonene med direkte system anrop for å unngå krasj.,
DexHunter tar sikte på å utpakking herdet dex-filen automatisk.
DexHunter er basert på kildekoden til Android runtime. Det er sammensatt av endret KUNST og DVM runtime. Du kan bruke den modifiserte runtime for å erstatte det opprinnelige innholdet på Android kilde koder (Android 4.4.3). Endringen er i hovedsak i «art/runtime/class_linker.cc» (ART) og «dalvik/vm/native/dalvik_system_DexFile.cpp» (DVM).
###Bruk:
Hvis du ønsker å pakke i en app, må du presse «dexname» filen til «/data/» i mobiltelefonen før du starter appen., Den første linjen i «dexname» er funksjonen string (henviser til «slide.pptx»). Den andre linjen er data sti-mål-app (for eksempel «/data/data/com.test.test/»). Sin linje avslutningen bør være i stil med Unix/Linux. Kan du se loggen ved «logcat» for å finne ut om utpakking prosedyren er ferdig. Når dette er gjort, genereres «hele.dex» fil er ønsket resultat som ligger i app-data-katalogen.
###Tips:
-
DexHunter bare gjenbruker innhold før «class_def» – delen i stedet for å analysere dem for effektivitet., Hvis det er noen problemer, kan du analysere og montere dem på nytt eller endre dem statisk.
-
Det er verdt å merke seg at noen «annotation_off» eller «debug_info_off» – feltene kan være ugyldig i resultatet. Disse fileds har ingenting å gjøre med gjennomføring bare for å hindre dekompilering. Vi må ikke håndtere denne situasjonen spesielt for øyeblikket. Du kan bare programmere noen skript for å angi ugyldig fileds med 0x00000000.,
-
Som er kjent, noen herding tjenester kan beskytte flere metoder i dex-fil ved å gjenopprette instruksjonene like før de blir henrettet og tørke dem bare etter at du er ferdig. Så må du også endre «DoInvoke» (ART) eller «dvmMterp_invokeMethod» (DVM) – funksjonen til å trekke ut beskyttet instruksjon som utføres.
4)funksjonen strengen kan endres sammen med utviklingen av herding tjenester.
5)Hvis «fwrite» og andre libc funksjoner mislykkes, kanskje disse funksjonene er hektet av herding sevices., Som et resultat, du kan ikke tømme minne via dem. Du kan omgå denne begrensningen ved å ringe relevant system samtaler direkte.
DexHunter har sin egen begrensning. Som herding tjenester for å utvikle, DexHunter kan ikke være effektiv i fremtiden. Hvis du er interessert, kan du endre DexHunter for å holde tritt med herding tjenester kontinuerlig.
###beskrivelse av Filen:
«demo.mp4» er det demonstrasjon video av utpakking av en herdet app av Ali.
«test.apk» er eksempel brukt i videoen.
«dexname» er konfigurasjonsfilen som brukes i videoen.,
«kunst» – katalogen er endret runtime for KUNST.
«dalvik» katalogen er endret runtime for DVM.
«image» 7z-filer inneholder systemet bildefiler som er brukt i videoen.
Hvis du har noen spørsmål, kan du kontakte meg via e-post til [email protected].
Hvis du vil bruke denne koden, må du sitere følgende papir. Takk!
Yueqian Zhang, Xiapu Luo, og Haoyang Yin, DexHunter: Mot å Trekke Skjult Kode fra Pakket Android-Programmer, Stevning av 20. European Symposium om Forskning i Computer Security (ESORICS), Wien, Østerrike, September 2015.