Panopticon 项目已迁移至 Gitlab,并重组为多个 crate。Qt GUI 已被 Verso 替代。 我会合并拉取请求,但不会再对此版本进行实质性工作。下方大多数链接已失效。

Panopticon 是一个使用 Rust 编写的跨平台逆向工程反汇编器。它支持 AMD64、x86、AVR 和 MOS 6502 指令集,并能打开 ELF 文件。Panopticon 自带 Qt GUI,用于浏览和注释控制流图。
如果你只是想使用 Panopticon,请访问官网查看安装说明。
Panopticon 使用 Rust 稳定版构建。除了可用的 Rust 稳定工具链和 Cargo 之外,唯一需要的外部依赖是 Qt 5.5 或更高版本。
Ubuntu 15.10 和 16.04
sudo apt install qt5-default qtdeclarative5-dev libqt5svg5-dev \
qml-module-qtquick-controls qml-module-qttest \
qml-module-qtquick2 qml-module-qtquick-layouts \
qml-module-qtgraphicaleffects qml-module-qtqml-models2 \
qml-module-qtquick-dialogs \
qtbase5-private-dev pkg-config \
git build-essential cmake \
qml-module-qt-labs-folderlistmodel \
qml-module-qt-labs-settings
Fedora 22、23 和 24
sudo dnf install gcc-c++ cmake make qt5-qtdeclarative-devel qt5-qtquickcontrols \
qt5-qtgraphicaleffects qt5-qtsvg-devel \
adobe-source-sans-pro-fonts \
adobe-source-code-pro-fonts
Gentoo
layman -a rust
USE=widgets sudo -E emerge -av qtgraphicaleffects:5 qtsvg:5 qtquickcontrols:5 \
rust cargo cmake
之后将仓库克隆到本地,并使用 cargo 编译所有内容。
git clone https://github.com/das-labor/panopticon.git
cd panopticon
cargo build --all --release
Windows
安装 Qt 5.4 SDK、Rust 工具链 和 CMake。然后使用 cargo build --all --release 编译 Panopticon。
OS X
安装 Homebrew,然后获取 Qt 5.5、CMake 和 Rust 工具链。接着,使用 cargo 编译 Panopticon。
brew install qt cmake rust
brew link qt --force
brew linkapps qt
export HOMEBREW_QT5_VERSION=$(brew list --versions qt | rev | cut -d ' ' -f1 | rev)
ln -s /usr/local/Cellar/qt/$HOMEBREW_QT5_VERSION/mkspecs /usr/local/mkspecs
ln -s /usr/local/Cellar/qt/$HOMEBREW_QT5_VERSION/plugins /usr/local/plugins
QTDIR64=/usr/local cargo build --all --release
安装完成后,启动 panopticon 可执行文件。如果你是从源码构建的,可以输入:
cargo run --bin panopticon --release
详细用法信息请参见用户文档。
Panopticon 基于 GPLv3 许可,是一款自由软件。欢迎黑客们参与贡献。请查看 CONTRIBUTING.md。
@panopticon_re