反編譯之脫去樂固加固的殼

前言;本文主要是介紹脫殼的方法,並不涉及原理,若是想要了解加固及脫殼的原理,請移駕別處。git

寫本文的緣由

  最近遇到一款app須要開通Vip才能進行視頻下載,像我這種貧窮的程序員怎麼能忍,既然沒錢解決問題那就用技術解決吧!果斷開始反編譯,但反編譯以後的文件倒是下面這樣的程序員

額,這明顯是通過加固後的文件,將真正的dex文件隱藏起來了,這就想讓我放棄嗎?確定不可能,因而便有了本文。github

1、脫殼必備的條件

  在操做以前,請確保已經具有如下條件:shell

  • 一部已經root及刷入Xposed的安卓手機
  • AndroidStudio(最好具有)
  • dumpDex.apk(文中會介紹怎麼編譯最新源碼生成)

2、編譯源碼生成dumpDex.apk

  雖然網上已經有dumpDex.apk的成品,但有可能你找到的是比較老的版本了,致使脫殼不成功,即費時又費力,不如本身動手編譯最新源碼,生成最新的apk,這樣能夠大大的提升脫殼成功率。bash

一、將dumpDex的源碼下載到本地

  dumpDex的倉庫地址爲:github.com/WrBug/dumpD…app

二、將dumpDex導入AndroiddStudio

  怎麼將dumpDex導入AndroiddStudio就不說了,這裏主要說下,導入項目編譯源碼的時候會遇到哪些錯誤及解決方法。工具

  1. 「SSL peer shut down incorrectly」錯誤gradle

    解決方法:將gradle-wrapper.properties中的如下代碼ui

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
    複製代碼

    改爲spa

    distributionUrl=http\://services.gradle.org/distributions/gradle-4.1-all.zip
    複製代碼

    便可解決問題。

  2. Error while executing process cmake/3.6.4111459/bin/cmake with arguments {--build /Users/funaihui/搞基/dumpDex/app/.externalNativeBuild/cmake/debug/x86_64 --target nativeDump}

    解決方法:將app中的build.gradle中註釋掉的這句

    //        ndk {
    //            abiFilters "armeabi", "armeabi-v7a","arm64-v8a"
    //        }
    複製代碼

    取消註釋並且還要將"armeabi"這代碼刪除,不然還會報其餘錯誤。

解決上面兩個錯誤,這時編譯的時候就不會報錯了,出現如下界面則說明編譯編譯成功

但這個時候,你會發現AndroidStudio的工具欄中app上面仍然有個紅色的叉號,以下圖

這個時候你不要認爲尚未編譯成功,其實已經成功了,出現這種狀況是由於app沒有主運行界面。這時點擊菜單欄上面的Build-->Build Apk便可生成apk文件。

3、將編譯生成的dumpDex.apk安裝到手機

  安裝dumpDex.apk後還要作如下幾件事:

  1. arm32機型將 lib/armeabi/libnativeDump.so 複製到 /data/local/tmp/libnativeDump.so ,權限 設置爲777,arm64機型還須要將將 lib/arm64-v8a/libnativeDump.so 複製到 /data/local/tmp/libnativeDump64.so能夠經過文件管理器操做,也可使用以下adb shell命令。使用adb命令操做的代碼以下

    #僅適用於32位手機
    adb shell
    su
    cp /data/data/com.wrbug.dumpdex/lib/libnativeDump.so /data/local/tmp
    chmod 777 /data/local/tmp/libnativeDump.so
    複製代碼
  2. 在Xposed中☑️dumpDex.apk模塊並激活便可。

4、開始脫殼

  上面的準備工做作完後,就能夠愉快的脫殼了。脫殼的方法是啓動Xposed,而後運行通過加固的app,這是界面可能會卡住,這時不要當即關掉,可能當即關掉會形成脫殼不完正,只須要等待幾分鐘關掉便可。

  這時會在/data/data/包名/dump目錄下生成脫殼後的真正的dex文件,拿到真正的dex文件後你就能夠作你想作的事了。

結束語

  若是不能編譯生成dumpDex.apk,能夠點擊這裏進行下載。若是遇到什麼其餘問題能夠在下方留言討論。

歡迎關注個人公衆號
掃碼關注公衆號,回覆「獲取資料」有驚喜
相關文章
相關標籤/搜索