梆梆加固還原DEX文件

 

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/

 

  僅此記錄下

相關文章
相關標籤/搜索