batch_decrypt_strings
Decrypt obfuscated strings in binaries by emulating the target decryption function at each call site and extracting the plaintext results, aiding reverse engineering and deobfuscation.
Instructions
[Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🔐 [批量解密] 批量解密字符串,批量模拟执行并提取结果。专为对抗混淆 (OLLVM) 和自定义算法设计。 核心能力:
自动定位函数引用点,批量回溯模拟。
支持所有架构:通过
instr_size和result_reg适配 ARM64/ARM32/x86。解决栈传参:通过
custom_init注入指令 (如 'wv 0x10 @ 0x178004') 手动修补堆栈。解决内存布局:通过
map_size扩大内存映射范围。 注意:仅适用于纯算法函数,无法模拟 malloc/JNI 等外部系统调用。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| map_size | No | 模拟器内存映射大小。如 果算法引用了远处的数据段,请调大此值。默认为 '0x40000' (256KB)。 | 0x40000 |
| pre_steps | No | 向前回溯的指令条数,用于让 CPU 执行参数准备逻辑。默认为 30。 | |
| instr_size | No | 指令平均字节数。用于计算回溯地址。ARM64=4, ARM32=4(或2), x86=变长(可填平均值3)。默认为 4。 | |
| result_reg | No | 存放结果字符串指针的寄存器。ARM64通常是'x0', ARM32是'r0', x86是'eax'。默认为 'x0'。 | x0 |
| session_id | Yes | 会话 ID | |
| custom_init | No | 【高级插槽】在模拟启动前执行的 R2 命令序列。用于手动初始化栈参数或全局变量。 示例 (x86栈传参): 'wv 0x1234 @ esp+4; wv 0x5678 @ esp+8' 示例 (填充全局变量): 'wx 0xff @ 0x80040' | |
| func_address | Yes | 目标解密函数的地址 (例如 '0x401000') |