前几日看了个娜迦libvdog.so的免费加固,今天简单看看梆梆加固。

先看看壳子Application:这回获取app_name不是在AndroidManifest.xml,写在Helper里面了。自定义Application中还是获取原有Application对象即realApplication然后onCreate(),都差不多。

其实如果看过企业版就知道,这个单一版还是一个Dex整体隐藏,在内存中还是可以dump的。(后来发现应该还是有函数抽取的。。)

这里还是用dexextractor来dump dex出来,但是可能是因为启动慢的原因,第一次安装后启动dump失败了,得第二次再启动才能dump到结果。另外注意下设置虚拟机Sdcard的大小,感觉Sdcard初始化100MB太小了。。

简单的说结果是两个,小点的dex是梆梆壳子的,大点的本身程序。

接下来问题来了,之前低版本baksmali用不了了,总是报错:

找了半天原因感觉可能是baksmali版本太低了,解释不了这个odex,然后赶紧下个最新的baksmali.jar包,这里是V2.2.2.https://bitbucket.org/JesusFreke/smali/downloads/

然后想像之前用java -jar baksmali-2.2.2.jar -o output xxx.odex来执行解析,发现一直报错。

而是要像下面一样:即 java -jar baksmali-2.2.2.jar deodex -d /system/framework/ -o [out_dir] odex

具体可以参考:http://blog.csdn.net/lechengyuyuan/article/details/17146729

其实要是想直接看的话可以用Jeb 2直接打开这个ODEX文件,它能够自动把里面的inner dex解析出来。

梆梆企业版和标准版就不是一个路数了,首先看看这个AndroidManifest.xml,这保护的。。

再来说说对dex的保护。这里梆梆企业版应该是上VMP了,从apk直接得到的classes.dex确实可以转成jar来看看源码,但是一涉及到关键就是下面这个样子,是函数抽取还是啥的,反正就是容易读的放到native里去。估计so库的反调试也不少,总之就是让我等小白没招。。

后记:先后看了娜迦和梆梆的免费版加固,其实就是想说很多免费版和企业版完全不是一个路数。目前来讲学习各家免费版的脱壳还是比较有意义的,因为这类免费加固需求非常大。中小企业拿来可以应付监管,恶意软件套个壳子可以过应用市场的自动检测。那么相反,取证人员如果能够了解其中的秘密必然能更好的审查!