Android 台灣中文網
標題: 解密實例Crackme0201----分析APK檔案 [打印本頁]
作者: fam1001 時間: 2016-3-28 10:22
標題: 解密實例Crackme0201----分析APK檔案
反編譯APK成功後,在outdir目錄下會生成一系列目錄與檔案。
smali:程式所有的反彙編代碼;
res:程式中所有的資源檔案;
如何尋找突破口是分析程式的關鍵。錯誤提示一般是指引關鍵代碼的風向標,錯誤提示附近一般是核心驗證代碼,我們需要閱讀這些代碼來理解軟體的註冊流程。
錯誤提示是安卓中的字符串資源:
1:硬編碼到源碼中;
2:引用自「resvalues"目錄下的string.xml檔案。
apk檔案在打包時,string.xml檔案中的字符串被加密存儲在resources.arsc檔案保存到APK程式包中,APK被反編譯之後這個檔案也被解密出來。
eg:編寫一個安卓程式:
功能:計算用戶名稱與註冊碼是否匹配。
計算方法:使用MD5算法計算這個用戶名稱字符串的hash,將計算所得的結果轉換為長度為32位的十六進制字符串,然後取字符串的所有奇數位重新組合生成新的字符串。此字符串就是最終的註冊碼。將它與傳入的字符串相比較,如果想等,即正確。執行結果如下圖: