REA keyed archive解码指南:不实例化类也能安全读取二进制plist
REA keyed archive解码指南不实例化类也能安全读取二进制plist【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/reaREA的inspect_keyed_archive能力可以解码 macOS / iOS 应用中的keyed archiveNSKeyedArchiver 归档直接读懂二进制 plistbplist00与 XML plist 中序列化的对象图。它全程不实例化任何归档类只观察类名、序列化字段和引用关系因此对未知、私有甚至已被删除的类也安全可用。为什么普通方式读不了二进制plistmodel.plist、Info.plist这类文件其实是Foundation 二进制 plist格式文件头是bplist00魔数。当其中是一个keyed archive时结构大致是$archiver标记归档器为NSKeyedArchiver$objects一张对象表每个对象用索引互相引用$top根对象入口比如root、UID等命名根传统做法是用目标平台运行时NSKeyedUnarchiver反序列化但那要求类真实存在并可以被实例化——分析攻击者应用时这几乎不可能也可能执行恶意代码。REA 的解码思路把归档当成数据而非程序REA 的核心策略在 keyedArchive.ts 里先解析成纯数据。KeyedArchiveReader.ts 用 8 字节魔数判断binary-plist还是xml-plist调用 plist 库把字节解析为 JSON 结构XML 版本还会校验 BOM 与声明编码是否一致。只识别 UID 指针不执行任何类。UID 在二进制中表现为单键字典{UID: n}XML 中为{CF$UID: n}所有引用都被投影成带source / target / path / status的边状态可以是resolved、nil、unresolved、malformed。保留原始索引身份。每个对象的id就是$objects中的原始下标共享引用与循环引用因此能被完整还原——同一个对象被多处引用时输出里是同一个id而不是递归展开的副本。未知类原样保留。对象带$class时归类为archived-object状态标记为unknown-class类名来自$classname类描述符照常报告但从不调用、不构造这些类。这就是不实例化类的含义归档里的ReaArchiveRecord哪怕在分析机器上不存在你依然能看到它的字段、引用和生命周期。一键解码CLI 与 MCP 两种入口CLI 命令只有一个rea inspect-keyed-archive plist文件命令注册见 cliCommandNames.tsMCP 工具名对应inspect_keyed_archive。针对已激活的应用包第二个参数传包内相对路径即可例如rea inspect-keyed-archive app Resources/model.plist常用参数参数说明root只投影某个$top命名根如UID省略则返回全部根offset/limit对$objects对象表分页默认每页 20000 条保留原始索引pathMCP 场景下的包内相对路径必须是规范相对路径完整参数与结果契约定义在 keyedArchive.ts 的输入 schema 中文档说明见 native-investigation.md。结果长什么样返回一份 JSON 图关键字段roots$top命名根objects逐条对象id、kind、class_name、status、原始valuereferences所有 UID 引用边含resolved / nil / unresolved / malformed状态archive_sha256归档文件摘要保证证据可追溯limitations明确声明类从未被实例化类特有语义未知等边界官方端到端验证 keyed-archive.mjs 用 Swift 构造了一个带自引用循环的ReaArchiveRecord归档断言输出中target_classes_instantiated_by_reader: false同时验证共享身份、分页next_offset、XML 转换后图等价——你可以把这套 fixture 当作行为基准。安全边界为什么它不炸这个实现把分析当作不可信输入处理64 MiB 输入上限超过直接拒绝KeyedArchiveReader.ts20 万对象 / 20 万引用 / 128 层嵌套硬限制防恶意构造的归档拖垮解析路径校验禁止..、.、绝对路径且不跟随符号链接发现NIBArchive魔数会明确报错提示改用decode_interface_builder——编译后的 NIB 是另一种格式见 InterfaceBuilderAnalysis.ts一句话总结你把一个不可信的 plist 交给 REA得到的是可审计的对象图与证据摘要而不是一个可能跑起来的目标类。这正是从应用行为到原生二进制这条逆向链路里静态证据与运行时观察严格分离的设计哲学。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

气象城市代码全解析:从编码原理到天气数据接口实战

