4 个版本
0.2.2 | 2021 年 9 月 22 日 |
---|---|
0.2.1 | 2021 年 6 月 2 日 |
0.2.0 | 2021 年 6 月 1 日 |
0.1.0 | 2021 年 4 月 23 日 |
876 在 文件系统 中排名
91,508 每月下载量
35KB
578 行
electron-hardener
A Rust 库和命令行工具,用于强化 Electron 二进制文件以抵御运行时行为修改。
这为强化 Electron 应用程序以抵御一类特定的运行时行为修改提供了一种方法。具体来说,如果一个无特权的进程无法写入应用程序的二进制文件或进程地址空间,那么它不应该能够在运行时改变应用程序的行为。
该库提供了两组功能
- 一个应用程序中熔断器的查看和修改状态的接口,类似于官方的 熔断器包。
- Dimitri Witkowski 创建的 electron-evil-feature-patcher 工具的快速且可配置的替代实现。它所能执行的补丁也都在这个包中公开。有关其工作原理的更多详细信息,请参阅其 README 文件。
使用方法
库
该库提供了一个简单且可配置的接口
use electron_hardener::{ElectronApp, Fuse, NodeJsCommandLineFlag};
let mut app = ElectronApp::from_bytes(&mut application_bytes)?;
app.set_fuse_status(Fuse::RunAsNode, false)?;
app.patch_option(NodeJsCommandLineFlag::Inspect)?;
查看命令行工具的源代码或示例,以了解更多使用方法。
命令行工具
命令行工具提供了与 electron-evil-feature-patcher
相同的功能和接口
electron-hardener ./path/to/packaged/electron/app
安装
库
在项目的 Cargo.toml
文件中
electron_hardener = "0.1"
命令行工具
确保已安装 Rust 编译器,然后运行
cargo install electron-hardener
Electron 兼容性
electron-harder
跟踪 Electron 的最新稳定版本。功能目前已在 Electron 15 的最低版本上进行测试。旧版本可能部分工作,但无法保证。
MSRV
当前支持的最小 Rust 版本是 1.46.0。在需要时将提升到 Rust 的最新稳定版本。
致谢
由1Password团队用❤️制作,特别感谢1Password团队,以及Dimitri Witkowski花费时间和精力发现可以禁用的命令行标志,并最终创建了这个项目的原始工具。
许可证
根据您的选择,许可协议为Apache License, Version 2.0或MIT许可证。除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交的任何贡献,包括但不限于在代码库中包含的贡献,均将按上述方式双许可,不附加任何额外的条款或条件。
依赖项
约2.7–4MB
~66K SLoC