本仓库包含在 REcon 2024 的 逆向 Rust 二进制文件:超越字符串的一步 研讨会 上使用的补充文件,该研讨会于 2024 年 6 月 28 日举行。
在演示过程中,我们将构建并逆向一个非常简单的 Rust 二进制文件——一个良性下载器。该下载器的源代码位于本仓库的 simple-downloader/ 文件夹中。
请阅读下方内容,了解研讨会前的设置说明!
为了便于设置,您可以下载一个预配置的 Ubuntu 虚拟机,其中包含以下所有内容:
rust-analyzer 扩展(用于自动补全和文档提示)simple-downloader/ 文件夹中的代码simple-downloader 二进制文件预构建 Linux 版本的 Ghidra 项目您可以在此处下载虚拟机文件(.OVA 文件):https://drive.google.com/file/d/1pM1MwQf4Ccjt-KokbV1RFh8C9tv48jrt/view?usp=sharing
然后,您可以将此 OVA 文件导入到您的虚拟机软件中(例如 VMware Workstation、VMWare Fusion、VirtualBox 等)。
虚拟机上的主账户用户名为 user,密码为 user。
如果您希望在自己的机器上舒适地参加这个研讨会,您需要以下内容:
https://sh.rustup.rs/rustup-init.sh);不过,该代码也很容易适配 Windows。simple-downloader 二进制文件若干预构建 Linux 版本的 Ghidra 项目:prebuilt-files/rust-reversing-workshop-2024_2024_05_17.garsimple-downloader 二进制文件也可单独获取:
官方的工具链设置说明位于 https://rustup.rs/。请按照那里的说明操作;该页面将显示针对您操作系统的具体说明。
安装后,请检查您能否运行新安装的 rustup 和 cargo 工具:
$ rustup --version
rustup 1.27.0 (bbb9276d2 2024-03-08)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.77.1 (7cf61ebde 2024-03-27)`
$ cargo --version
cargo 1.77.1 (e52e36006 2024-03-26)
本次研讨会将使用 Rust 1.77.1 版本,因此请安装该版本,并将您的工具链切换为该版本作为所有构建的默认版本:
rustup install 1.77.1
rustup default 1.77.1
如果您在 Windows 或 macOS 上构建,则可以跳过此步骤。
如果您在 Linux 上构建:此构建的部分内容依赖于 gcc、ld、pkg-config 和 OpenSSL 开发头文件。在 Ubuntu 上,您可以使用以下命令安装这些组件:
sudo apt install build-essential
sudo apt install pkg-config
sudo apt install libssl-dev