yaoteng / myhunter

#####let op: de feature string is erg belangrijk. Het kan worden gewijzigd samen met de evolutie van verharding diensten. Als het onjuist is, kan het uitpakken niet worden geactiveerd. DexHunter maakt gebruik van” fwrite ” en andere libc functies om bestanden te manipuleren. Maar deze functies zijn verslaafd door verharding diensten resulteert in de crash van het proces. Als gevolg hiervan kunt u de verstrekte afbeelding niet gebruiken om de nieuwste hardedning-services uit te pakken. U kunt deze functies beter vervangen door de directe systeemaanroepen om crash te voorkomen.,

DexHunter heeft als doel om het geharde dex-bestand automatisch uit te pakken.

DexHunter is gebaseerd op de broncode van Android runtime. Het is samengesteld uit gemodificeerde Kunst en DVM runtime. U kunt de gewijzigde runtime gebruiken om de originele inhoud in Android-broncodes te vervangen (Android 4.4.3). De wijziging vindt voornamelijk plaats in “art/runtime/class_linker.cc” (ART) en “dalvik/VM/native / dalvik_system_DexFile.cpp ” (DVM).

###Usage:

Als u een app wilt uitpakken, moet u het “dexname” – bestand naar “/ data / ” in de mobiele telefoon pushen voordat u de app start., De eerste regel in ” dexname “is de feature string (verwijzend naar” slide.pptx”). De tweede regel is het datapad van de doelapp (bijvoorbeeld ” / data / data / com.test.test/”). De regel eindigt in de stijl van Unix / Linux. U kunt het logboek bekijken met “logcat” om te bepalen of het uitpakken is voltooid. Eenmaal gedaan, de gegenereerde ” geheel.Dex ” bestand is het gewenste resultaat dat zich in de app data directory.

###Tips:

  1. DexHunter hergebruikt gewoon de inhoud voor de sectie “class_def” in plaats van ze te ontleden voor de efficiëntie., Als er problemen zijn, kunt u ze opnieuw ontleden en samenvoegen of statisch wijzigen.

  2. Het is vermeldenswaard dat sommige velden” annotation_off “of” debug_info_off ” ongeldig kunnen zijn in het resultaat. Deze Files hebben niets te maken met de uitvoering alleen maar om decompilatie te belemmeren. Op dit moment houden we ons niet specifiek met deze situatie bezig. Je kunt gewoon wat scripts programmeren om de ongeldige bestanden in te stellen met 0x00000000.,

  3. zoals bekend kunnen sommige hardening services verschillende methoden in het dex-bestand beschermen door de instructies te herstellen vlak voordat ze worden uitgevoerd en ze te wissen vlak nadat ze zijn voltooid. U moet dus ook de functie “DoInvoke” (ART) of “dvmMterp_invokeMethod” (DVM) wijzigen om de beschermde instructie te extraheren terwijl deze wordt uitgevoerd.

4) de functie-tekenreeks kan worden gewijzigd samen met de ontwikkeling van hardening services.

5) als de” fwrite ” en andere libc functies falen, worden deze functies misschien gehaakt door het verharden van sevices., Als gevolg hiervan kun je het geheugen niet via hen dumpen. U kunt deze beperking omzeilen door relevante systeemaanroepen direct aan te roepen.

DexHunter heeft zijn eigen beperking. Naarmate de verhardingsdiensten zich ontwikkelen, kan DexHunter in de toekomst niet effectief zijn. Als u geïnteresseerd bent, kunt u DexHunter wijzigen om gelijke tred te houden met verharding diensten continu.

###bestandsbeschrijving:

“demo. mp4” is de demonstratievideo van het uitpakken van een geharde app door Ali.

“test.apk ” is het monster gebruikt in de video.

“dexname” is het configuratiebestand dat in de video wordt gebruikt.,

“art” directory is de gewijzigde runtime voor ART.

“dalvik” directory is de gewijzigde runtime voor DVM.

“image” 7z-bestanden bevatten de systeemimagebestanden die in de video worden gebruikt.

Als u een vraag hebt, neem dan contact met me op via e-mails naar [email protected].

Als u deze code gebruikt, vermeld dan het volgende papier. Bedankt!

Yueqian Zhang, Xiapu Luo, and Haoyang Yin, DexHunter: Toward Extracting Hidden Code from Packed Android Applications, Proceedings of the 20th European Symposium on Research in Computer Security (ESORICS), Wenen, Oostenrijk, September 2015.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Spring naar toolbar