【Android 逆向】加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )
生活随笔
收集整理的這篇文章主要介紹了
【Android 逆向】加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 一、加殼特征識別
- 1、函數(shù)抽取 與 Native 化加殼的區(qū)分
- 2、VMP 加殼與 Dex2C 加殼的區(qū)分
一、加殼特征識別
1、函數(shù)抽取 與 Native 化加殼的區(qū)分
函數(shù)抽取 與 Native 化加殼的區(qū)別 :
- 函數(shù)抽取 : 沒有將函數(shù) Java 代碼轉為 Native 代碼 , 函數(shù)體無效 ;
- VMP 加殼 : 將函數(shù) Java 代碼轉為 Native 代碼 ;
- Dex2C 加殼 : 將函數(shù) Java 代碼轉為 Native 代碼 ;
如果函數(shù)是 非 Native 函數(shù) , 并且 函數(shù)體 無效 , 說明這是 函數(shù)抽取 加殼 ;
如果函數(shù)是 Native 函數(shù) , 說明這是 VMP 加殼 或者 Dex2C 加殼 ;
2、VMP 加殼與 Dex2C 加殼的區(qū)分
VMP 殼的核心原理是 Dalvik 解釋器 , 對于每個 VMP 保護的函數(shù)來說 , 都有一個 VMP 解釋器 ; 只有一個解釋器 , 所有的函數(shù)共享這個解釋器 ; 這樣就導致了 每個函數(shù)的邏輯都很相似 ;
函數(shù)的注冊地址相同 ;
Dex2C 殼對每個 Java 函數(shù)進行詞法句法分析 , 生成對應的 C 代碼 , 然后編譯成 so 動態(tài)庫 , 每個函數(shù)的內容都是不同的 ;
函數(shù)的注冊地址不同 ;
VMP 加殼與 Dex2C 加殼的區(qū)分 :
-
函數(shù)的 注冊地址相同 , 并且 函數(shù)邏輯相似 , 則使用的是 VMP 加殼 ;
-
函數(shù)的 注冊地址不同 , 并且 函數(shù)邏輯不相似 , 則使用的是 Dex2C 加殼 ;
總結
以上是生活随笔為你收集整理的【Android 逆向】加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 逆向】加壳技术简介 (
- 下一篇: 【Android 逆向】整体加固脱壳 (