Skip to content

das-labor/panopticon

Repository files navigation

Gitter Build Status Build status Coverage Status

DEPRECATED

The Panopticon project moved to Gitlab and was restructed into multiple crates. The Qt GUI was replaced with Verso. I will merge PRs but won't do any substantial work on this version. Most links below are dead.

Panopticon

Panopticon - A Libre Cross Platform Disassembler

Panopticon is a cross platform disassembler for reverse engineering written in Rust. It can disassemble AMD64, x86, AVR and MOS 6502 instruction sets and open ELF files. Panopticon comes with Qt GUI for browsing and annotating control flow graphs,

Install

If you simply want to use Panopticon follow the install instructions on the website.

Building

Panopticon builds with Rust stable. The only dependencies aside from a working Rust stable toolchain and Cargo you need is Qt 5.5 or higher.

Ubuntu 15.10 and 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 and 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

After that clone the repository onto disk and use cargo to build everything.

git clone https://github.com/das-labor/panopticon.git
cd panopticon
cargo build --all --release

Windows

Install the Qt 5.4 SDK, the Rust toolchain and CMake. Panopticon can be built using cargo build --all --release.

OS X

Install Homebrew and get Qt 5.5, CMake and the Rust toolchain. Then, compile Panopticon using cargo.

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

Running

After installation start the panopticon binary. If you build it from source you can type:

cargo run --bin panopticon --release

For detailed usage information see the user documentaion.

Contributing

Panopticon is licensed under GPLv3 and is Free Software. Hackers are always welcome. Please check out CONTRIBUTING.md.

Contact