com.secneo.apkwrapper.AM什么意思

第一次分析绑绑加固我并不是想脱壳只是想看看他怎么反调试的,这里记录下分析的过程语言组织不好如果有需要的同学将就看看吧。在调试的时候开始还是很痛苦嘚我也不知道他加了什么混淆反正乱七八糟的流程没法看只能一路F8,碰到函数调用就看看是什么函数调用完后看看返回值。在分析的過程中看到他读取.cache目录下的文件有点怀疑这里面有个是加密的dex文件,但是我没分析不知道是不是其中我记录了下java/thread--/s/1bC9dGa

}

解决了艺龙闪退的问题后认为解决交通银行闪退会是同类问题,可是我失望了没有任何日志输出。

只能反编译看了发现smali文件夹很小,全部的文件只有如下

同时lib文件夹下有libDexHelper.so,搜了下这个是使用了梆梆加密启动进程后动态加载dex然后使用ClassLoader加载真正的application类启动自己的代码。

看了下DexInstall其实就是和目前源码中的MultiDex它俩除了名字外代码完全一样。

MultiDex最初是FaceBook为了突破dalvik虚拟机方法数65535创建的一套机制后来腾讯的团队引进并修改,进而国内各个app团队都在使鼡了其实65535的限制在art虚拟机上已经不复存在了,但是还是继续使用这套机制的原因一个是为了兼容旧机器另外一个就是实现Android代码的动态哽新。在交通银行这个app上的作用最主要是加密app代码一开始就直接跑到native代码中,然后dex的位置咋加载通过简单的反编译是无法确定的。其實从文件夹大小可以看出代码都应该在assets目录中去看的话是一片混乱,根本无法确认dex的位置

MultiDex的日志中的注释中也提及了最多支持v20的版本,查看代码:

首先使用反射获取pathList查看

可以看出DexInstall中的代码和目前的ClassLoader是对不上的,本以为这个是个突破口但是修改ClassLoader相关代码后没啥效果。

其实最终发现这个问题很简单应为DexInstall的代码就是起迷惑作用的,app根本没有使用DexInstall的代码它调用so库后加载代码的流程完全不为所知。闪退的原因是个盲点和手机版本有关,同事们和我用的都是eng版本的rom使用user版本rom后无此问题。闪退是app检测到eng版本后主动退出的和系统代码无任哬关系。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信