PalmDevs/covalent
GitHub: PalmDevs/covalent
一个优雅的 React Native Android 应用修改框架,支持自定义 Hermes 字节码注入和 JS 与原生层双向通信。
Stars: 9 | Forks: 1
Covalent
An elegant Android modification framework for React Native apps.
## 功能 **已实现** - **运行自定义 Hermes 字节码**:在应用自身的字节码运行之前运行 - **双向通信**:允许自定义 JS 与原生层进行通信,反之亦然,无需使用脆弱的 C++ 钩子。[更多详情请见此处](./app/src/main/kotlin/me/palmdevs/covalent/tweaks/CovalentBridgeSupport.kt)。 - **强制开启 React Native DevSupport**:未捕获错误时显示 LogBox,支持双击 R 重载,保持与打包器的连接 - **使用 C++ 进行原生 Hook**:JSI 运行时可访问,但比较脆弱,容易因应用不同或时间推移而失效。 - React DevTools 支持 - **编译自定义脚本**:使用 [Rolldown](https://rolldown.rs) 和 Hermes Compiler (hermesc) **计划中** - 从网络加载自定义脚本 - 用于快速重载脚本的开发服务器 - 用于启用/禁用功能和修改设置的设置页面 - **Catalyst**:JS 工具,Metro 模块发现,Hook 函数,修改 UI 等。 **不在计划内** - **React Native DevTools 支持**:需要重新编译 Hermes 库并进行替换以暴露 Chrome DevTools 协议。这超出了本项目的范围,但我有兴趣对此进行研究。 - **iOS 支持**:虽然可行,但我没有资源在 iOS 上进行开发和测试。不过,如果有人有兴趣开发,我将非常乐意接受针对 iOS 的贡献。 - **Hermes V1 (Static Hermes) 支持**:这完全超出了本项目的范围。 ## 文档 在框架更加稳定并拥有更多功能之前,暂不编写文档。 如果你有 Android 开发背景,应该很容易理解项目结构。 但无论你的经验如何,如果你遇到了困难,请随时提问。 ## 目的 受 [Revenge](https://github.com/revenge-mod) 及其前辈作品的启发,我想创建一个简单但强大的框架来修改*任何* React Native 应用。 但这很难。React Native 变化很大,而且每个应用都不同。因此,我打算将此框架作为其他开发者构建的基础,并使其尽可能灵活。 ## 许可证 Covalent 将始终保持开源并免费使用。 由于 Covalent 基于 [Revenge](https://github.com/revenge-mod) 的先前作品,因此它也采用 [GPL-3.0 许可证](./LICENSE) 进行授权。标签:Android开发, DevTools, Hermes字节码, Hook技术, JSI桥接, Kotlin, React Native, Runtime Enforcement, 云资产清单, 动态注入, 原生交互, 安卓修改框架, 数据可视化, 模块化开发, 目录枚举, 移动安全, 移动应用安全, 逆向工程