#encryption #obfuscation #compile-time #string-literal #litcrypt

litcrypt2

在编译时静态地加密您的字符串

3个版本

使用旧的Rust 2015

0.1.2 2024年1月3日
0.1.1 2023年11月19日
0.1.0 2023年11月14日

#1005过程宏

Download history 46/week @ 2024-03-11 42/week @ 2024-03-18 65/week @ 2024-03-25 103/week @ 2024-04-01 32/week @ 2024-04-08 56/week @ 2024-04-15 59/week @ 2024-04-22 37/week @ 2024-04-29 49/week @ 2024-05-06 63/week @ 2024-05-13 53/week @ 2024-05-20 57/week @ 2024-05-27 87/week @ 2024-06-03 112/week @ 2024-06-10 73/week @ 2024-06-17 65/week @ 2024-06-24

每月 339 次下载
7 库中使用(直接使用6个)

Apache-2.0

17KB
257

LITCRYPT2

它是“文字加密”的简称,是一个Rust过程宏,使用基本XOR方法加密文本。它保护明文免受静态分析工具的侵害,并帮助您的应用程序免受破解活动。

LITCRYPT2在编译时加密字符串,在运行时保持它们在磁盘和内存中的加密状态,仅在需要时解密。

此库是原始库 LITCRYPT 的维护和更新分支,由 Robin Syihab ([email protected]) 创建。

用法

依赖项

[dependencies]
litcrypt2 = "0.1.2"

示例

#[macro_use]
extern crate litcrypt2;

use_litcrypt!();

fn main()
{
    println!("his name is: {}", lc!("Voldemort"));
}

fn raw_string()
{
    println!("The command line console can be found in the path {}", lc!(r"C:\Windows\System32\cmd.exe"));
}

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

依赖项

~265–400KB