在 Rust 中,可以通过手动控制导出来实现仅通过索引(序数)导出 DLL 函数的功能。以下是具体方法和完整步骤:
解决方案
通过结合 .def 文件(模块定义文件)和 MSVC 链接器参数来实现函数名隐藏,只暴露序数编号。
具体步骤
1. 创建 Rust 动态库项目
在 Cargo.toml 中配置 cdylib 类型:
[lib]
crate-type = ["cdylib"]
2. 编写 Rust 函数
使用 #[no_mangle] 和 extern "C" 定义导出函数:
// src/lib.rs
#[no_mangle]
pub extern "C" fn secret_function1() -> i32 {
42
}
#[no_mangle]
pub extern "C" fn secret_function2(x: i32
Rust实现仅通过索引导出DLL函数

最低0.47元/天 解锁文章
1036

被折叠的 条评论
为什么被折叠?



