樂固反編譯
㈠ 【移動安全】騰訊樂固對apk文件加固失敗
樂固官方問題描述模板:
1、小德通+com.idcvideo.xiaodetong【重要】
2、安卓6.0手機,進入應用頁面後,載入業務so庫後應用閃退【非常重要】
3、安卓6.0手機非必現(如需要登錄,提供登錄賬號)【非常重要】
4、765871277(最好是QQ 方便溝通 快速解決問題)【重要】
5、目前只有加固後的apk(至少要提供加固後的apk)【非常重要】
6、日誌文件見附件【重要】
7、問題復現環境:華為手機 MAL-AL10 安卓6.0 【非常重要】
樂固加固前後的apk包內。對比後很明顯的看到,classes.dex文件,大小已經發生了很大的變化。同時多出了tencent_stub文件。猜測,classes.dex包是編譯後的Android可執行,運行時載入。在65536個方法時,Mulitudex我們都是知道的,之前看《2018美團技術年報》,美團移動團隊用python篩選方法,將常用方法放到一個dex文件中,減少ART切換dex的頻率。
騰訊的樂固加固,大概是在dex文件中插入tencent_stub引用,同時對原dex內部的方法進行篡改,避免dex2-jar的反編譯。這個做法的風險,就是動態載入失敗。我覺得是這樣,Android6.0是ART轉正的版本,業務的so庫在Android6.0機子出現問題。不加固的包沒有so庫問題。
另外說下樂固對簽名的處理,我不認為樂固真的如簡介中說,只在本地運行簽名。我認為是有後台長傳雲端的,只是做的比較隱秘。
加固後啟動崩潰,可查詢應用加固後是否重簽名並且與加固前簽名保持一致。
——如何查看apk的簽名信息?安裝好java,並配置環境變數。在cmd中執行:keytool -printcert -jarfile *.apk即可看到apk的簽名MD5欄位信息。確認加固前後apk的簽名信息是否一致。
移動應用安全MS 2019/7/31 18:20:44
提供下復現的操作步驟哈,例如是否需要登錄,登錄後如何操作,點擊哪步出現閃退
您使用的是免費版樂固嗎?目前免費版樂固不支持實時人工服務,您的問題和信息會提交技術測試並定位,但是需要排期解決的
您自查過加固後簽名信息與加固前保持一致了么?
——如何查看apk的簽名信息?安裝好java,並配置環境變數。在cmd中執行:keytool -printcert -jarfile *.apk即可看到apk的簽名MD5欄位信息。確認加固前後apk的簽名信息是否一致。