阿里殼2016

將殼拖入AK中分析,入口點已經修改成了StubApplication

調用了方法attachBaseContext

在這裏插入圖片描述

這個方法比onCreate調用的更早,很多殼會在這個方法中對原始程序進行還原
在這裏插入圖片描述

除此之外還加載了mobisec.so,查看lib文件夾下的so文件可以找到這個so文件
在這裏插入圖片描述
用IDA打開libmobisec後找到Jni_Onload,導入jni.h中的結構體,F5後重新註釋Jni_Onload。
可以看到函數調用了FindClass方法,這個方法是在動態註冊時使用的,用於找到class

在這裏插入圖片描述
要找的class名爲com/ali/mobisecenance/StubApplication
在這裏插入圖片描述
有了class,就可以對其內部的方法進行註冊

static int registerNativeMethods(JNIEnv* env,
                                 const char* className,
                                 JNINativeMethod *gMethods,
                                 int numMethods)
{
    jclass clazz;
    clazz = env->FindClass(className);
    if(clazz == NULL) {
        return JNI_FALSE;
    }
    if(env->RegisterNatives(clazz, gMethods, numMethods) < 0) {
        return JNI_FALSE;
    }
    return JNI_TRUE;
}

在函數的後半段看到off_54010,跳轉過去查看

在這裏插入圖片描述
看到幾個jar,懷疑是原始文件數據,殼通過這幾個文件將原始程序在內存中進行還原

在這裏插入圖片描述

查看assets文件夾發現cls.jar和fak.jar

在這裏插入圖片描述
除此之外還看到了對attachBaseContext和onCreate進行了動態註冊
跳轉到sub_24d3c+1處查看attachBaseContext方法,主要函數有以下幾個:
1.init_classes函數主要對加載器等進行初始化,然後一堆存儲地址之類的操作
在這裏插入圖片描述

2.parse_dex是對dex文件進行解碼然後調用

內部會調用openWithHeader,並將cls.jar傳進去
openWithHeader內部主要是對dex文件進行解密操作
在這裏插入圖片描述
執行完以後,v53指向解密的dex文件
在這裏插入圖片描述

此時將這一塊內存dump出來就是解密的dex文件了
運行腳本

static main(void)
{
        auto i,begin,end,len,fp;
        fp = fopen("e:\\dump.dex","wb");
        begin = 0xa98a3010;
        len = 0x941fc;
        end = begin + len;
        for(i=begin;i<end;i++)
        fputc(Byte(i),fp);
}

dump文件的長度通過dex文件格式可知,0xa98a3030處是fileSize
在這裏插入圖片描述
把dump出來的文件使用JEB打開,都沒有問題

在這裏插入圖片描述

如果發現dump出來的dex文件反編譯沒有代碼,只有函數聲明,說明沒有dump完整,碰到這種情況,通常是後面對dex文件進行了patch,也就是說需要dump的是後面解析出來的dex文件。如果dump出來發現dex文件無法識別,需要對dex進行修復,這種情況一般是dump的長度不夠,通過在IDA中ctrl+s找到dex後面的段,計算總長度重新dump即可。

將dex文件反編譯,覆蓋到反編譯後apk的smali文件夾下(原來的文件需要刪除),將AndroidManifest.xml中的殼入口刪除,重新編譯,即可運行。
在這裏插入圖片描述

可能是apk過於久遠,所以在加殼狀態下程序無法運行,可見加過殼的程序的穩定性是個問題,脫殼後重新編譯的apk可以正常運行。

在這裏插入圖片描述

樣本:
鏈接:https://pan.baidu.com/s/13cBpJ9pUo5Wc9yq4mwmmtg
提取碼:8r28

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章