针对 Base64、CRC32、MD5、SHA1 等算法的还原案例
前言 在 Android 逆向分析中,识别和还原标准算法是最基础也最高频的工作。很多时候 APP 使用的并不是自创算法,而是经过轻微伪装的标准算法。本文将通过 Base64、CRC32、MD5、SHA1 四种常见算法的还原案例,讲解如何从 SO 代码中快速识别标准算法,并给出完整的还原思路和实用工具推荐。 Base64 算法的识别与还原 Base64 原理回顾 Base64 是一种将二...
前言 在 Android 逆向分析中,识别和还原标准算法是最基础也最高频的工作。很多时候 APP 使用的并不是自创算法,而是经过轻微伪装的标准算法。本文将通过 Base64、CRC32、MD5、SHA1 四种常见算法的还原案例,讲解如何从 SO 代码中快速识别标准算法,并给出完整的还原思路和实用工具推荐。 Base64 算法的识别与还原 Base64 原理回顾 Base64 是一种将二...
ADVMP 项目介绍 ADVMP(Android Virtual Machine Protection)是一个开源的 Android VMP 实现项目,旨在帮助安全研究人员学习和理解 VMP 的内部原理。与商业 VMP 产品不同,ADVMP 的源码完全公开,代码结构清晰,注释详尽,是学习 VMP 逆向分析的绝佳教材。 为什么要学习 ADVMP VMP 是 Android 逆向领域中最具挑...
Hyperpwn 简介 Hyperpwn 是一款专为 VMP(Virtual Machine Protection)逆向分析设计的 IDA Pro 插件。它提供了一套完整的工具链,用于追踪 VM 的执行流、提取 VM Handler、分析字节码调度逻辑,最终帮助逆向工程师构建 Handler 映射表并还原被保护函数的逻辑。 与手动分析 VM 解释器相比,Hyperpwn 能够大幅提升效率。...
背景:OLLVM 混淆下的 RC4 算法还原 在实际的 Android 逆向工程中,我们经常遇到被 OLLVM(Obfuscator-LLVM)混淆的 Native 函数。OLLVM 不会改变算法的语义,但会极大地扭曲代码的控制流,使得静态分析变得极其困难。本文以 RC4 算法为例,讲解如何在 OLLVM 混淆下还原算法逻辑。 RC4 是一种广泛使用的流加密算法,结构简洁(仅 KSA + ...
VMP 逆向分析的挑战 在上一篇文章中,我们了解了 VMP(Virtual Machine Protection)的基本原理。VMP 将原始的机器指令转换为自定义虚拟机的字节码,由 VM 解释器执行。这意味着被 VMP 保护的函数,在内存中永远不会以原始形式出现,传统的静态分析和内存 Dump 都无法直接获取原始逻辑。 面对 VMP 保护的代码,逆向工程师需要完成两个层面的分析: VM ...
前置准备 在上一篇文章中,我们完成了 Hyperpwn 的安装和基本配置。本文将通过一个实际案例,演示如何使用 Hyperpwn 调试 VMP 保护下的函数,并构建完整的 Handler 映射表。 环境准备 IDA Pro 7.5+(已安装 Hyperpwn 插件) 目标 SO 文件:包含 VMP 保护的 Native 函数 Android 模拟器或真机(用于动态调试) 已知的被保护函...
Android 加壳技术概述 在 Android 逆向分析的领域中,"加壳"是最常见的保护手段之一。所谓加壳,本质上是对原始 DEX 文件或 SO 文件进行加密、压缩或混淆处理,然后在运行时由一个解壳程序(壳)负责将原始代码还原到内存中执行。加壳的目的是提高逆向分析的门槛,保护开发者的知识产权和核心业务逻辑。 随着逆向技术的不断进步,加壳技术也在持续演进。从最初简单的 ...
为什么要定制 ART 在 Android 逆向工程中,反调试(Anti-Debugging)是 APP 最常见的自我保护手段之一。APP 通过各种方式检测自己是否正在被调试,如果检测到调试器的存在,就会采取保护措施(如退出进程、返回错误数据、触发反作弊等)。 常见的反调试手段包括: 检查 TracerPid 字段 检测 ptrace 系统调用 时间差检测 检测调试端口 检测 Frida ...
Capstone、Unicorn、Keystone 工具的介绍 在逆向工程和二进制分析领域,有三个基于同一技术体系的工具经常被配合使用:Capstone(反汇编引擎)、Unicorn(CPU 模拟器)和 Keystone(汇编引擎)。它们三者都基于 QEMU 的相关技术,分别覆盖了二进制分析中"反汇编→模拟执行→汇编"的完整链路。本文将详细介绍这三个工具的定位、功能和使...
Unicorn 工具的入门和实际使用 Unicorn 是一个开源的跨平台 CPU 模拟器框架,基于 QEMU 二进制翻译技术构建,支持 ARM、ARM64、x86、x64、MIPS、PowerPC、SPARC 等多种 CPU 架构。它是逆向工程、安全研究、恶意代码分析等领域中非常重要的工具之一。本文将从基础概念入手,详细介绍 Unicorn 的实际使用方法。 Unicorn 引擎架构 U...