1 个不稳定版本
0.1.0 | 2019年9月13日 |
---|
#43 in #场景
46KB
1K SLoC
zenroom_minimal
一个Lua VM的简化绑定,包含默认的加密/编码模块,以及一个内置的适用于构建特定场景执行环境的可读性强的DSL。
动机
zenroom_minimal
是DECODEproject的Zenroom的一个分支。在评估Zenroom时,我们发现尽管安全和加密功能非常灵活,但VM的性能不符合我们高性能/高吞吐量的标准。此外,我们还需要灵活的支持场景逻辑,以便在不同的安全环境中运行,因此诞生了zenroom_minimal
,使用Rust作为模块构建工具,而不是Zenroom的C库。
用法
尽管Zenroom的库可以直接与rlua
Lua环境一起使用。建议您使用zenroom_minimal
的运行环境之一来执行代码,以充分利用VM的强大功能和安全性
默认运行时
默认运行时提供了一个沙箱Lua环境。此Lua环境阻止使用操作系统命令(如时间/文件系统等),并提供了一个import
函数,用于白名单模块。
let res = DefaultRuntime::default()
.load("return 'Hello, world!'")?
.eval()?;
Zenroom运行时
Zenroom运行时利用Zencode通过加载的方案执行可读性保护代码。请参阅examples
了解更多如何使用的信息。
依赖项
~8.5MB
~248K SLoC