All Projects → das-labor → Panopticon

das-labor / Panopticon

Licence: gpl-3.0
A libre cross-platform disassembler.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Panopticon

Detect It Easy
Program for determining types of files for Windows, Linux and MacOS.
Stars: ✭ 2,982 (+116.72%)
Mutual labels:  static-analysis, disassembler, reverse-engineering
Bap
Binary Analysis Platform
Stars: ✭ 1,385 (+0.65%)
Mutual labels:  static-analysis, disassembler, reverse-engineering
Andromeda
Andromeda - Interactive Reverse Engineering Tool for Android Applications
Stars: ✭ 627 (-54.43%)
Mutual labels:  static-analysis, reverse-engineering
Die Engine
DIE engine
Stars: ✭ 648 (-52.91%)
Mutual labels:  disassembler, reverse-engineering
Dithumb
Minimal ARM/Thumb linear sweep disassembler similar to objdump
Stars: ✭ 5 (-99.64%)
Mutual labels:  disassembler, reverse-engineering
Sark
IDAPython Made Easy
Stars: ✭ 477 (-65.33%)
Mutual labels:  static-analysis, reverse-engineering
Capstone
Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings.
Stars: ✭ 5,374 (+290.55%)
Mutual labels:  disassembler, reverse-engineering
Ghidra
Ghidra is a software reverse engineering (SRE) framework
Stars: ✭ 30,371 (+2107.19%)
Mutual labels:  disassembler, reverse-engineering
Ddisasm
A fast and accurate disassembler
Stars: ✭ 325 (-76.38%)
Mutual labels:  disassembler, reverse-engineering
Reko
Reko is a binary decompiler.
Stars: ✭ 942 (-31.54%)
Mutual labels:  disassembler, reverse-engineering
Befa Library
High-level library for executable binary file analysis
Stars: ✭ 12 (-99.13%)
Mutual labels:  static-analysis, disassembler
Medusa
An open source interactive disassembler
Stars: ✭ 946 (-31.25%)
Mutual labels:  disassembler, reverse-engineering
Scratchabit
Easily retargetable and hackable interactive disassembler with IDAPython-compatible plugin API
Stars: ✭ 369 (-73.18%)
Mutual labels:  disassembler, reverse-engineering
Pwndbg
Exploit Development and Reverse Engineering with GDB Made Easy
Stars: ✭ 4,178 (+203.63%)
Mutual labels:  disassembler, reverse-engineering
Lazy importer
library for importing functions from dlls in a hidden, reverse engineer unfriendly way
Stars: ✭ 544 (-60.47%)
Mutual labels:  static-analysis, reverse-engineering
Beaengine
BeaEngine disasm project
Stars: ✭ 342 (-75.15%)
Mutual labels:  disassembler, reverse-engineering
Vivisect
Stars: ✭ 672 (-51.16%)
Mutual labels:  disassembler, reverse-engineering
Pince
A reverse engineering tool that'll supply the place of Cheat Engine for linux
Stars: ✭ 987 (-28.27%)
Mutual labels:  disassembler, reverse-engineering
Rascal
The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
Stars: ✭ 284 (-79.36%)
Mutual labels:  static-analysis, reverse-engineering
Freki
🐺 Malware analysis platform
Stars: ✭ 285 (-79.29%)
Mutual labels:  static-analysis, reverse-engineering

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].