我用 Rust 编译到WebAssembly后,看了一下WebAssembly的文本格式
发现里面能看到我定义的全局变量的值和函数名称,还有使用的库和库的路径。
想问一下各位大佬有没有什么办法能够去掉这些,或者让其不明文显示。

|      10o0O0o0O0o      2022-11-21 22:43:29 +08:00 via iPhone strip | 
|  |      2horou OP @0o0O0o0O0o 试过了,没用呃 | 
|  |      3dianqk      2022-11-21 22:56:34 +08:00 via Android 看起来是 panic 之类会记录当前的一些信息,不知道转成 abort 有没有帮助? | 
|      4GeruzoniAnsasu      2022-11-21 23:45:25 +08:00 rust 我不懂 但 c/c++上,想要去掉一切可能暴露本地环境的字符串的方法是,覆盖掉 __file__ __func__ 之类的宏 | 
|  |      5araaaa      2022-11-22 08:01:58 +08:00 via iPhone 开启 lto 试试 | 
|      6GuuJiang      2022-11-22 08:46:06 +08:00 --remap-path-prefix | 
|  |      9horou OP @GuuJiang 我是用的 wasm-pack 编译的,这个参数该怎么加上去呀,我用 RUSTFLAGS="--remap-path-prefix=" 这种方式加上,没得效果 | 
|  |      10lisxour      2022-11-22 17:40:20 +08:00  1 @horou RUSTFLAGS="--remap-path-prefix=C:\Users\XXX\.cargo=CARGO_HOME" 注意只能替换一部分,没法完全去除 | 
|  |      11horou OP @lisxour 谢谢,这种方式可以把用户名的路径隐藏掉, 字符串常量我也用编译混淆的工具解决了,目前就只有这些使用的库的路径还有自己定义的模块名和函数名称还是没办法去掉。 | 
|  |      14whoami9894      2022-11-23 16:33:06 +08:00 cargo -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort build | 
|  |      15horou OP @whoami9894 感谢,虽然还是没有效果,但是这个 FLAGS 让我编译出来的 wasm 文件大小减少了很多,哈哈 | 
|      16ginjedoad      2023-01-16 15:56:20 +08:00 试试 obfstr |