3 个不稳定版本
使用旧的 Rust 2015
0.3.0 | 2021年9月10日 |
---|---|
0.2.1 | 2021年2月4日 |
0.2.0 | 2021年2月4日 |
#19 in #encrypted
3,042 每月下载量
用于 bolus
13KB
169 行
LITCRYPT
它来自“Literal Encryption”,是一个用于使用简单的“XOR”算法加密文本字面量的Rust proc宏。
LITCRYPT 允许您在二进制文件中无缝隐藏静态字符串字面量,并保护您的应用程序免受非法破解活动的侵害。
LITCRYPT 通过在编译时加密字符串字面量来实现,加密的字符串在运行时仍然保持加密状态,直到使用。
用法
依赖关系
[dependencies]
litcrypt = "0.3"
示例
#[macro_use]
extern crate litcrypt;
use_litcrypt!();
fn main(){
println!("his name is: {}", lc!("Voldemort"));
}
use_litcrypt!
宏调用应在初始化之后进行,以便您可以使用 lc!
宏函数。第一个参数是用于加密字面字符串的密钥。此密钥也已被加密,并且不会在静态分析器中可见。
请注意,您需要在使用环境变量 LITCRYPT_ENCRYPT_KEY
设置您的加密密钥之前编译:例如
$ export LITCRYPT_ENCRYPT_KEY="myverysuperdupermegaultrasecretkey"
Litcrypt 将加密 lc!
内部写入的每个字符串。
使用 strings
命令检查输出二进制文件以进行验证
$ strings target/debug/my_valuable_app | grep Voldemort
如果输出为空白,则您的应用程序中的宝贵字符串就安全了,不会受到类似Hexeditor等静态分析工具的侵害。
有关示例代码,请参阅 ./examples
目录,并使用以下方式测试
$ cargo run --example simple
[] Robin.
依赖关系
~83KB