国产精品资源网在线观看,国产美女主播,国产精品1024,国产一级做a爱片久久毛片a,欧美大片在线,亚洲一区二区三区免费

人工客服

獲取報價

獲取資料

方案定制

項目合作

售后服務

咨詢熱線

400-608-6677 轉810
返回頂部

您的位置:首頁 - 無人機反制

分享一種Andorid資源加載技術

2019-03-25 2418 神州明達-小明

申明,本著技術交流,不喜勿噴
 
此技術可用于App資源加密,資源動態加載,比如so加密替換、jar包替換、res文件替換、dex文件替換。Apk自身權限內所有文件都可通過此技術替換(系統訪問部份除外)。
 
App本質是一個zip壓縮包。
 
Android App中資源大概分為 dex、assert目錄、res目錄、values目錄、lib目錄、以及其它自定義目錄,如下圖:

 
程序訪問asserts目錄時通過AssetManager訪問,多數通過java類訪問。
 
Apk本質是一個zip壓縮包,有的程序也可以通過Fopen/open直接讀取apk(比如某狗music)。
 
這里以Android 4.4.4源碼分析為例:
 
我們簡單看一看Android中resource對象加載資源方式。
 

 
AssetManger.open調用openAsset
 

 
打開4.4.4_r1\frameworks\base\core\jni\android_util_AssetManager.cpp

根據系統源碼openAsset實現在android_content_AssetManager_openAsset
 

 
Android-4.4.4_r1\frameworks\base\libs\androidfw\AssetManager.cpp

openAsset調用AssetManger->open方法
 

 
Assetmanger->open調用openNonAssetInPathLocked

openNonAssetInPathLocked調用openAssetFromZipLocked
 
調用openNonAssetInPathLocked,主要功能獲取操作apk的pzip對象,通過
 

得到ZipFileRO,簡單看下ZipFileRo 成員方法open直接調用libc中的open
 
/frameworks/base/libs/androidfw/ZipFileRO.cpp

 
總結:
 
這里簡單的分析了部份Android資源加載過程,既然知道加載過程,就可以在文件操作上下功夫。例如hook libc中的native相關函數,在其中做加解密過慮操作,就能實現資源加密替換的功能。許多加固廠商會對文件做加密操作,或者對文件做保護,也是通過類似原理。
 
上文中還提到,系統在加載資源的過程中會調用很多函數,從java層到native層,整個過程每個環節都能做加解密。
 
注:此技術可對apk中apk本身所操作所有文件做加解密,不能加密系統訪問的文件。

喜歡
分享
咨詢

評論

全部評論0

神州明達- 為您的信息安全負責
  • 24小時發貨

  • 7天退換貨

  • 1年保修期

  • 免費提供方案

填寫信息,獲取定制方案

友情鏈接: 手機信號屏蔽柜
  • 400-608-6677 轉810    
  • 北京市密云區古北口鎮古御路外街11號
  • postmaster@szmid.com
  • 投訴電話:4006086677轉700

北京神州明達高科技有限公司 備案號:京ICP備12008205號-5    技術支持:神州明達

.
0.075230s