首页
社区
课程
招聘
[原创]AI时代免费工具:用通义灵码和MCP工具构建逆向分析工作流
发表于: 2025-12-8 16:00 2125

[原创]AI时代免费工具:用通义灵码和MCP工具构建逆向分析工作流

2025-12-8 16:00
2125

大模型对我而言,最重要的是学习效率的提升,因此免费的大模型资源对学习者来说很有性价比;


本文采用:

VScode+通义灵码


如果工作需要的话还是建议:

Cursor+ChatGPT 5.1/Gemini 3 Pro




目录

idapromcp333是IDA Pro MCP智能逆向分析平台的增强版,基于mrexodia/ida-pro-mcp二次开发。该工具通过MCP(Model Context Protocol)协议将IDA Pro与各类AI助手(如通义灵码、Cursor、Cline等)无缝集成,实现全自动智能化的二进制逆向分析。

核心功能

JEB MCP是为JEB Pro反编译器开发的MCP服务器插件,专门用于APK逆向工程。它允许AI助手通过自然语言指令调用JEB的强大反编译功能,实现Android应用的智能化分析。

核心功能

Small Detector是一款专为检验Android应用签名校验机制强度设计的安全检测工具。该APK通过模拟真实攻击场景,对目标应用的签名检测逻辑进行压力测试,帮助开发者评估其防护方案的有效性。

样本链接:https://bbs.kanxue.com/thread-288235.htm

核心检测维度

本报告将针对以上三种检测机制进行深度技术分析,并提供相应的Frida绕过方案。


随便打包查看界面如下:


使用ai编写的脚本hook后界面如下


RootCheck、HookCheck、SignatureCheck检测机制分析与绕过方案

# RootCheck类完整分析报告


## 类概述


RootCheck类是该Android应用中负责检测设备是否已root的核心类。该类通过多种检测手段来判断设备的root状态,是应用安全防护体系的重要组成部分。


## 类结构信息


### 包名和导入

```java

package io.calvin.det.work;

```


### 类定义

```java

public final class RootCheck

```


### 主要字段

- `PKG_RE`: Pattern类型,用于匹配包名的正则表达式

- `ROOT_BINARIES`: String数组,存储常见的root二进制文件路径

- `message`: String类型,存储检测结果消息

- `sb`: StringBuffer类型,用于构建消息字符串

- `status`: boolean类型,表示检测状态


## 方法详细分析


### 1. is_system_rw() 方法

- **类型**: private final native boolean

- **功能**: 检测/system分区是否以读写模式挂载

- **检测原理**: 在标准Android系统中,/system分区通常以只读模式挂载以确保系统安全。如果该分区被重新挂载为读写模式,可能意味着设备已被root。

- **技术实现**: 通过读取/proc/mounts文件或其他系统文件检查/system分区的挂载选项。


### 2. isFileExists(String) 方法

- **类型**: private final native boolean

- **功能**: 检查指定路径的文件是否存在

- **检测原理**: 检查系统中是否存在常见的root工具相关文件,如su二进制文件、Superuser应用等。

- **技术实现**: 接收文件路径作为参数,通过系统调用检查文件存在性。


### 3. checkBinary() 方法

- **类型**: private final native boolean

- **功能**: 检测root二进制文件

- **检测原理**: 检查系统关键目录中是否存在root相关的二进制文件。

- **技术实现**: 遍历预定义的root二进制文件路径列表,检查文件是否存在。


### 4. checkMounts() 方法

- **类型**: private final native boolean

- **功能**: 检测文件系统挂载点状态

- **检测原理**: 检查关键系统目录的挂载状态,判断是否存在异常挂载。

- **技术实现**: 通过系统调用检查挂载点信息。


### 5. isDeviceRooted(Context) 方法

- **类型**: public final native boolean

- **功能**: 综合判断设备是否已root

- **检测原理**: 整合多种检测方法的结果,给出最终的root检测结论。

- **技术实现**: 调用其他检测方法,综合评估设备root状态。


### 6. checkProp() 方法

- **类型**: private final native boolean

- **功能**: 检查系统属性

- **检测原理**: 检查系统属性中是否包含root相关的标识。


### 7. checkHiddenApps(Context) 方法

- **类型**: private final native boolean

- **功能**: 检查隐藏应用

- **检测原理**: 检测是否存在隐藏的root相关应用。


### 8. getProp(String) 方法

- **类型**: public final native String

- **功能**: 获取系统属性值

- **检测原理**: 通过系统API获取指定属性的值。


### 9. execShell(String) 方法

- **类型**: private final native List<String>

- **功能**: 执行shell命令

- **检测原理**: 通过执行shell命令来检测root环境。


### 10. getMessage() 方法

- **类型**: public final native String

- **功能**: 获取检测结果消息

- **检测原理**: 返回最近一次检测的结果消息。


## Native层实现分析


通过IDA Pro分析,RootCheck类的native方法具有以下特点:


1. **代码混淆**: 大量使用控制流混淆和算术混淆技术

2. **间接调用**: 通过复杂的地址计算实现函数调用

3. **栈保护**: 使用TPIDR_EL0寄存器实现栈保护机制

4. **标准库调用**: 调用memset等标准库函数进行内存操作

# HookCheck 类分析报告


## 1. 方法基本信息


### 1.1 Java_io_calvin_det_work_HookCheck_hookCheck

- **地址**: 0x00000000000C25B8

- **大小**: 0xa30 (2608字节)

- **功能推测**: 检测设备是否被Hook框架劫持,如Xposed、Substrate等

- **反编译代码分析**:

  - 函数初始化了大量的局部变量和字符串资源

  - 调用了多个系统级API进行检测

  - 最终返回检测结果


### 1.2 Java_io_calvin_det_work_HookCheck_svcHookCheck

- **地址**: 0x00000000000C8384

- **大小**: 0x64 (100字节)

- **功能推测**: 通过系统调用(SVC)方式检测Hook框架

- **反编译代码分析**:

  - 直接调用底层函数进行检测

  - 返回值与1进行按位与操作,返回布尔值


## 2. 关键Frida Hook信息


### 2.1 Hook地址

- hookCheck方法: 0xc25b8

- svcHookCheck方法: 0xc8384


### 2.2 调用方式

- hookCheck: Java层通过JNI调用Native函数`Java_io_calvin_det_work_HookCheck_hookCheck`

- svcHookCheck: Java层通过JNI调用Native函数`Java_io_calvin_det_work_HookCheck_svcHookCheck`


### 2.3 绕过方法

- 对于hookCheck方法,可以通过拦截其返回值并始终返回0或空字符串来绕过

- 对于svcHookCheck方法,可以通过拦截其返回值并始终返回false(0)来绕过


## 3. 分析总结


HookCheck类主要用于检测设备上是否存在Hook框架,它采用了两种不同的检测方式:

1. 基于常规API调用的检测(`hookCheck`)

2. 基于系统调用的检测(`svcHookCheck`)


[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!

最后于 2025-12-8 21:27 被审判者虔诚编辑 ,原因: 修改内容
上传的附件:
收藏
免费 62
支持
分享
最新回复 (52)
雪    币: 7234
活跃值: (23703)
能力值: ( LV12,RANK:550 )
在线值:
发帖
回帖
粉丝
2
看看
2025-12-8 16:17
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
看看
2025-12-8 16:31
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
看看
2025-12-8 17:20
0
雪    币: 3024
活跃值: (3864)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
过来瞧瞧
2025-12-8 18:47
0
雪    币: 789
活跃值: (717)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
Bw
6
666
2025-12-8 19:11
0
雪    币: 3248
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
666
2025-12-8 19:23
0
雪    币: 60
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
111
2025-12-8 22:03
0
雪    币: 48
活跃值: (222)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
过来瞅瞅
2025-12-8 22:53
0
雪    币: 105
活跃值: (2247)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
666666
2025-12-8 23:12
0
雪    币: 608
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
有时候AI能气死人,有时候又很有用
2025-12-8 23:32
0
雪    币: 230
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
看看隐藏,谢谢大佬
2025-12-9 10:42
0
雪    币: 133
活跃值: (763)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
看看
2025-12-9 14:10
0
雪    币: 30
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14
666
2025-12-9 16:27
0
雪    币: 406
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
6666666
2025-12-9 23:12
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
2025-12-10 08:29
0
雪    币: 543
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
看看内容
2025-12-10 09:06
0
雪    币: 758
活跃值: (163)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
2025-12-10 09:35
0
雪    币: 160
活跃值: (1571)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
有时候AI能气死人
2025-12-10 17:38
0
雪    币: 378
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
666
2025-12-10 18:02
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
66666
2025-12-10 18:34
0
雪    币: 58
活跃值: (2245)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
22
888
2025-12-10 18:37
0
雪    币: 335
活跃值: (5654)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
这个厉害了 
2025-12-10 20:05
0
雪    币: 260
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
11
2025-12-10 20:37
0
雪    币: 5213
活跃值: (3169)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
25
感谢分享!
2025-12-10 21:05
0
游客
登录 | 注册 方可回帖
返回