GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - redasm-dev/redasm: The Open Source Disassembler

BranchesTags
Open more actions menu

Latest commit

 

History

2,063 Commits
2,063 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
cmake
cmake
 
 
res
res
 
 
src
src
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CMakeLists.txt
CMakeLists.txt
 
 
LICENSE
LICENSE
 
 
LICENSE-fontawesome.txt
LICENSE-fontawesome.txt
 
 
README.md
README.md
 
 
asan.supp
asan.supp
 
 
lsan.supp
lsan.supp
 
 

Repository files navigation

REDasm logo

License GPL-3.0 Version 4.0.0 Website redasm.dev X @re_dasm

CI Nightly

REDasm is a cross platform disassembler and binary analysis tool, built for both hobbyists and professional reverse engineers.
It supports various CPU architectures and executable formats (see Supported Formats and Architectures).
It also offers an interactive listing, control flow graph view, cross-references, string detection and automatic function recovery.

REDasm screenshot


Table of Contents

  • Design Principles
  • Features
  • Supported Platforms
  • Supported Formats and Architectures
  • Download
  • Contributing
  • FAQ
  • License

Design Principles

  • Open by default: GPL core & plugins, public C API. Everything can be read, modified and rebuilt.
  • Native, self-contained: core is written in C17 and doesn't depends on VM, runtime or interpreter.
  • No platform lock-in: Windows and Linux are what's actively developed and tested; support for other platforms is open to anyone willing to contribute the changes they need.
  • Extendable: plugins are shared libraries loaded at runtime. Adding a CPU architecture or a file format never requires touching the core.
  • First class native GUI: written with Qt6 and sits entirely above core API. The interactive listing, graph view and navigation are designed together with the engine, not layered on afterwards.
  • First class support for retro and legacy formats: DOS, Win16, OS/2 era and console binaries are part of REDasm experience. This is what makes software preservation, recovery and porting possible for binaries whose source code is long gone.

Features

  • Interactive disassembly listing with renaming, commenting and typed data.
  • Control flow graph view at function granularity, synchronized with the listing.
  • Cross-references for code and data, with navigable history.
  • RDIL, a minimal, architecture-neutral, intermediate language used for analysis and lifting.
  • Automatic string detection (ASCII, UTF-16 and Latin-1 wide strings).
  • Type system with structs, unions, enums and typedefs, applied directly to the listing.
  • Integrated hex view.
  • Segments, imports/exports, symbols, strings and problems panels.
  • Project save/load so analysis, renames and comments survive between sessions.
  • Patching and export of analysis data.
  • Light and dark themes.

Supported Platforms

Maturity levels:

  • S: actively developed & tested (manual + automated), official prebuilt binaries.
  • A: CI-verified, compiles and full automated test suite passes, no manual/GUI testing, no official binaries.
  • B: CI-verified to compile only, no test guarantees.
Platform Description Status
Windows Windows 10+, MSVC / Visual Studio 2022 S
Linux Ubuntu 24.04 / Debian 13 reference, GCC 12+ S
FreeBSD 15.1, via CI (compiles + full test suite passes) A
MacOS via CI (compiles + full test suite passes) A
Haiku R1/beta6, via CI (compiles only: automated test suite is disabled because it hangs indefinitely at the tier0 suite; root cause not identified) B

Supported Formats and Architectures

Maturity levels:

  • S: production ready.
  • A: highly stable.
  • B: functional.
  • C: basic.
  • D: wip / experimental.

Loaders (executable formats)

Format Description Status
PE / PE+ Windows executables and DLLs, 32-bit and 64-bit S
ELF / ELF64 Linux, BSD and Unix executables and shared objects S
NE (Win16) 16-bit Windows and OS/2 New Executable A
LE / LX (OS/2) Linear Executable, OS/2 and DOS extenders (VxD is supported too) A
PSX EXE (PS1) PlayStation 1 executables A
MZ (DOS) MS-DOS executables and COM programs B
PSX BIOS (PS1) PlayStation 1 BIOS B
XBE (Xbox) Original Xbox executables B
ZX Spectrum SNA, Z80, TAP formats B
NES iNES format, mapper 0 only (NROM) B

Processors (CPU architectures)

Architecture Description Status
x86 / x86_64 16-bit, 32-bit and 64-bit Intel/AMD S
MIPS MIPS32, big and little endian, delay slot aware A
ARM / Thumb ARM32 and Thumb instruction sets A
ARM64 AArch64 A
Z80 Zilog Z80, with register tracking B
MOS6502 MOS Technology 6502 B

Analyzers

Analyzer Description Status
Visual Basic Recover VB5/VB6 events and project information A
MSVC RTTI MSVC run-time type information and vtable recovery D
MSVC EH MSVC exception handling type recovery D

Download

Pre-built binaries are published on the Releases page:

  • Linux: AppImage, runs on any reasonably recent distribution.
  • Windows: portable build, no installation required.

Other platforms aren't officially packaged yet.
See the Supported Platforms section above for what's CI-verified today.

Nightly builds are produced automatically from master and are GPG signed.
They track development closely and may be unstable.

Building from Source

REDasm is split across several repositories: the workspace repo fetches and builds all of them together.
Requirements, build steps and version pinning are documented in the workspace README.

Contributing

Bug reports, feature requests and pull requests are welcome.
All reports are now centralized at in a dedicated repo, so report there regardless of which component the problem belongs to, whether it's the GUI, the core or a plugin.

FAQ

Is REDasm free?
Yes. The whole project is GPL-3.0, including every bundled plugin.
You can use it, study it, modify it and redistribute it under the terms of the license.

Does REDasm have a decompiler?
Not yet. The foundations like RDIL, function boundaries, basic blocks, the type system are already in place, but decompilation is a long-term goal, some important features are still missing.

Can I script REDasm?
A Python plugin API is on the roadmap.
Today, extensions are written in C.

Can I run REDasm headless as library?
Yes, this repo contains only the GUI, it's still the main repo for historical reasons.
REDasm engine lives in core repo and contains what's needed to analyze binaries and load plugins.

Does REDasm support scripting?
A Python plugin API is planned.
Today, extensions are written in C.

What happened to version 3?
Retired because of technical debt and engine limitations, version 4 is a complete plain C rewrite with a more powerful and fast analysis engine.

License

REDasm is released under the GNU General Public License v3.0.

About

The Open Source Disassembler

redasm.dev

Topics

binary-analysisdisassemblerqt6retrocomputingromhackingsoftware-preservation

Resources

Readme
Activity
Custom properties

Stars

1.8k stars

Watchers

48 watching

Forks

158 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.