#####HUOMAA: ominaisuus string on erittäin tärkeää. Sitä voidaan muuttaa kovettumispalvelujen kehittymisen myötä. Jos se on virheellinen, purkamisprosessia ei voida käynnistää. DexHunter hyödyntää ”fwrite” ja muita libc toimintoja manipuloida tiedostoja. Mutta nämä toiminnot ovat koukussa kovettuminen palvelut johtaa syöksyn prosessi. Seurauksena, et voi käyttää edellyttäen, kuva purkaa uusimmat hardedning palvelut. Sinun olisi parempi korvata nämä toiminnot suoraan järjestelmän puhelut välttää kaatua.,
DexHunter pyrkii purkamaan kovettuneen dex-tiedoston automaattisesti.
DexHunter perustuu Android Runtimen lähdekoodiin. Se koostuu modifioidusta taiteesta ja DVM-runtimesta. Voit käyttää muutettu runtime korvaa alkuperäisen sisällön Android-lähde koodit (Android 4.4.3). Muutos on lähinnä ”taide/runtime/class_linker.cc” (ART) ja ”dalvik/vm/native/dalvik_system_DexFile.cpp” (DVM).
###Käyttö:
Jos haluat purkaa app, sinun täytyy työntää ”dexname” tiedosto ”/data/” mobiili ennen sovelluksen., Ensimmäinen rivi ”dexname ”on ominaisuus merkkijono (viitaten” slide.pptx”). Toinen rivi on kohdesovelluksen datapolku (esim. ” / data / data / com.testi.testi/”). Sen rivin lopun pitäisi olla Unix/Linuxin tyyliin. Voit tarkkailla lokia ”logcatin” avulla selvittääksesi, onko purkamismenettely päättynyt. Kerran tehty, luotu ” kokonaisena.dex” tiedosto on haluttu tulos, joka sijaitsee sovelluksen tiedot hakemistoon.
###Vinkkejä:
-
DexHunter yksinkertaisesti uudelleenkäyttää sisältöä, ennen kuin ”class_def” – osiossa sen sijaan, jäsentämiseen niiden tehokkuudesta., Jos on joitakin ongelmia, voit jäsentää ja koota ne uudelleen tai muuttaa niitä staattisesti.
-
on syytä huomata, että jotkin ”annotation_off” – tai ”debug_info_off” – kentät saattavat olla tuloksessa virheellisiä. Näillä filedeillä ei ole mitään tekemistä teloituksen kanssa vain dekompiloinnin estämiseksi. Emme käsittele tätä tilannetta juuri nyt. Voit vain ohjelmoida joitakin skriptejä asettamaan virheelliset fileds 0x0000000.,
-
Kuten tiedetään, jotkut kovettuminen palvelut voi suojata useita menetelmiä dex-tiedosto palauttamalla ohjeet juuri ennen teloitusta ja pyyhkimällä ne vain jälkeen valmis. Joten sinun täytyy myös muuttaa ”DoInvoke” (ART.) tai ”dvmMterp_invokeMethod” (DVM) – toiminto poimia suojattu opetusta, kun teloitettiin.
4)ominaisuus merkkijono voidaan muuttaa yhdessä kehitystä kovettuminen palvelut.
5)Jos ”fwrite” ja muut libc toiminnot eivät ehkä nämä toiminnot ovat koukussa kovettuminen sevices., Tämän seurauksena, et voi heittää muistia niiden kautta. Voit ohittaa tämän rajoituksen soittamalla asiaankuuluviin järjestelmäpuheluihin suoraan.
Dexhunterilla on oma rajoituksensa. Kovettumispalveluiden kehittyessä DexHunter ei välttämättä ole tehokas tulevaisuudessa. Jos olet kiinnostunut, voit muuttaa DexHunter pysyä mukana kovettuminen palvelut jatkuvasti.
###Tiedosto kuvaus:
”demo.mp4” on esittely-video purkaminen karkaistu app Ali.
”testi.apk ” on videolla käytetty näyte.
”dexname” on videossa käytetty asetustiedosto.,
”art” – hakemisto on taiteen muunneltu runtime.
”dalvik” – hakemisto on DVM: n muutettu ajonaika.
”image” 7z-tiedostot sisältävät videossa käytetyt järjestelmäkuvatiedostot.
Jos sinulla on kysyttävää, ota yhteyttä minuun kautta sähköposteja [email protected].
Jos käytät tätä koodia, ole hyvä mainita seuraavat paperia. Kiitti!
Yueqian Zhang, Xiapu Luo, ja Haoyang Yin, DexHunter: Kohti Talteen Piilotettu Koodi Pakattu Android Sovelluksia, Proceedings of the 20th European Symposium Tutkimus-Tietoturva (ESORICS), Vienna, Itävalta, syyskuu 2015.