Skip to main content

Crate lib_unknown

Crate lib_unknown 

Source
Expand description

§lib-unknown

专为极简环境与安全研究设计的高隐蔽性底层 Rust 原语库

Crates.io Downloads Documentation License

lib-unknown 是一个纯 Rust 实现的 no_std 无依赖底层工具库。它脱离了对标准库及 libc 的依赖,旨在为对抗性安全评估框架、控制客户端及高隐秘性代码执行环境提供无符号特征、抗分析、轻量化的核心底层支撑。


§目录


§核心能力

模块表面功能
sys裸 Syscall & 动态 API 解析
rand硬件时间戳熵源
crypto实验性流密码与数据搅拌
types自清零定容 Stack/Heap 容器
dyntest动态编译与内存运行 Harness

§快速开始

在 Cargo.toml 中引入:

[dependencies]
lib-unknown = { version = "0.1.2", default-features = false, features = ["sys", "rand", "rand-expand", "types"] }

§示例


use lib_unknown::rand::{probe, seed, next, fill_bytes, random_range};
use lib_unknown::types::bytes::StackBytes;

fn main() {
    // 1. 硬件时间戳探针
    let t1 = probe();
    let t2 = probe();
    let delta = t2.wrapping_sub(t1);

    // 2. 混合多熵源种子生成
    let entropy_seed = seed();

    // 3. 热路径随机数生成 
    let random_val = next();

    // 4. 区间采样
    let sleep_ms = random_range(1000u32..5000u32);

    // 5. 批量填充字节
    let mut key_buf = [0u8; 32];
    fill_bytes(&mut key_buf);
}

§API 预览与模块设计

lib_unknown
├── sys       — 裸 syscall0~6,PEB/EAT 动态导出表解析,绕过 Hook 的底层调用
├── rand      — 硬件微架构 (RDTSC) 探针,无 OS API 依赖的熵源生成与环境感知
├── crypto    — 非标准混淆与实验性雪崩搅拌,用于消除数据静态特征
├── types     — 栈/堆上防转储容器 (StackBytes/StackStr), Drop 时强行覆写擦除
└── dyntest   — (std-only) 动态代码块编译与内存执行 Harness,用于验证内存加载器

§典型应用场景

§适用场景

  • 红队工具开发:需要体积极小、无第三方库依赖、静态特征极低的轻量级载荷。
  • 反逆向与高强度保护:在不使用重量级 VM 加壳的前提下,提供隐秘的 API 解析、对抗性时序校验和内存清理。
  • 裸机 / 无 OS 评估环境:无法依赖 libc 或标准操作系统服务的嵌入式/安全测试场景。

§特性标志

本库采用高度模块化的 Feature 切分,允许按需引入以实现最小化二进制体积(Bloat-free):

Feature说明
sys启用直接系统调用与动态符号解析
rand启用硬件级微架构熵源生成器
types启用用后即焚的内存安全容器(StackBytes / StackStr)
crypto启用用于特征消除的混淆与流密码原语
std / alloc显式开启堆支持

§平台与环境支持

  • 架构/系统:x86_64 / AArch64 (Linux, Windows, macOS, Android)
  • 运行环境:完全支持 no_std,可直接作为独立 Payload 或 Reflective DLL 的核心依赖。
  • 编译时安全性:所有底层裸指针及内联汇编均封装在显式的 unsafe 隔离层中,确保上层调用的内存安全。

§开源协议

本项目基于 MIT License 协议开源。

Modules§

cryptocrypto
自研密码原语(实验性质,非审计算法):SBox 混合(mix64)、轻量哈希与 mse/imse 流密码(base)。
dyntestdyntest
动态编译运行 harness(仅开发期使用):将代码片段生成临时 Cargo 工程并编译执行,支持超时、批量与缓存(DnyRun / BatchRunner)。
randrand
硬件熵随机数:时间戳熵源(probe)、重播种(seed)与热路径输出(next),另含区间采样与 fill_bytes(rand-expand)。
syssys
系统接口:裸系统调用(syscall)、Unix 动态符号解析(unix,类 Unix)、Windows DLL 解析(win,Windows)。
typestypes
定容安全内存类型:字节容器(bytes)与 UTF-8 字符串容器(str),搬运/销毁时清零残留。