Skip to content
A libre cross-platform disassembler.
Branch: master
Clone or download
Latest commit 12f99d9 Jan 4, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
abstract-interp
amd64 Apply `cargo fix --edition` Dec 21, 2018
analysis Apply `cargo fix --edition` Dec 21, 2018
avr
cli
core Apply `cargo fix --edition` Dec 21, 2018
data-flow
glue Apply `cargo fix --edition` Dec 21, 2018
graph-algos Apply `cargo fix --edition` Dec 21, 2018
mos6502
pkg icon and desktop file for X Window System desktops Nov 20, 2017
qml
qt
test-data fix mos6502 & avr Aug 19, 2017
.gitignore
.tool-versions
.travis.yml
AUTHORS
CHANGELOG
CONTRIBUTING.md Fixed small errors in contributors guide Apr 6, 2017
Cargo.lock
Cargo.toml
LICENSE Update licenses and AUTHORS Sep 30, 2015
README.md
appveyor.yml
logo.png
rustfmt.toml

README.md

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

You can’t perform that action at this time.