horou
V2EX  ›  Rust

Rust 编译 Wasm 文本格式的问题

  •  
  •   horou · Nov 21, 2022 · 3736 views
    This topic created in 1448 days ago, the information mentioned may be changed or developed.

    我用 Rust 编译到WebAssembly后,看了一下WebAssembly的文本格式

    发现里面能看到我定义的全局变量的值和函数名称,还有使用的库和库的路径。

    想问一下各位大佬有没有什么办法能够去掉这些,或者让其不明文显示。

    screenshot

    16 replies  •  2023-01-16 15:56:20 +08:00
    0o0O0o0O0o
    0o0O0o0O0o
    Nov 21, 2022 via iPhone
    1
    strip
    horou
    horou
    OP
    Nov 21, 2022
    2
    @0o0O0o0O0o 试过了,没用呃
    dianqk
    dianqk
    Nov 21, 2022 via Android
    3
    看起来是 panic 之类会记录当前的一些信息,不知道转成 abort 有没有帮助?
    GeruzoniAnsasu
    GeruzoniAnsasu
    Nov 21, 2022
    4
    rust 我不懂

    但 c/c++上,想要去掉一切可能暴露本地环境的字符串的方法是,覆盖掉 __file__ __func__ 之类的宏
    araaaa
    araaaa
    Nov 22, 2022 via iPhone
    5
    开启 lto 试试
    GuuJiang
    GuuJiang
    Nov 22, 2022
    6
    --remap-path-prefix
    horou
    horou
    OP
    Nov 22, 2022
    7
    @DianQK 感觉有点像这个问题,但是我加了 panic = "abort" 还是没效果
    horou
    horou
    OP
    Nov 22, 2022
    8
    @araaaa 开启了,没得效果
    horou
    horou
    OP
    Nov 22, 2022
    9
    @GuuJiang 我是用的 wasm-pack 编译的,这个参数该怎么加上去呀,我用 RUSTFLAGS="--remap-path-prefix=" 这种方式加上,没得效果
    lisxour
    lisxour
    Nov 22, 2022❤️1
    10
    @horou RUSTFLAGS="--remap-path-prefix=C:\Users\XXX\.cargo=CARGO_HOME"
    注意只能替换一部分,没法完全去除
    horou
    horou
    OP
    Nov 22, 2022
    11
    @lisxour 谢谢,这种方式可以把用户名的路径隐藏掉, 字符串常量我也用编译混淆的工具解决了,目前就只有这些使用的库的路径还有自己定义的模块名和函数名称还是没办法去掉。
    lisxour
    lisxour
    Nov 23, 2022
    12
    @horou 这个问题 Rust 社区已经反馈很久了,目前来说,后面的部分是无法隐藏的,且没有工具能去除。
    horou
    horou
    OP
    Nov 23, 2022
    13
    @lisxour 可执行的二进制文件倒是可以用 upx 压缩解决,但是不适用 wasm 。
    whoami9894
    whoami9894
    Nov 23, 2022
    14
    cargo -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort build
    horou
    horou
    OP
    Nov 23, 2022
    15
    @whoami9894 感谢,虽然还是没有效果,但是这个 FLAGS 让我编译出来的 wasm 文件大小减少了很多,哈哈
    ginjedoad
    ginjedoad
    Jan 16, 2023
    16
    试试 obfstr
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4018 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 06:03 · PVG 14:03 · LAX 22:03 · JFK 01:03
    ♥ Do have faith in what you're doing.