Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

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

  • 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.
PlatformDescriptionStatus
WindowsWindows 10+, MSVC / Visual Studio 2022S
LinuxUbuntu 24.04 / Debian 13 reference, GCC 12+S
FreeBSD15.1, via CI (compiles + full test suite passes)A
MacOSvia CI (compiles + full test suite passes)A
HaikuR1/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)

FormatDescriptionStatus
PE / PE+Windows executables and DLLs, 32-bit and 64-bitS
ELF / ELF64Linux, BSD and Unix executables and shared objectsS
NE (Win16)16-bit Windows and OS/2 New ExecutableA
LE / LX (OS/2)Linear Executable, OS/2 and DOS extenders (VxD is supported too)A
PSX EXE (PS1)PlayStation 1 executablesA
MZ (DOS)MS-DOS executables and COM programsB
PSX BIOS (PS1)PlayStation 1 BIOSB
XBE (Xbox)Original Xbox executablesB
ZX SpectrumSNA, Z80, TAP formatsB
NESiNES format, mapper 0 only (NROM)B

Processors (CPU architectures)

ArchitectureDescriptionStatus
x86 / x86_6416-bit, 32-bit and 64-bit Intel/AMDS
MIPSMIPS32, big and little endian, delay slot awareA
ARM / ThumbARM32 and Thumb instruction setsA
ARM64AArch64A
Z80Zilog Z80, with register trackingB
MOS6502MOS Technology 6502B

Analyzers

AnalyzerDescriptionStatus
Visual BasicRecover VB5/VB6 events and project informationA
MSVC RTTIMSVC run-time type information and vtable recoveryD
MSVC EHMSVC exception handling type recoveryD

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
binary-analysisdisassemblermos6502retrocomputingz80

语言 Languages

C++98.1%
CMake1.9%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
207
Total Commits
峰值: 36次/周
Less
More

核心贡献者 Contributors