前言
最近把研究dex的脱壳,顺便又是再次熟悉了一下dex的标准格式以及dex被解析后在内存中所存在的格式。自己上官网加了一个壳子,发现跑不起来。于是求助几个基友,最后样本是海总给的apk,很全面,带有Activity、Application、BroadcastReceiver、ContentProvider、以及Service。
0x1 加壳前后对比
加固后的文件列表变化:
新增一个so文件以及一个jar包:
libbaiduprotect.so
baiduprotect.jar
修改:
META-INF文件夹
AndroidManifest.xml
Classes.dex
0x2 IDA尝试
用IDA来远程调试,直接跑挂了。看来有反调试。
从壳入口Java层找到如下语句:
static {
if(!Debug.isDebuggerConnected()) {
String v0 = Build.CPU_ABI;
if(v0 != null && (v0.startsWith("x86"))) {
StubApplication.loadX86Library();