REA 工件检查快速上手:用 5 个工具完成 asar、IPA 和资源目录的盘点与提取
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
刚拿到一个 Electron 的 app.asar 或者 iOS 的 IPA,想知道里面有什么,又不想手动解压弄乱工作区?REA(Reverse Engineer Anything)是一个开源的代理式逆向工程工具,它的工件检查能力把目录、ZIP、ASAR 等各类打包产物统一成只读视图,不用解开压缩包就能"摸清家底",需要落盘时再安全提取。下面按你实际干活的路径,带你把 5 个工具一次讲清。
一条命令摸清 asar 里有什么,不用解压
流程从inspect-artifact开始。它对目标做一次只读清点:原文件一个字节都不碰,直接内联返回完整的工件图和发现项。你可以把它理解成一份清单——每个条目都有路径、类型、大小、可执行位、加密标记和校验和,看完基本就知道要不要继续深挖。
rea inspect-artifact ./app.asar --json | jq . > inspection.json五个工具共用同一组读取器,格式边界声明在 ArtifactReader.ts:
- 目录(含 .app、.bundle)
- ZIP 系列:ZIP、APK、IPA、MSIX、AppX
- Electron ASAR
- macOS DMG(在 macOS 上走只读挂载)
- Mach-O 切片与单个文件
命令名统一注册在 cliCommandNames.ts。
需要落盘时:IPA 里的可执行文件怎么安全提取
盘点完,如果要把 IPA 里的可执行文件交给别的分析器,再跑extract-artifact。它的几条约束都有明确的安全动机:
- 零参数:不接受任何路径,直接对当前已打开的工件目标操作
- 落盘位置你选不了:由 REA 自己挑一个全新的临时目录写入
- 边界写得很清楚:符号链接和加密条目只作为清点事实留在结果里,不会被提取,落盘后"少东西"不必慌
实现见 ArtifactExtraction.ts。DMG 类目标在 macOS 上自动走只读挂载,完成后自行清理,不需要额外的审批参数。
深挖 macOS 资源:把三块"黑盒"变成能读的结构
落盘之后往往要查具体格式,REA 为 macOS 资源档案备了三件专用工具(注册逻辑见 artifactCommands.ts):
decode-interface-builder:把 .app 里编译后的 storyboard / nib 档案解回可读的视图结构,"界面长什么样、有哪些视图"一看便知inspect-asset-catalog:读取 Assets.car 等编译资源目录的元数据记录,支持--offset与--limit分页,默认 1000 条、上限 10000 条inspect-keyed-archive:把 Foundation keyed 档案当作一张对象引用图来展开,可以指定$top根,偏移与上限默认 20000 条
避坑清单:跑之前记住这几条
- 检查不等于提取:
inspect-artifact不写盘,真正拿文件必须显式跑一次extract-artifact - 分页不是无限的:资源目录和 keyed 档案命令都有 offset/limit 上限,超出会返回结构化的限制项,而不是悄悄截断
- 退出码约定(cli.md):
0操作完成(结果可能带警告);1未完成(无效输入、权限、取消或超时);128+N被信号 N 终止。管道处理时记得开pipefail,别让下游格式化器吞掉失败状态
图本身的构建逻辑在 ArtifactGraphConstruction.ts,五连工具都建立在它之上。
收尾口诀
全程只读优先、证据先行:先用inspect-artifact摸一遍家底 → 需要文件时用extract-artifact落盘 → 最后拿资源目录三件套深挖。这个顺序走下来,工件检查与提取的常见场景就都覆盖了。
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考