<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>进阶主题 - 逆向工程 Cookbook</title><link>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/</link><description>Android 与 Web 逆向工程实战手册</description><generator>Hugo 0.147.7 &amp; FixIt v0.4.0-alpha.3-20251224074056-4fec1cda</generator><language>zh-CN</language><managingEditor>overkazaf@gmail.com (+5)</managingEditor><webMaster>overkazaf@gmail.com (+5)</webMaster><lastBuildDate>Thu, 02 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/index.xml" rel="self" type="application/rss+xml"/><item><title>构建最小化 Android 系统 (RootFS) 指南</title><link>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/minimal_android_rootfs/</link><pubDate>Thu, 02 Oct 2025 00:00:00 +0000</pubDate><author>overkazaf@gmail.com (+5)</author><guid>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/minimal_android_rootfs/</guid><description>&lt;h1 class="heading-element" id="构建最小化-android-系统-rootfs-指南">&lt;span>构建最小化 Android 系统 (RootFS) 指南&lt;/span>
 &lt;a href="#%e6%9e%84%e5%bb%ba%e6%9c%80%e5%b0%8f%e5%8c%96-android-%e7%b3%bb%e7%bb%9f-rootfs-%e6%8c%87%e5%8d%97" class="heading-mark">
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h1>&lt;p>构建一个完整的 AOSP (Android Open Source Project) 耗时巨大且对硬件要求苛刻。而构建一个最小化的 Android RootFS (Root File System) 是一个能让我们深刻理解 Android 启动流程和核心组件的绝佳实践。其目标是创建一个仅包含最基本组件、能够引导 Linux 内核并最终启动一个交互式 Shell 的系统。&lt;/p></description></item><item><title>Magisk 与 LSPosed 技术原理</title><link>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/magisk_lsposed_internals/</link><pubDate>Thu, 25 Sep 2025 00:00:00 +0000</pubDate><author>overkazaf@gmail.com (+5)</author><guid>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/magisk_lsposed_internals/</guid><description>&lt;h1 class="heading-element" id="magisk-与-lsposed-技术原理">&lt;span>Magisk 与 LSPosed 技术原理&lt;/span>
 &lt;a href="#magisk-%e4%b8%8e-lsposed-%e6%8a%80%e6%9c%af%e5%8e%9f%e7%90%86" class="heading-mark">
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h1>&lt;p>Magisk 和 LSPosed 是 Android 平台上最流行的 Root 和 Hook 解决方案。本文深入分析其技术实现原理，帮助理解现代 Android 系统修改技术的核心机制。&lt;/p></description></item><item><title>AOSP 与 Android 系统裁剪</title><link>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/aosp_and_system_customization/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate><author>overkazaf@gmail.com (+5)</author><guid>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/aosp_and_system_customization/</guid><description>&lt;h1 class="heading-element" id="aosp-与-android-系统裁剪">&lt;span>AOSP 与 Android 系统裁剪&lt;/span>
 &lt;a href="#aosp-%e4%b8%8e-android-%e7%b3%bb%e7%bb%9f%e8%a3%81%e5%89%aa" class="heading-mark">
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h1>&lt;p>Android 开源项目（AOSP）是 Android 操作系统的开源基础。能够编译和修改 AOSP 是进行深度系统级定制、安全研究和 ROM 开发的核心技能。本节将介绍 AOSP 的基本概念、编译流程以及常见的系统裁剪技术。&lt;/p></description></item><item><title>基于 AOSP 的深度改机技术指南</title><link>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/aosp_device_modification/</link><pubDate>Wed, 30 Apr 2025 00:00:00 +0000</pubDate><author>overkazaf@gmail.com (+5)</author><guid>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/aosp_device_modification/</guid><description>&lt;h1 class="heading-element" id="基于-aosp-的深度改机技术指南">&lt;span>基于 AOSP 的深度改机技术指南&lt;/span>
 &lt;a href="#%e5%9f%ba%e4%ba%8e-aosp-%e7%9a%84%e6%b7%b1%e5%ba%a6%e6%94%b9%e6%9c%ba%e6%8a%80%e6%9c%af%e6%8c%87%e5%8d%97" class="heading-mark">
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h1>&lt;p>在 Android 安全和逆向工程领域，&amp;ldquo;改机&amp;quot;指的是修改设备的各种硬件和软件标识符，以绕过应用程序的安全检测或实现隐私保护。虽然使用 Xposed 或 Frida 等 Hook 框架可以在应用层实现改机，但这些方法容易被检测。&lt;strong>基于 AOSP (Android Open Source Project) 源码进行修改，是从系统层面伪造设备指纹的终极手段&lt;/strong>，因为 App 获取到的信息是由系统本身&amp;quot;真实&amp;quot;地提供的。&lt;/p></description></item><item><title>Android 沙箱技术与实现指南</title><link>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/android_sandbox_implementation/</link><pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate><author>overkazaf@gmail.com (+5)</author><guid>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/android_sandbox_implementation/</guid><description>&lt;h1 class="heading-element" id="android-沙箱技术与实现指南">&lt;span>Android 沙箱技术与实现指南&lt;/span>
 &lt;a href="#android-%e6%b2%99%e7%ae%b1%e6%8a%80%e6%9c%af%e4%b8%8e%e5%ae%9e%e7%8e%b0%e6%8c%87%e5%8d%97" class="heading-mark">
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h1>&lt;p>Android 沙箱技术，通常也被称为&amp;quot;虚拟化引擎&amp;quot;或&amp;quot;App 多开框架&amp;quot;，是一种在单个 Android 设备上创建隔离环境以运行其他应用程序的技术。它允许一个&amp;quot;宿主&amp;quot;应用程序在自己的进程空间内加载并运行一个&amp;quot;插件&amp;quot;应用程序，同时对插件应用的所有系统交互进行拦截和管理。&lt;/p></description></item><item><title>SO 文件反调试与字符串混淆技术</title><link>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/so_anti_debugging_and_obfuscation/</link><pubDate>Fri, 25 Apr 2025 00:00:00 +0000</pubDate><author>overkazaf@gmail.com (+5)</author><guid>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/so_anti_debugging_and_obfuscation/</guid><description>&lt;h1 class="heading-element" id="so-文件反调试与字符串混淆技术">&lt;span>SO 文件反调试与字符串混淆技术&lt;/span>
 &lt;a href="#so-%e6%96%87%e4%bb%b6%e5%8f%8d%e8%b0%83%e8%af%95%e4%b8%8e%e5%ad%97%e7%ac%a6%e4%b8%b2%e6%b7%b7%e6%b7%86%e6%8a%80%e6%9c%af" class="heading-mark">
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h1>&lt;p>在 Android Native 层安全对抗中，SO 文件是实现高强度保护的重要载体。通过 init_array 机制、字符串混淆和反调试技术的组合使用，可以显著提高逆向分析的难度。本文将深入分析这些技术的实现原理及对应的分析绕过方法。&lt;/p></description></item><item><title>SO 运行时仿真技术</title><link>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/so_runtime_emulation/</link><pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate><author>overkazaf@gmail.com (+5)</author><guid>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/so_runtime_emulation/</guid><description>&lt;h1 class="heading-element" id="so-运行时仿真技术">&lt;span>SO 运行时仿真技术&lt;/span>
 &lt;a href="#so-%e8%bf%90%e8%a1%8c%e6%97%b6%e4%bb%bf%e7%9c%9f%e6%8a%80%e6%9c%af" class="heading-mark">
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h1>&lt;p>在高级 Android 逆向工程中，我们经常需要自动化地调用 SO 文件中的加密、签名或校验函数。然而，在真实的设备上通过 Frida Hook 来做这件事，不仅效率低下，而且容易受到反调试和环境检测的阻碍。&lt;/p></description></item><item><title>花指令与 OLLVM 混淆技术深度解析</title><link>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/junk_code_and_ollvm_obfuscation/</link><pubDate>Tue, 14 Jan 2025 00:00:00 +0000</pubDate><author>overkazaf@gmail.com (+5)</author><guid>https://overkazaf.github.io/reverse_engineering/android/04-reference/advanced/junk_code_and_ollvm_obfuscation/</guid><description>&lt;h1 class="heading-element" id="花指令与-ollvm-混淆技术深度解析">&lt;span>花指令与 OLLVM 混淆技术深度解析&lt;/span>
 &lt;a href="#%e8%8a%b1%e6%8c%87%e4%bb%a4%e4%b8%8e-ollvm-%e6%b7%b7%e6%b7%86%e6%8a%80%e6%9c%af%e6%b7%b1%e5%ba%a6%e8%a7%a3%e6%9e%90" class="heading-mark">
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h1>&lt;p>在 Android Native 层逆向分析中，花指令（Junk Code）和 OLLVM（Obfuscator-LLVM）是两种最常见的代码混淆技术。花指令通过插入无意义的指令干扰反汇编器，而 OLLVM 则在编译阶段对控制流和数据流进行深度混淆。本文将深入分析这两种技术的原理、识别方法和去混淆策略。&lt;/p></description></item></channel></rss>