破解安卓加殼app,簽名


app:名稱,引力波

抓取新聞數據時發現,請求頭signature一直在變化,數了一下, 32位,估計是md5加密

 

 首先,先把apk文件用apktool進行編譯,sh apktool d lejiagu.apk

生成如圖所示文件,我們觀察文件內容信息,發現tencent_stub這個文件,表示的是騰訊的樂加固,現在我們需要脫殼

一般市場上大部分的apk都是有加固的。像騰訊,360,愛幫,很多很多

我們沒必要去破解這些加固的代碼,只需要了解這個流程,hook勾住祝函數代碼就可以了,

脫殼原理:
在殼APK解密源APK后,源APK被加載前,攔截這個過程中的系統函數 把內存中的Dex文件去 dump出來

手動脫殼:
通過動態調試,跟蹤計算Dex源文件的內存偏移地址,從內存中Dump出Dex文件
難度大,寄存器,匯編,反調試,反讀寫
IDA
工具脫殼:
HOOK技術/內存特征尋找
簡單易操作
基於xposed 脫殼工具:
Fdex2:Hook ClassLoader loadClass方法 通用脫殼
dumpDex:https://github.com/WrBug/dumpDex
本次使用Fdex2

現在root后的安卓的機子上安裝xposed,安裝好以后再安裝fdex2,網上安裝包一大堆,自己找

安裝好以后運行fdex2,點擊你需要脫殼的app 會自動生成脫殼后的dex文件,如圖

 

 從新運行此app。脫殼后的dex文件會在圖片上提示的dex輸出目錄里,此時我們需要adb命令進入手機安卓手機(需要usb鏈接電腦)(虛擬機也行),abd用homebrew安裝

執行命令 adb shell進入手機端  su獲取root權限 進入到/data/user/0/com.iCitySuzhou.suzhou001 里面.把文件mv到/scard里面,在使用pull命令將文件復制到電腦上

 

 我們發現了dex文件,現在需要把他移動到sdcard文件夾里面,不移動到里面是無法復制到電腦上到(虛擬機可直接打開文件夾復制)

mv *.dex /sdcard dex文件就幾個此處選擇移動所有dex到/sdcard里面

移動好以后,我們使用 adb pull命令進行復制

adb pull adb pull /sdcard/ /Users/wxy/Desktop/android_section1/ (adb pull無法一起復制多個文件,只能復制文件夾,想偷懶到可以直復制文件夾,省事)

這是復制到電腦上之后的文件

 

 我們將五個dex文件一一打開。找到關鍵的dex,一般的關鍵性的dex都是最大的文件,所以一般選擇最大dex文件進行打開

 

此時我們選擇

text_search 文本搜索

 

 找關鍵參數signature

這時候發現很多,我們一個個的往下找

 

 charels抓包的時候不止signature,還有和他在一起的appversion,sysversion 我們可以找和有這兩個參數在一起的

在這里

 

 

 雙擊點進去

 

找到signature 

 

 發現signature是通過m12059函數進行賦值,而m12059傳入udid 和valueof() 

udid是釘死的,valuof()是個時間戳,用法自己上百度上查

再調用mo293a函數,雙擊m12059a,find useage找到m12059函數,點進去

 

 

發現這個函數返回一個c2387.m11218a值,而"%S&&%S&&%S".format 后面的參數是str,str2,還有固定的字符串,對比前面的函數發現str 是udid str2是valueof 這函數的的參數是將str str2和固定的字符串,三個字符串拼接起來,拼接后的值傳入c2387.m11218a,由此我們可以想到將c2387.m11218a函數打包編譯成jar文件,用pycharm的第三方庫jpype運行該jar(先決條件是此函數沒有導入其他的函數,或者導入的函數較少,不然其他的包都要帶入)

雙擊,find useage打開此函數,  

 

 

呃,看不懂,應該是個md5加密,沒有其他的導入包,整好符合我們的條件

我們將此函數復制放到pycharm 新建一個mysig.java

 

 現將java文件打包成class文件

javac mysig.java

生成mysig.class

后將class文件編譯成jar文件

jar -cvf mysig.jar * 此步驟會將此目錄下所有class文件編譯成jar

編譯完成后我們新建一個python文件,思路:調用jar文件。將三個字符串拼接的值放入傳入jar

 

 結束

參考猿人學

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM