360加固脫殼以及一些第三方脫殼方法

前言:

普通常見的反編譯模式相對來說比較簡單 但對于使用了?360加固 棒棒 愛加密 等等的加固應(yīng)用就沒辦法了、

你會發(fā)現(xiàn)反編譯出來的dex 只有幾個類 邏輯都是調(diào)用so ??

真正的dex會被加載到內(nèi)存中隱藏起來 加固應(yīng)用都是多dex這種形式

要想拿到他真正的dex 需要進(jìn)行脫殼處理 ?基本原理都是從內(nèi)存中dump?我一般會先用工具來嘗試 不行的話就得上 IDA(反匯編神器)超級強的一個工具 殺手級別 貫穿移動端 PC端的逆向 但使用IDA 進(jìn)行靜態(tài)分析 動態(tài)調(diào)試脫殼就變的很麻煩了 而且并不是一兩天能學(xué)會的

我們今天先用工具嘗試簡單的脫殼

現(xiàn)在市場中加固apk的方式一般有兩種:

第一種是對源apk整體做一個加固,放到指定位置,運行的時候再解密動態(tài)加載。

第二種是對so進(jìn)行加固,在so加載內(nèi)存的時候進(jìn)行解密釋放。

我們今天主要針對第一種加固方式進(jìn)行dex文件的獲取。

一、工具準(zhǔn)備

1.一部Root過的Android手機。

2.安裝Xposed模塊。

下載Xposed框架:打開手機瀏覽器,xposed installer,點擊下載。



Xposed框架是一款可以在不修改APK的情況下影響程序運行(修改系統(tǒng))的框架服務(wù),基于它可以制作出許多功能強大的模塊,且在功能不沖突的情況下同時運作。當(dāng)前,Per APP Setting(為每個應(yīng)用設(shè)置單獨的dpi或修改權(quán)限)、XPrivacy(防止隱私泄露)、對原生Launcher替換圖標(biāo)等應(yīng)用或功能均基于此框架。

3.安裝DumpDex。(脫殼神器)

打開https://github.com/WrBug/dumpDex, 從這個頁面下載APK安裝包,或者直接下載源碼進(jìn)行編譯項目到手機上。

注意在下載源碼進(jìn)行編譯時,因為這個apk安裝是沒有啟動頁面的,所以你可能會遇到簽名問題Run configuration配置問題。但都容易解決。配置問題解決方法:Run configuration中Launch Options選項選為Nothing,因為此項目是插件,沒有啟動頁。

4.安裝jadx或者jeb。(用于對dex文件進(jìn)行分析)

這里提一下jeb和jadx的優(yōu)勢 可以直接打開apk進(jìn)行反編譯 而已還原效果好

jd-gui看反編譯出來的jar(源碼)有些代碼為注釋狀態(tài) 顯示不出來 ?但JEB 和jadx肯定可以全部還原

個人比較喜歡jadx看代碼更加舒服,因為習(xí)慣java的格式。

jadx使用文檔 可以直接打開apk dex文件,反編譯神器??

JEB官網(wǎng),這個是有的需要收費功能的,破解版的可以去看雪論壇工具里面找找?

二、脫殼過程

打開【Xposed Installer】App,在【模塊】菜單中勾選DumpDex插件,然后重啟設(shè)備。

打開需要脫殼的App(此App應(yīng)該已加固)。

安裝一個MT文件管理器,或者re或es文件瀏覽器都可以,百度都能很容易搜到

打開文件瀏覽器,在根目錄/data/data/應(yīng)用包名/dump文件下,

如果脫殼成功,就可以搜索到一個或多個dump文件夾,里面就是目標(biāo)dex,里面有可能有多個dex,要一個個看才知道是不是源碼的dex,這個只能自己去一個個看,到底哪個是源碼(系統(tǒng)自帶文件瀏覽器,大多找不到root后的data目錄)

三、jadx查看完整源碼

上面三步是脫殼過程。如果前面已順利得到dex文件,那么現(xiàn)在就要把dex發(fā)送到自己電腦上面,文件管理器有分享功能可以使用QQ傳文件或者自己電腦連接手機傳輸,由于dex文件在root目錄下, Android Studio的Device File Explorer沒有copy權(quán)限,一個便捷的方法是在手機上把這些文件拷貝到外面的一些可見,這里就不多說了。

不過新版本360已經(jīng)native化原DEX的onCreate中的所有指令了,還用老方法是拿不到onCreate的,所以是看不到onCreate里面的方法的,運行時有一個函數(shù)專門解析每一條DEX指令,通過jni反射執(zhí)行,這里360要想進(jìn)一步查看代碼,還是要進(jìn)行修復(fù)的,修復(fù)這個太難了,一時半會學(xué)不會,所以暫時放棄。

總結(jié)下來發(fā)現(xiàn),對360加固和一些其他第三方加固等加固包都成功拿到dex文件。無論第三方加固怎么加殼,dex文件的加載到內(nèi)存的時候代碼肯定是要進(jìn)行還原的時候,因為只要在這個時候dump出來就可以,360加固把dex加密了,總歸是要解密的,解密操作有可能在dalvik模式里面的dex優(yōu)化的過程,也有可能在art模式下dex2oat的過程,360就在dex2oat的過程中實現(xiàn)對dex解密然后編譯成oat,因此通過修改dex2oat的代碼編譯一個新的dex2oat可以dump出解密后的dex,然后就可以分析源碼了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • @author ASCE1885的 Github 簡書 微博 CSDN本文由于潛在的商業(yè)目的,不開放全文轉(zhuǎn)載許可...
    asce1885閱讀 29,944評論 9 70
  • 本文轉(zhuǎn)載自:http://www.mottoin.com/89035.html 目錄 簡述(脫殼前學(xué)習(xí)的知識、殼的...
    NeWolf閱讀 16,902評論 0 10
  • 是否有那么一個地方,你不曾來過,初次邂逅卻有闊別經(jīng)年之感。那里的一草一木,一塵一土,都在夢里呈現(xiàn),帶著一種隔世的陌...
    TYM麥芽糖閱讀 676評論 2 1
  • 作為一個北漂的單身狗,過年總是喜憂參半的。工作了一年了,還是很想回家看看的,但是回家后遇到各種盤問就又免不了憂愁。...
    蕭寒之閱讀 732評論 0 0
  • 今天參與了小目標(biāo)的“時間記錄”活動。對卡片的內(nèi)容很是喜歡,專注、努力,隨著時間推移,終有一天會有成功。 對每日計劃...
    wendy樓閱讀 296評論 0 0

友情鏈接更多精彩內(nèi)容