0x01html
先說總結:java
參照https://www.cnblogs.com/jiaoxiake/p/6818786.html 最後說的步驟,android
參考:https://www.52pojie.cn/thread-586058-1-1.htmlgit
經過DexExtractor將加固後的apk還原odex,拖到jeb裏面繼續分析,odex-dex步驟沒完成。shell
0x02:
同事小哥在找分析一個apk,找裏面一點邏輯,發現apk被梆梆加固了。
正常apktool反編譯沒法找到清單文件裏面註冊的服務。app
找了下lib文件裏,2個so文件,搜索發現和BANGBANG相關,順帶搜到了TUOKE的文章函數
0x03:spa
參照教程,須要使用DexExtractor,有幾種方式
1.本身編譯源碼,修改dexFileParser函數,刷機
2.找個4.4機器,ROOT掉,替換libdvm.so,重啓
3.找個4.4機器,刷system.img,重啓
源碼在U裏面,回去編譯再刷,以爲有點麻煩,要是長期使用,能夠考慮。
手裏有Nexus5,刷的lineageos,再折騰一邊刷機以爲不必,畢竟就一次~~
a.而後選擇,用模擬器,AVD裏面選擇SDK19 ARM CPU的模擬器,下載安裝3d
得到模擬器如上日誌
感謝前輩提供將已經編譯好的system.img
地址在百度雲:https://pan.baidu.com/s/1jG3WQMU
b.修改模擬器加載system.img地址,配置文件在 :hardware-qemu.ini
配置文件地址在: C:\Users\xxxooo\.android\avd\Nexus5XAPI19-4.4.avd
xxx爲本機用戶名,Nexus5XAPI19-4.4爲你建立的模擬器名字 ,
修改hardware-qemu.ini裏面 disk.systemPartition.initPath,或者直接將百度雲下載好的syste.img替換過去[提早備份]
c.重啓模擬器
將加固後的apk文件安裝到模擬器
打開logcat,
打開adb shell ,將sdcard 目錄mount一下
打開目標app,查看log日誌 過濾 目標包名
順利的話會看到:
看到已經生成n個dex文件,
至於爲何是多個dex文件,這個沒搞明白,不知道會不會是由於由於加固故意分割dex
若是/sdcard/寫入失敗,會有log日誌,
個人操做是,重啓模擬器,開機就adb shell 進去 su 而後mount sdcard 給777權限
e.將生成後的dex文件pull到電腦,
查看/sdcard/ 目錄,只要文件名字包含目標包名的就是,全都pull出來,了,例如都放到 hack 目錄
下載git中的DexExtractor項目,使用其中的 Decode.jar 還原dex
java -jar Decode.jar hack ,hack爲從手機內pull出來的dex目錄
得到解密後的xxxx.read.dex
此次得到的爲odex格式,拖到WinHex 看透文件爲 dey 036
文件拖到jeb能夠直接看,不過要點擊 inner_dex
若是想要直接看dex,還須要使用:baksmali ,這裏我就沒有操做,
有個技巧,pull出來的dex有4個,經過jeb將每一個都反編譯,導出爲java保存在不一樣文件夾。
而後,經過notpad++全局查找須要找的代碼,好比某個字符串(定義在string.xml的除外)或者代碼
定位到,再用jeb打開dex,能夠查看調用關係,否則,導出爲java後,導入studio或者eclipes調用關係極可能沒法生成
基本操做就這些
同事小哥如願找到了想要的,晚上加雞腿
後來發現 趙四前輩的 文章更詳細,
地址: http://www.wjdiankong.cn/apk%E8%84%B1%E5%A3%B3%E5%9C%A3%E6%88%98%E4%B9%8B-%E5%A6%82%E4%BD%95%E8%84%B1%E6%8E%89%E6%A2%86%E6%A2%86%E5%8A%A0%E5%9B%BA%E7%9A%84%E4%BF%9D%E6%8A%A4%E5%A3%B3/
僅此記錄下