Releases: redasm-dev/redasm
Releases · redasm-dev/redasm
Release list
v4.0.0-beta2
- Full editing: patch instructions, make code/data, undefine, reanalyze
- Rendering now supports immediate updates: no internal rebuilds/resync needed
- x86 encoder + assembler
- Reworked type system, function signatures with unknown args/ret
- MSVC RTTI analyzer (experimental)
- PE Rich Header parsing & compiler classification
- Lots of fixes and stability improvements
Full Changelog: https://github.com/redasm-dev/redasm/blob/v4.0.0-beta2/CHANGELOG.md
v4.0.0-beta1
The first public release since 2021.
REDasm has been completely rewritten with a brand new engine written in C and clean Qt6 GUI.
This is a BETA, expect rough edges, please report crashes, incorrect disassembly or any kind of bugs you encounter.
Highlights
- core total rewrite in C
- RDIL intermediate language for binary lifting
- save and load the analysis session
- the analysis database can be now exported for external tools inspection
- cross platform: redasm is now continuously tested on Windows and Linux
- renderer is now unicode aware
- GPG signed releases straight from CI pipeline
Loaders
- DOS COM
- all MZ family (MZ, NE, LE/LX with dedicated VxD device driver analysis)
- PE
- ELF
- Playstation 1 executables (PSX-EXE) and BIOS
- XBE (original XBox executables)
Processors
- x86 family (16/32/64-bit)
- MIPS32 (BE/LE) with delay slot handling and register tracking
- ARM, Thumb, AArch64
Analysis
- function
noretpropagation - VB5/6 detection and structure analysis (eg. event handlers)
- autorenamer in finalization pass
- wide string detection (opt-in by loader plugin developers)
Known limitations for beta1
- macOS is not yet supported because I don't own that hardware and I cannot test it
- it's not possible to patch bytes or reassemble instructions
.mapexporter is not available- currently stripped ELF binaries have limited test coverage
Nightly Build (2026-08-23)
core:
08fef51feat(RDScratchBuffer): added rd_scratch_each macro4596c69fix: prefer u8 for overlay flags055e55efeat: improved RDBuffer I/O performance and reliabilityc8cbd57feat(hmap): improved and fixed implementation49ce528feat!: reworked schema for big performance improvements198c354feat!: extended comment support54607d1fix(Renderer): allow empty lines2b05161feat(RDScratchBuffer): extended APIse447750feat!:instance_sizefield to RDProcessorPlugin and RDLoaderPlugin6af558bchore: disable jobs on forked reposab05526feat(RDOperand): added RD_OP_STUBfce2843fix: byte-sized autogenerated names spitting6ce2560fix: relaxrd_integral_from_sizefailure029d31dfeat: NULL checkrd_i_typedef_find8c8b383fix(RDSurfaceGraph): major performance regression since BETA1f7381d9fix: HaikuOS supportfc0aaeffix(RDIL): relax invalid operandsb9d6b3dfix: inserter when > 1 analyzers are available8dd5896feat!: register handling rewrite4ccf1e3feat: added RDProcessorPlugin.setup, refactoring
redasm:
df78de4fix: reanalyze now invalidates current surface3ece424fix(PatchDialog): resize to content54e60d7feat(SurfaceGraph): jump_to_ep relies on rd_get_entry_point967aed9fix(SurfaceGraph): always ask RDGraphc97db8afix(SurfaceGraph): do object equality, not pointer onef063f1cchore: added CHANGELOG.md8e935aafeat: decouple name/function relationshipsd52a734fix(FunctionsModel): follow core notifications, don't brute forcedb5f345fix: hex character casing006be2fchore: reworked readme39423defix: prefer QPlainTextEdit for loggingd619b92fix(ContextView): column resizing557677afix: simplified font settingsfd3c98bfeat(surfacerenderer): optimized rendering pipeline2f06b88feat: sync to core changes3777147chore: disallow jobs on forks06e33defeat: sync to core changes9dc2782chore: refactoring65cfa19feat(SurfaceGraph): don't flood renderer on mouse-move and mouse-click113245efix: local actions promoted to application wide
loaders:
c5dd6ecfeat: ZX Spectrum loader plugin (WIP)2ad0359feat(SNA): initialize z80 registersff48396feat(SNA): improved mapping, load 48k ROM definitionsf563503feat(SNA): organize code for various from ROM sizescd97484feat(SNA): report EPs that lives inside ROM segment9811ebffeat(SNA): labelstack8dbae5efeat(SNA): better validationcc25bd6fix(SNA): loading & mapping33baa84fix(SNA): input mapping787f5dafix(ZXSpectrum): updated CMakeLists.txt1081a95feat(ZXSpectrum): added Z80 format v1/v2/v3a8e29eefeat(Z80): initialize registers7fea983feat(ZXSpectrum): added TAP formatf60d375feat!: preferinstance_sizeinstead of custom allocatorsbc4d077chore: disable jobs on forked reposee9a478feat: initial support for NES roms06cca28feat(NES): map NES memory4c20018feat(ELF): detect 'xtensa' architecture823b6b7fix(PE): pdb file name reporting and labellinge165535feat(PE): parse TLS directory
processors:
b637226feat(x86): completed encoder26a4bc6feat(x86): use rd_format_to instead of RD_LOG_FAIL_TO42d5a55chore: lower cmake requirements to 3.2017f04fcfix(x86): split decode/emulate interrupt hookse0e5e8efeat: removed 'int_size' field usage255ab52feat: Z80 processor plugin5b3cba6fix(z80): addressing is 16 bit wideb223519feat(Z80): track registers, generate xrefs089eea6fix(z80): don't label 0 immediate constants8bc9799chore: disable jobs on forked repos329a54cchore: bump to capstone 6.0.0-Alpha109ec4bfachore: refactoring719ff26feat(mos6502): initial implementation918fb88feat(MOS6502): improved supportf3974dcfeat(MOS6502): analyze DISPL operands22dee5efeat(MOS6502): autotype references077aa58feat(capstonebundle): conditional register processor plugins346abcefeat(Xtensa): added support, keep it disabled for now17a6ba3feat!: sync to core changes467ab18chore: removed unused function
commands:
1674f4ffeat: explicit module versionca93d41chore: moved install step from workspacef3eedd3chore: lower cmake requirements to 3.2040f7f2bfeat: decouple name/function relationships8fe19a6chore: disable jobs on forked repos
analyzers:
9dd5d64feat: added 'compilers' analyzer module332fa68feat(rtti): better vtable typing3be61b4feat(rtti): deeper class detail propagation9dc63d8fix(msvc_rtti): wrong typedescriptor, unchecked by defaultcb19b00chore(VB): refactoring and match KB names17910fbfeat: mark MSVC RTTI plugin as experimental2552479chore: lower cmake requirements to 3.209b36a99feat: decouple name/function relationships614fa20fix: hex character casingfeb53c0chore: disable jobs on forked repos7695d63chore(compiler): reorganized source treec05f9e5feat(compiler): added MSVC exception handling analyzere28bb8dfeat(compiler): scan for FuncInfo structs
kb:
6794839chore: moved install step from workspace0e7b8defeat(coredll): added libc functions dependency59d43e1feat(win32): added MFC ordinalsf0dced4feat(PE): added PE_LOAD_CONFIG_DIRECTORYc851244feat(compiler): added MSVC RTTI typesae2a2b0feat: reorganized and renamed VB related types and dependencies9df78b1chore: lower cmake requirements to 3.20f6ee872feat(PE): removed IMAGE_DOS_HEADER29ba576feat!: reworked and simplified KB format0c8c1f0feat: sync to type system changes2905057feat(PSX): added missing bioscall B(0x5b)54ed811feat(ZX Spectrum): added 48k ROM definitions (WIP)42a4676feat(zxspectrum): categorized and extended ROM 48k routinesa22181afeat(ZXSpectrum): full 48k ROM coverageb9c9877feat(win32): added ws2_32.dll ordinals6eb702bfeat(compiler): added MSVC exception handling types5d8a2fefeat(PE): added TLS directory definitions2e18573feat: updated PE and MSVC EH implementations
REDasm 3.0 BETA 5
REDasm
- Fixed Dialog plugins implementation (QtDialogUI)
- Improved QHexView integration (still WIP)
- Code cleanup
- Minor Fixes
LibREDasm
- Redesigned internal address space representation (for performance)
- Redesigned and simplified Document API
- Improved surface rendering performance
- Improved analysis accuracy and speed
- Fixed Control Flow Graph generation
- Separate comments from autocomments
- Expanded Type System and its APIs
- Drastically reduced memory usage
- Improved string detection performance
- Analyzers can now be hidden from plugins
- Code cleanup
- Minor Fixes
Plugins
- Implemented DEX Loader
- Implemented Dalvik Assembler
- ELF: Fixed segmentation fault
REDasm 3.0 BETA 4
- KDDockWidgets integration
- Removed IDA Like animation for performance and stability
- Added analysis Dashboard (still work in progress)
- Fixed arrow rendering in listing mode
- PE: Fixed classification, detect MinGW
- PE: Demangle Imports
- MIPS: Decode COP instructions (some are still missing)
- MIPS: Added more support for macro instructions
- MIPS: Initial support for binary lifting
- MIPS: Added MIPS64
- ARM: Improved support
- Added Jump/Call Table Support (available only for x86 atm)
- x86: Added prologue analysis for x86_64 too
- Improved XBox 1 Executable analysis
- Improved analysis reliability
- Improved listing rendering for readability
- Reimplemented hex conversion for maximum performance
- Fixed Binary loader
- Added more unit tests
- Minor fixes
REDasm 3.0 BETA 3
- Improved string detection
- Implemented ESP32 ULP Assembler Plugin
- Improved Listing appearance
- MIPS: Added macro instructions analysis in order to generate cross references
- Merged Capstone based plugins (only ARM64 and ARM atm)
- Disassembler Engine's fine tuning
- API Refactoring
- Restored VB Decompiler
- Added and Restored unit tests
- Minor Fixes and Regression Fixes
REDasm 3.0 BETA 2
- Reimplemented cross references analysis
- Implemented Tensilica Xtensa and ESP32 support
- Added support for Xtensa ELF executables
- Implemented COFF plugin
- Improved build system
- Restored RDCommandPlugin (WIP)
- Fixed UI related APIs
- Minor fixes
REDasm 3.0 BETA 1
- New User Interface
- Brand new Disassembler Engine
- Plugin interface
- Plain C API
- C++17 Core
- Support for x86 and x86_64, ARM64 and MIPS architectures
- Support for PE, ELF, PSX and XBOX1 executables
- 32 Bit MSVC RTTI support
REDasm 2.1.1 Fix
Added missing include for the legacy version
REDasm 2.1.1
(Quality Release)
- Reimplemented GotoModel.
- Fixed crashes and undefined behaviors on ARM.
- Fixed out-of-buffer access.
- Fixed Goto Action.
- Removed some u64 <-> size_t silent conversions.
- ListingItemModel: Fixed invalid memory access.
- DisassemblerTextView: Fixed text selection.
- 32-bit OS support (WIP).
- Minor fixes.