愛加密企業版靜態脫殼機編寫


0x00:APK加固簡介

  •    大家都知道Android中的程序反編譯比較簡單,辛苦開發出一個APK輕易被人反編譯了,所以現在就有很多APK加固的第三方平台,比如愛加密和梆梆加固、360加固等。
  •  一般的加固保護通常能夠提供如下保護:加密、防逆向、防篡改、反調試、反竊取等功能。

0x01:愛加密流程簡單分析(dalvik)

0x02:殼運行流程大致如下:

0x03:愛加密企業版加固后Apk反編譯如下

從上圖可以看到方法指令都被抽走了 。

0x04:靜態脫殼機編寫

加殼時將方法指令抽走后自定義格式加密存放在assets/ijiami.ajm文件中,通過IDA動態調試分析發現每個被抽走的方法的debuginfo值改成0X3F開始的8字節大不的值,該值在還原時做為Map的KEY。

還原后的結構大致如下:

殼還原指令時流程如下:

  • 寫靜態脫殼機須要還原解密算法,它的數據又做了多重加密所以要還原多個算法,其實算法本身並不復雜,但愛加密殼做了混淆,所以比較難找有用的指令,還原后的其中一個算法如下:
  • 0x05:測試與總結

    • 將解密后的指令填充到DEX后能正常反編譯出源代碼。
    • OLLVM混淆后的代碼分析起來目前對於我個人來說有兩個難點:
    • 1.很難理清程序流程邏輯。
    • 2.還原算法時不好提取出有用的代碼。
    • 代碼與樣本下載:鏈接: https://pan.baidu.com/s/1slsBYxf 密碼: 87xa


免責聲明!

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



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