# # # # # megjegyzés: a funkció karakterlánc nagyon fontos. Meg lehet változtatni a keményedési szolgáltatások fejlődésével együtt. Ha helytelen, a kicsomagolási folyamat nem indítható el. A DexHunter az “fwrite” és más libc funkciókat használja a fájlok manipulálására. De ezeket a funkciókat a keményedési szolgáltatások összekapcsolják, ami a folyamat összeomlását eredményezi. Ennek eredményeként nem használhatja a mellékelt képet a legújabb hardedning szolgáltatások kicsomagolásához. Jobb, ha ezeket a funkciókat a közvetlen rendszerhívásokra cseréli, hogy elkerülje az összeomlást.,
A DexHunter célja az edzett dex fájl automatikus kicsomagolása.
A DexHunter az Android runtime forráskódján alapul. Ez áll a módosított ART és DVM futásidejű. A módosított futási idő segítségével helyettesítheti az eredeti tartalmat az Android forráskódokban (Android 4.4.3). A módosítás elsősorban az “art / runtime / class_linker.cc” (ART) és a “dalvik/vm/native/dalvik_system_DexFile.cpp” (DVM).
# # # használat:
Ha ki szeretne csomagolni egy alkalmazást, az alkalmazás indítása előtt a “dexname” fájlt “/data/” – ra kell nyomnia a mobilban., A “dexname” első sora a funkció karakterlánc (utalva a “slide” – ra.pptx”). A második sor a Célalkalmazás adatútja (pl. “/data/data/com.teszt.teszt/”). Sorvégének Unix / Linux stílusban kell lennie. A naplót a “logcat” segítségével figyelheti meg annak meghatározására, hogy a kicsomagolási eljárás befejeződött-e. Ha kész, a generált ” egész.Dex ” fájl a kívánt eredmény, amely az alkalmazás adatkönyvtárában található.
###tippek:
-
DexHunter egyszerűen újra felhasználja a tartalmat a “class_def” szakasz előtt, ahelyett, hogy a hatékonyság érdekében elemezné őket., Ha vannak problémák, újra elemezheti és újra összeállíthatja őket, vagy statikusan módosíthatja őket.
-
érdemes megjegyezni, hogy néhány “annotation_off” vagy “debug_info_off” mező érvénytelen lehet az eredményben. Ezeknek a fájloknak semmi köze a végrehajtáshoz, csak hogy akadályozzák a bomlást. Nem foglalkozunk ezzel a helyzettel kifejezetten ebben a pillanatban. Csak programozhat néhány szkriptet Az érvénytelen filedek beállításához 0x00000000.,
-
Mint ismeretes, néhány edzés szolgáltatások tudja védeni több módszer a dex fájl helyreállítása az utasításokat, mielőtt kivégzik, majd letörölte őket, miután befejezte. Tehát módosítania kell a” DoInvoke “(ART) vagy a” dvmMterp_invokeMethod ” (DVM) funkciót is, hogy végrehajtsa a védett utasítást.
4) a jellemző karakterlánc megváltoztatható a keményedési szolgáltatások fejlődésével együtt.
5) ha az” fwrite ” és más libc funkciók nem működnek, akkor ezeket a funkciókat a sevices keményítésével lehet összekapcsolni., Ennek eredményeként nem tudja eldobni a memóriát rajtuk keresztül. Ezt a korlátozást megkerülheti, ha közvetlenül felhívja a megfelelő rendszerhívásokat.
A DexHunter saját korlátozással rendelkezik. A keményedési szolgáltatások fejlődésével a DexHunter a jövőben nem lehet hatékony. Ha érdekli, módosíthatja a DexHunter-t, hogy folyamatosan lépést tartson a keményedési szolgáltatásokkal.
# # # fájlleírás:
“demo.mp4” az Ali edzett alkalmazás kicsomagolásának demonstrációs videója.
“teszt.apk ” a videóban használt minta.
a”dexname” a videóban használt konfigurációs fájl.,
az ” art ” könyvtár az ART módosított futási ideje.
a “dalvik” könyvtár a DVM módosított futási ideje.
“image” 7z fájlok tartalmazzák a videóban használt rendszerképfájlokat.
Ha bármilyen kérdése van, kérjük, forduljon hozzám e-mailen keresztül [email protected].
Ha ezt a kódot használja, kérjük, idézze a következő papírt. Kösz!
Yueqian Zhang, Xiapu Luo, and Haoyang Yin, DexHunter: towards Extracting Hidden Code from Packed Android Applications, Proceedings of the 20th European Symposium on Research in Computer Security (ESORICS), Bécs, Ausztria, September 2015.