气象城市代码全解析:从编码原理到天气数据接口实战

1. 从一个实际需求说起:为什么要折腾城市代码做数据采集或者天气类应用开发的朋友,大概率都遇到过这样一个场景:想从公开气象服务平台上拉取某个城市的实时天气、七天预报或者历史数据,结果发现接口里根本传不了“北京”“上海”这…

2026/10/12 15:05:57 阅读更多 →
iOS NSData与Data二进制数据处理:桥接、零拷贝与避坑指南

iOS NSData与Data二进制数据处理:桥接、零拷贝与避坑指南

简介:这份资源是面向iOS开发者的NSData实战源码包,适合已掌握Objective-C基础、希望深入理解Foundation框架数据处理的初中级开发者。内容围绕NSData的典型用法展开,涵盖二进制数据存储、文件读写、JSON序列化与归档、Base64编码转换、图片数…

2026/10/12 1:45:54 阅读更多 →
React组件写法全指南:函数组件、类组件、HOC与自定义Hook

React组件写法全指南:函数组件、类组件、HOC与自定义Hook

如果你写过 React,一定会发现一个很有意思的现象:同样一个“按钮组件”,有的同事用函数组件写,有的用类组件写,有人套了一层高阶组件,有人又把逻辑抽成了自定义 Hook。组件创建的“姿势”实在太多了&#x…

2026/10/11 22:49:01 阅读更多 →

最新新闻

AI写作成本怎么降?率零降流程拆解与批量生产实操指南

AI写作成本怎么降?率零降流程拆解与批量生产实操指南

第一次看到“率零降AI教程”这个说法的时候,我第一反应是标题党。市面上号称白菜价的AI写作课太多了,点进去基本都是把公开提示词换个包装,真正能落地的东西少得可怜。后来被一个做内容代运营的朋友拉着一起跑了整套流程,才明白标…

2026/10/13 12:20:16 阅读更多 →
Tye 多仓库(Multirepo)编排:跨仓库引用 tye.yaml 与 Git 依赖的完整指南

Tye 多仓库(Multirepo)编排:跨仓库引用 tye.yaml 与 Git 依赖的完整指南

开发工具微服务云原生CLI 【免费下载链接】tye Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to …

2026/10/13 12:20:16 阅读更多 →
抖音无水印批量下载完整指南:从单个视频到直播的四类实战场景

抖音无水印批量下载完整指南:从单个视频到直播的四类实战场景

抖音无水印批量下载完整指南:从单个视频到直播的四类实战场景 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…

2026/10/13 12:20:16 阅读更多 →
机械硬盘异响排查与修复:西数Data Lifeguard检测全攻略

机械硬盘异响排查与修复:西数Data Lifeguard检测全攻略

半夜三更,机箱里突然传来一声清脆的“咔哒”,紧接着又是几声,你瞬间从椅子上坐直,脑子里闪过四个字:硬盘完了。说真的,凡是用过机械硬盘的人,多少都被这种声音吓过。尤其是西部数据的盘&#xf…

2026/10/13 12:20:16 阅读更多 →
Flutter鸿蒙适配实践:Skia渲染引擎原理与踩坑指南

Flutter鸿蒙适配实践:Skia渲染引擎原理与踩坑指南

去年我在一家中厂做跨端基建,内部有个工具必须跑在同一套自研终端上,顺手把 Flutter 也编译了过去。当时没想太多,以为换个 SDK、改个入口就完了,结果被渲染链路里一个引擎逼着啃了整整两周,那个引擎就是 Skia 渲染引擎…

2026/10/13 12:20:16 阅读更多 →
Linux终端复用工具 screen 详解:SSH断线任务不丢失

Linux终端复用工具 screen 详解:SSH断线任务不丢失

1. 没有screen之前,远程任务是怎么丢的 1.1 一次断网事故的复盘 先交代一个我自己的翻车现场。前几年有一次在服务器上跑一个数据迁移任务,大概要跑两三个小时,文件数量几十万个,我直接用SSH连着服务器,前台执行脚本&…

2026/10/13 12:19:15 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →