构建 release 可执行文件,设置了 strip = true, 符号是去除了,但反编译发现还是有很多第三方 crate 的常量字符串包含了本地的敏感信息,类似这种全路径: /Users/~~~/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/regex-automata-0.4.7/src/util/pool.rs
有没有什么办法把这些也去除了?
1
共 4 条评论, 1 页
评论区
写评论多谢,正好解决这个问题
--
👇
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
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
当然除了路径,还有可能会泄漏一些环境变量,同理;
没啥好办法,实践上一般在某个容器/chroot环境构建发布,这样最后也不会泄漏什么重要的路径信息,你可以看看你包管理器(homebrew/pacman/apt..)安装的rust程序。
反正就是开发环境构建的release别直接发布。