原创 Android ART invoke 代碼生成

前言 在前面 SandHook 系列我們知道 ArtMethod 入口替換並不能覆蓋所有的方法,而且這個問題比預想的嚴重的多的多。 而導致 Hook 不到的原因不僅僅是 inline 優化,在 Android O 之前 Inlin

原创 SandHook 第四彈,Android Q 支持 & Hidden API & Inline 的特別處理

SandHook 目前支持 4.4 - 10.0 32/64 bit 支持 Xposed API Github: https://github.com/ganyao114/SandHook Android Q 支持 Hidden

原创 SandHook 第三彈 - 性能優化 & Xposed 模塊 & 阻止 VM Inline

簡介 前面有提到過 SandHook 需要手動寫一個 Hook 方法作爲 Hook 的入口,所以想要兼容 Xposed Callback 式 API 就必須憑空生成一個 Hook 方法來轉發 Xposed Callback 邏輯。

原创 SandHook 之 Native Inline Hook

簡介 在 SandHook ART Hook 穩定之後,抽空把 Native Inline Hook 實現了,雖然有重複造輪子的嫌疑,但確實是本人一行一行碼出來的,基本所有的東西都是自己實現的。 Github: https://g

原创 Android ART Hook & 注入實現細節

author: Swift Gan title: Android ART Hook date: 2019/04/01 SandHook Android Art Hook Swift Gan Agenda 簡介 ART Invok

原创 SandHook 第四彈,Android Q 支持 & Inline 的特別處理

SandHook 目前支持 4.4 - 10.0 32/64 bit 支持 Xposed API Github: https://github.com/ganyao114/SandHook Android Q 支持 Hidden Ap

原创 SandHook 第三彈 - 性能優化 & Xposed 模塊

簡介 前面有提到過 SandHook 需要手動寫一個 Hook 方法作爲 Hook 的入口,所以想要兼容 Xposed Callback 式 API 就必須憑空生成一個 Hook 方法來轉發 Xposed Callback 邏輯。 所

原创 SandHook 第二彈 - Xposed API 兼容 & 指令檢查 & 進程注入

Xposed API 兼容 由於 SandHook 需要手動寫一個簽名與目標方法相同的 Hook 方法,如果想把 API 包裝成類 Xposed 的 Callback 式 API 是比較困難的,首先參數列表的解析就需要另外實現。 Ep

原创 Android ART Hook 實現 - SandHook

簡介 Github: https://github.com/ganyao114/SandHook 關於 Hook,一直是比較小衆的需求。本人公司有在做 Android Sandbox(類似 VA),算是比較依賴 Hook 的產品,好在

原创 OS虛擬內存管理 - Zircon(ARM64)

前言 虛擬內存是通用計算機處理器中 MMU 單元所帶來的特性,這也是能否運行通用操作系統的關鍵。類似 Cortex-M 系列的嵌入式CPU是沒有 MMU 的,so 只能跑一些 RT 微內核。 下文所分析的 Zircon 內核原本是 G

原创 Android ART hook 框架 YAHFA 的 Bug 修復以及改進建議

YAHFA 目前簡單找了一下 Android 上的 ART Hook Epic 和 YAHFA 較爲流行,支持的版本也比較好 5.0 - 9.0,所以看了一下 YAHFA 源碼並且跑了一下 demo。 Bug 使用中發現在 5.0 -

原创 Zircon - Fuchsia 內核分析 - 啓動(內核初始化)

簡介 前面已經介紹了 Zircon 內核啓動的彙編代碼部分,主要是一些 CPU 的初始化。 現在 prime CPU 已經來到了 C 世界的 lk_main() 函數 其他 CPU 也來到了 arm64_secondary_entry

原创 Zircon - Fuchsia 內核分析 - 啓動(平臺初始化)

簡介 Zircon 是 Google 新操作系統 Fuchsia 的內核,基於 LK - Little Kernel 演變而來。而 Little Kernel 前面一直作爲 Android 系統的 Bootloader 的核心而存在。

原创 Fuchsia - 簡析

原文地址:https://blog.csdn.net/ganyao939543405/article/details/85017520 一點猜測 Fuchsia 是爲了取代 Android 的嗎? 我覺得不是的,因爲現在 Androi

原创 Fuchsia - 編譯及運行

Fuchsia 的編譯及運行是非常簡單的,至少在 Mac 上如此,中間沒有出現任何討厭的錯誤 獲取源碼 首先需要安裝 Homebrew,這個隨便百度 xcode-select --install 安裝最新 xcode,近期的版本也可