ReArk
lkimuk/ReArk加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
拿到一个同事发来的 .hap 安装包,想知道它到底在后台做了什么。你需要:解包看目录结构、反编译字节码找关键函数、翻字符串表定位接口、检查签名证书是否被篡改,最好还能把它装到真机上跑一遍看日志。整个流程在传统工具里意味着在 JADX、jadx-gui、apktool、IDA、Apktool 签名工具之间来回切换,每个工具的数据不互通,分析结论只能靠人脑拼接。
ReArk 想做的事就是:把这些能力收进一个工作台,再在上面加一个能对话的 Agent——你问"这个 App 的入口逻辑在哪",它自己去翻反编译产物、搜字符串、追交叉引用,最后给你带证据链的答案。

图:ReArk 启动页,顶部平铺展示了它支持的包格式矩阵(HarmonyOS HAP/APP/ABC、Android APK/AAB、iOS IPA,以及独立 PE/ELF/Mach-O)。
ReArk 由 lkimuk 开发,2026 年 5 月底建仓,到 10 月 26 日已发布到 v1.2.0,五个月内从 0.1 迭代到 1.2,节奏很密。仓库当前 746 star、134 fork、7 个 open issue,代码库 232 个文件,主语言 C++,采用 Apache-2.0 许可证。
值得注意的是它的定位:HarmonyOS NEXT 的专用逆向工具非常稀缺,社区现有的 Android 工具链(jadx、apktool)在 ArkTS/ABC 字节码面前基本失灵,HarmonyOS 的 .hap/.app/.abc 格式、鸿蒙签名体系、HDC 调试链路都需要单独实现。ReArk 选择从这条细分赛道切入,再横向扩展到 Android、iOS 和原生二进制。
另一个值得留意的设计是:作者同时把真机调试链路做进去了——HDC(鸿蒙)、ADB(安卓)设备发现、安装、启动、截图、UI 节点树读取、实时屏幕镜像、鼠标键盘控制。这让"静态分析"和"运行时验证"第一次能在同一个工作区闭环。
如果把 ReArk 想象成一个"逆向工程实验室":
包解析层面覆盖 HarmonyOS .hap/.app/.abc、Android .apk/.aab、iOS .ipa;原生层直接打开 Windows PE、ELF、Mach-O 静态库和可执行文件。原生分析里有一组安全缓解措施检查:ASLR、DEP/NX、PIE、RELRO、栈保护 canary、CFG——这套清单对做漏洞研究的团队价值很高。

这是整个项目最有辨识度的部分。从源码可见 Agent 的工具集被完整枚举出来:
read_abc_tree、read_abc_literal、search_abc_strings、find_abc_xrefs、find_abc_call_argument_flows、analyze_abc_reference_flow、inspect_entry_pointsinspect_app_files、list_files、read_source、read_disassembly、search_loaded_content、read_signature_summary、summarize_current_targetlist_harmony_devices、install_current_hap、start_harmony_app、capture_device_screenshot、dump_ui_layout、read_device_file、read_hilog、clear_hilog、input_ui_text、press_device_keyrun_analysis_script、read_python_session、clear_python_session、read_agent_scratchpad
这里的设计有两个细节很见功力:其一,AgentRequestRouter.cpp 里有一套意图分类器,把"帮我分析一下""这个包的入口逻辑在哪""哪里用了这个字符串"这类自然语言(含中英文双份关键词表)路由到对应的静态分析、设备运行时或轻量闲聊分支,甚至能识别"你说得不对,正确口令是 X"这类纠错反馈并触发重算;其二,工具调用与 Python 脚本执行走审批流程(approval flows),不是无脑自动执行。
模型接入层(AgentSettings.cpp)抽象了统一的 Provider 注册表,默认走 OpenRouter + openai/gpt-4o-mini,也内置了 OpenAI、Anthropic(claude-3-5-sonnet)、Gemini(gemini-1.5-pro)、DeepSeek、阿里 DashScope/Qwen,以及本地 Ollama(默认 qwen2.5-coder:7b)。API Key 从环境变量或加密存储(ProtectedSettingsSecret)读取,不落明文配置。这是 HarmonyOS 特有的能力,也是普通逆向工具覆盖不到的地方:支持签名材料检查、重新签名、重新打包。仓库内置了 hap-sign-tool.jar 和 app_packing_tool.jar,配合 plugin/hdc/hdc.exe 实现设备链路。

屏幕镜像支持全屏与分离窗口两种模式,配合截图、UI 节点树读取、日志抓取,形成"改包→装机→跑→看日志→再分析"的闭环。
这是典型的桌面 GUI 应用,不是 Web 服务,使用门槛体现在另一维度:
hyle(REQUIRED,HyleDecompiler 反编译核心,约 8 万行 C++)和 wuwe(可选,Agent 运行时,提供 LLM Provider 注册表与受控执行后端)。CMakeLists 里的默认路径甚至硬编码了作者本机的 D:/MilesLi/hyle/install/hyle。这意味着完整 Agent 能力无法仅靠开源仓库复现。qt_standard_project_setup、Qt Linguist 做了中英双语(resources/translations/reark_zh_CN.ts)、Inno Setup(installer/ReArk.iss)打包、CI 里跑 RunInstallSamplesSmoke.ps1 做样本安装冒烟测试。src/tests 下 14 个 CTest 用例,覆盖 ABC 证据导出、Agent 提示词契约(AgentPromptContractTest)、请求路由、HDC 后端、签名器、包重写、样本安装冒烟等。密度在开源桌面项目里算中上,但没有覆盖率报告。不回避问题,这个项目有几处客观局限:
ReArk 折射出开源安全工具的两个趋势合流:一是国产平台(HarmonyOS)需要自己的逆向基础设施,Android 工具链无法平移,这是国产安全研究者填补工具缺口的典型样本;二是 AI Agent 正从"聊天界面"下沉到"专业工具链"——它不只回答问题,而是带着工具去操作领域数据,这一点比通用 AI 助手更接近真正的生产力。 从增长曲线看,五个月 746 star、85 次提交、5 个正式版本,对一个 C++ 桌面工具而言是相当健康的关注度;开源鸿蒙工具链整体仍是洼地,这类高质量填坑项目的传播价值会持续放大。 对团队的实际建议:如果需要处理鸿蒙包或做 ABC 字节码层面的工作,ReArk 值得装一台试用;如果要做自动化流水线,注意它的两个核心组件闭源、且目前没有 CLI/服务端形态,自动化改造空间有限。