分享 so分析脚本

[复制链接]
查看1081 | 回复5 | 2025-8-9 06:34:14 来自手机 | 显示全部楼层 |阅读模式

立即注册,突破游客限制,与技术大牛交流切磋,畅享海量资源,让你的技术之路不再孤单!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
这是一个完整的 Frida 脚本,它同时支持三种日志输出方式:控制台输出、Frida 的 `send/recv` 机制、以及本地文件存储。每种输出方式都可以独立配置启用或禁用
### 三合一输出系统详解

#### 1. **控制台输出**
   - **启用方式**:`ENABLE_CONSOLE_OUTPUT = true`
   - **输出格式**:可读的文本格式
   - **特点**:
     - 实时显示在控制台
     - 适合调试和即时查看
     - 包含颜色高亮和格式化文本
   - **示例输出**:
     ```
     [12:34:56.789] [T:12345] [0x00001234] ldr x0, [x1] | MEM[0x7fcd4a3e10]=0xdeadbeef
        Call Stack:
          #0 asm_get_hwid @ libtrusted.so+0x1234
     ```

#### 2. **Frida send/recv 输出**
   - **启用方式**:`ENABLE_FRIDA_OUTPUT = true`
   - **输出格式**:JSON 格式
   - **特点**:
     - 适合远程监控和自动化处理
     - 可通过 Python 脚本接收并处理
     - 包含完整的结构化数据
   - **接收端 Python 示例**:
     ```python
     import frida
     
     def on_message(message, data):
         if message['type'] == 'send':
             payload = message['payload']
             if payload.get('type') == 'log':
                 print("Received:", payload)
     
     device = frida.get_usb_device()
     pid = device.spawn(["com.example.app"])
     session = device.attach(pid)
     script = session.create_script(open("asm_tracer.js").read())
     script.on('message', on_message)
     script.load()
     device.resume(pid)
     ```

#### 3. **本地文件输出**
   - **启用方式**:`ENABLE_FILE_OUTPUT = true`
   - **输出路径**:`/sdcard/frida_logs/asm_trace.log`
   - **输出格式**:双格式(文本和 JSON 混合)
   - **特点**:
     - 持久化存储
     - 包含文件头和文件尾信息
     - 自动创建目录和文件
   - **文件内容示例**:
     ```
     === Frida Assembly Trace Log ===
     Start Time: Fri Aug 08 2023 12:34:56 GMT+0800
     Target: libtrusted.so
     Trace Mode: Function: asm_get_hwid
     
     {"type":"instruction","address":"0x7fcd4a1234","instruction":{...}}
     [12:34:56.789] [T:12345] [0x00001234] ldr x0, [x1]
     ```

### 配置选项说明

```javascript
// 日志目标配置
const ENABLE_CONSOLE_OUTPUT = true;   // 控制台输出
const ENABLE_FRIDA_OUTPUT = true;     // Frida send/recv 输出
const ENABLE_FILE_OUTPUT = true;      // 本地文件输出

// 文件输出配置
const LOG_DIR = "/sdcard/frida_logs/"; // 日志目录
const LOG_FILENAME = "asm_trace.log";  // 日志文件名

// 监控配置
const TARGET_LIB = "libtrusted.so";   // 目标 so 文件
const TRACE_ALL = false;              // 是否监控整个 so
const FUNC_TO_TRACE = "asm_get_hwid"; // 目标函数名

// 日志内容配置
const LOG_SYSCALL = true;             // 记录系统调用
const LOG_MEM_ACCESS = true;          // 记录内存访问
const LOG_REGISTERS = false;          // 记录完整寄存器
```

### 高级功能

1. **智能路径处理**:
   - 自动创建日志目录(如果不存在)
   - 处理 Android 文件系统权限问题
   - 缓冲写入优化文件 I/O 性能

2. **结构化日志**:
   - 事件日志(函数进入/退出)
   - 状态日志(监控开始/结束)
   - 指令日志(详细执行信息)

3. **错误处理**:
   - 文件操作错误捕获
   - 格式错误处理
   - 符号缺失处理

4. **性能优化**:
   - 缓冲刷新机制
   - 选择性寄存器记录
   - 轻量级系统调用映射

### 使用说明

1. **配置输出目标**:
   ```javascript
   const ENABLE_CONSOLE_OUTPUT = true;  // 启用控制台
   const ENABLE_FRIDA_OUTPUT = false;   // 禁用 Frida 输出
   const ENABLE_FILE_OUTPUT = true;     // 启用文件输出
   ```

2. **配置监控目标**:
   ```javascript
   const TARGET_LIB = "libtarget.so";
   const FUNC_TO_TRACE = "sensitive_function";
   ```

3. **运行脚本**:
   ```bash
   frida -U -f com.example.app -l asm_tracer_multi.js
   ```

4. **查看输出**:
   - 控制台:直接查看 Frida 输出
   - 文件:`adb shell cat /sdcard/frida_logs/asm_trace.log`
   - Frida 输出:使用 Python 脚本接收

### 输出路径说明

1. **控制台输出**:
   - 直接显示在运行 Frida 的控制台
   - 不需要额外路径

2. **Frida send/recv 输出**:
   - 通过 Frida 消息通道传输
   - 接收端自行决定存储位置

3. **本地文件输出**:
   - 默认路径:`/sdcard/frida_logs/asm_trace.log`
   - 可通过修改 `LOG_DIR` 和 `LOG_FILENAME` 自定义路径
   - 文件位置可通过 ADB 访问:
     ```bash
     adb shell ls /sdcard/frida_logs/
     adb pull /sdcard/frida_logs/asm_trace.log
     ```

这个脚本提供了全面的日志输出方案,可以根据需要灵活配置输出目标,满足从实时调试到离线分析的各种需求场景。

so分析脚本.zip

4.45 KB, 下载次数: 118

1

这个人还没有签名
logic | 2025-8-9 12:30:39 来自手机 | 显示全部楼层
感谢分享
这个人还没有签名
Poonshinglam | 2025-8-14 08:55:14 | 显示全部楼层
强无敌
这个人还没有签名
Poonshinglam | 2025-8-15 03:05:48 | 显示全部楼层
下载不到,没有节点呢
这个人还没有签名
qaz1110 | 2025-8-25 16:23:19 | 显示全部楼层
脚本你们执行 不报异常?  主监控逻辑那里
这个人还没有签名
112233445566 | 2025-11-24 13:32:51 来自手机 | 显示全部楼层
Poonshinglam 发表于 2025-8-14 08:55
强无敌

大佬用什么软件执行
这个人还没有签名
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文推荐
大神求
大神求
6 天前
热门排行