跳转到帖子

逆向工程 主要用于分析 App 的加密逻辑、安全机制、通信协议、代码结构 等,通常包括 反编译、代码注入、Hook 调试 等方式。

1. 反编译与代码分析

📌 目标:获取应用代码,分析逻辑,寻找漏洞点。

🔹 安卓(Android)常用工具

Jadx / JADX-GUI:将 APK 反编译成 Java 代码。

apktool:反编译 APK 资源文件(XML、Smali 代码)。

smali/baksmali:将 Dex 转换为可读的 Smali 汇编代码。


🔹 iOS(iPhone)常用工具

Hopper / IDA Pro:用于反汇编 iOS 应用(ARM 指令集)。

class-dump / obfuscator:导出 iOS 应用的类结构。

Frida / Cycript:动态 Hook iOS 进程,分析函数调用。


2. 动态调试 & Hook

📌 目标:拦截 App 的运行逻辑,修改数据,绕过安全校验。

🔹 安卓(Android)常用工具

Frida:Hook App 运行中的 API 调用,修改数据。

Xposed 框架:插桩 Hook 系统函数,注入自定义代码。

Android Emulator:在模拟器环境下调试应用,修改数据流。

🔹 iOS(iPhone)常用工具

Frida + objection:Hook iOS 进程,绕过指纹、越狱检测。

LLDB 调试:分析应用内存结构,修改关键变量。


🔹 常见绕过点

绕过 Root/越狱检测(通过 Hook isRooted() 或 jailbreakCheck())。

绕过 SSL Pinning(拦截 HTTPS 请求,查看明文数据)。

修改支付验证逻辑(Hook isPaymentSuccess() 直接返回成功)。


二、App 渗透测试手段

渗透测试 主要针对 API 接口、身份认证、加密存储、网络通信 等方面,寻找漏洞并利用。

1. API 接口测试

📌 目标:测试后端接口的安全性,寻找未授权访问、SQL 注入等漏洞。

🔹 常见问题

API 未授权访问(越权漏洞,低权限用户可调用高权限 API)。

RESTful API 参数篡改(修改 user_id 访问他人账户)。

GraphQL API 漏洞(introspection 启用,可查看所有 API 结构)。

🔹 常用工具

Burp Suite:拦截并修改 API 请求,测试参数漏洞。

Postman:手动测试 API 调用,分析数据交互。

JWT.io:解析并篡改 JWT 认证 Token,测试鉴权机制。


2. 数据存储安全

📌 目标:寻找存储在本地的敏感数据,如密码、Token、加密密钥。

🔹 安卓数据存储

SharedPreferences(明文存储 Token,易被提取)。

SQLite 数据库(可能包含用户信息、聊天记录)。

KeyStore(加密存储 Token,但可能被 Root 绕过)。

🔹 iOS 数据存储

NSUserDefaults(可能包含敏感信息)。

Keychain(存储密码和 Token,但可被 Hook 读取)。

🔹 常用测试工具

adb shell / SQLite3(安卓环境中读取数据库)。

iFunBox / iExplorer(导出 iOS App 沙盒数据)。

Frida + dumpKeychain(导出 iOS Keychain 中存储的数据)。


3. 网络通信抓包 & SSL Pinning 绕过

📌 目标:拦截应用网络请求,获取明文数据,分析加密逻辑。

🔹 常见攻击方式

中间人攻击(MITM):劫持 HTTPS 流量,解密通信数据。

SSL Pinning 绕过:通过 Hook 修改证书校验逻辑,使抓包工具可拦截 HTTPS。

流量回放(Replay Attack):捕获 API 请求并重放,测试支付或身份认证漏洞。

🔹 常用工具

Burp Suite + MitM Proxy(拦截 HTTPS 流量)。

tcpdump / Wireshark(抓取网络数据包)。

Frida SSL Bypass 脚本(绕过 SSL Pinning 机制)。