android怎样破解已使用加壳技术的APP?app如何破解软件
android怎样破解已使用加壳技术的APP?
破解加了dex壳的app,要害是要获得解密后的源dex,现在Android加壳技术还很不成熟,大多都是通过DexClassLoader或者隐躲的函数openDexFile来将源dex加载进来,然后动态替换Application来启动源程序,跟Windows上世代相传的PE文件加壳有1定区别。 要破解世代相传的壳,需要跟踪掌握流找到OEP,然后把源程序从内存中dump下来,重建输进表,最困难的就是要跟着外壳的掌握流走,安全工程师为了加大破解难度,使用了很多技术来让破解者走得更艰难。安全工程师与破解者对抗的要害点就在觅觅OEP的困难性上。 在Android平台上,正因为新兴的dex加壳技术不成熟,致使有些另类的脱壳方法可以绕过分析算法,直接将源程序dump下来。举个例子,安卓在4.0版本以后提供openDexFile这个函数来从内存中加载dex,所需要提供的参数是源dex在内存中的地址,所以只要对这个函数下断,然后从寄存器里找到内存地址,就能将解密后的源dex从内存中dump下来,直接对其反编译就能获得源代码了。更进1步,关于openDexFile这个函数,其实它与libdvm.so这个库有密不可分的关系,这个库里提供大量操作dex文件的函数,如果对这个库里的相关函数下断,然后从内存中暴力dump1大块内存区域,经常能直接将内存中的源dex给挠下来。
0