日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android 安全】DEX 加密 ( Application 替换 | Android 应用启动原理 )

發布時間:2025/6/17 Android 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 安全】DEX 加密 ( Application 替换 | Android 应用启动原理 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、Zygote 進程孵化器
  • 二、應用啟動概述



dex 解密時 , 需要將 代理 Application 替換為 真實 Application ; 替換 Application 首先要理解系統如何注冊應用的 Application 的 ;





一、Zygote 進程孵化器



Zygote 進程孵化器 : Android 中的所有的進程 , 如 系統進程 , 應用進程 , SystemServer 進程 , 都是由 Zygote 調用 fork 方法創建的 ;


SystemServer 進程 : Android 手機開機后 , 就會啟動 Zygote 進程 , 并且創建 SystemServer 進程 , SystemServer 進程就是 核心服務 所在進程 , 核心服務如 WindowsManagerService , PowerManagerService , ActivityManagerService 等系統服務 ;


ActivityManagerService 服務 : 簡稱 AMS , 該服務由 SystemServer 啟動 , 其主要功能是 控制四大組件啟動和調度工作 , 控制 應用程序的管理和調度工作 ;





二、應用啟動概述



Android 啟動流程涉及的源碼 :

  • /frameworks/base/core/java/android/app/ActivityThread.java
  • /frameworks/base/core/java/android/app/ApplicationThreadNative.java
  • /frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java

Launcher 應用 ( 系統主界面 ) 中點擊應用圖標 , Launcher 應用會啟動該 app ;


Launcher 應用通過 Instrumentation 經過一系列調用 , 獲取 ActivityManagerService ;


在 ActivityManagerService 中調用 start() 方法 , 首先查看要啟動的應用是否已經存在 ;
如果存在 , 就直接切換到前臺 ;
如果不存在 , 則調用 Process 類 , 通過 Process 類調用 Zygotefork 方法 , 創建一個進程 ;


Zygote 創建新的應用進程后 , 會調用 ActivityThread 的 main 函數 , 在該主函數中 , 會創建 ActivityThread 對象 , 然后啟動 Looper.loop , 無限循環處理消息 ;


在 ActivityThread 中會調用 ActivityThread 對象的 attach 函數 , 在該函數中 , 通過 Binder 機制 , 調用 ActivityManagerProxy 的 attachApplication 方法 ;


之后通過一系列調用 , 通過 Binder 機制調用 ActivityThread 的 bindApplication 方法 , ActivityThread 會向其 Handler 發送 BIND_APPLICATION 消息 , 通過 handleMessage 方法調用 handleBindApplication 方法 , 此時真正的啟動 Application ;


之前研究 UI 繪制流程時 , 看過一段 ActivityThread 繪制相關代碼 , 參考博客 【Android 應用開發】UI繪制流程 ( 生命周期機制 | 布局加載機制 | UI 繪制流程 | 布局測量 | 布局擺放 | 組件繪制 | 瀑布流布局案例 )

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的【Android 安全】DEX 加密 ( Application 替换 | Android 应用启动原理 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。