< 返回版块

none 发表于 2024-10-11 19:07

构建 release 可执行文件,设置了 strip = true, 符号是去除了,但反编译发现还是有很多第三方 crate 的常量字符串包含了本地的敏感信息,类似这种全路径: /Users/~~~/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/regex-automata-0.4.7/src/util/pool.rs

有没有什么办法把这些也去除了?

评论区

写评论
作者 none 2024-10-12 12:43

多谢,正好解决这个问题

--
👇
Bai-Jinlin: nightly下有方法,https://blog.rust-lang.org/inside-rust/2024/06/19/this-development-cycle-in-cargo-1.80.html#-ztrim-paths

rfc是这个https://rust-lang.github.io/rfcs/3127-trim-paths.html#cargo

Bai-Jinlin 2024-10-12 11:29

nightly下有方法,https://blog.rust-lang.org/inside-rust/2024/06/19/this-development-cycle-in-cargo-1.80.html#-ztrim-paths

rfc是这个https://rust-lang.github.io/rfcs/3127-trim-paths.html#cargo

aj3n 2024-10-11 22:24

当然除了路径,还有可能会泄漏一些环境变量,同理;

aj3n 2024-10-11 22:23

没啥好办法,实践上一般在某个容器/chroot环境构建发布,这样最后也不会泄漏什么重要的路径信息,你可以看看你包管理器(homebrew/pacman/apt..)安装的rust程序。

反正就是开发环境构建的release别直接发布。

1 共 4 条评论, 1 页