Aira Force
A downloadable tool for Windows, macOS, and Linux
This is a tool for reverse engineering Amiga 680x0 software. It allows binaries to be disassembled and investigated.
The primary goal of this project is to provide a graphical user interface on top of the excellent ira “reassembler” to accelerate the workflow.
Aira Force implements “reassembly” using the ira disassembler and the vasm assembler. Ira transforms the source executable or raw binary into assembly language source code, then vasm assembles the source code. The output binary should be identical (or equivalent) to the input binary.
This process allows the user to analyse and annotate the source code efficiently, before make any required changes to the generated disassembly and building a patched binary. It may be useful for fixing bugs, adding features, optimising the code, or academic software archeology.
Features:
- Disassemble Amiga executables (hunk Load Modules)
- Disassemble raw Amiga binaries, e.g. bootblocks, non-DOS programs
- Interactively convert disassembly to code, data or text
- Rename and add labels
- Add comments and banners
- Define pointers and equates
- Efficient code navigation
- Tools to search for potential pointers, equates and code
- Live Analysis (WIP) using 68000 emulator to aid understanding
- In-built Amiga documentation (custom chipset, OS)
- Menu and keyboard driven UI
- Runs on Windows, Linux and macOS (sorry, no Amiga version)
- Hex viewer
- Reassemble disassembled code and compare against source
- Dockable windows and multi-viewports (native OS windows) with Dear ImGui
The tool is currently pre-ALPHA and not all features are implemented yet.
The high level interactive disassembly workflow is as follows:
- Use *File > Preprocess...* to begin analysis of a new binary (generates .cnf file)
- Use *File > Process with config...* to load a previously disassembled binary (disassembly guided by pre-existing .cnf file)
- Check the output window for any errors or warnings
- Identify code, data and text areas
- Identify missing labels required to allow the code to be reassembled correctly
- Rename labels and and comments to aid user code analysis
- Use Live Analysis Actions window to help identify pointers and equates e.g. system calls and custom hardware registers
- Use the final disassembly as required e.g. to fix bugs, add features or optimise
Please see the readme in the zip for more information.
Credits:
- ira reassembler by Tim Ruehsen, Frank Wille and Nicolas Bastien
- VASM assembler by Volker Barthelmann and Frank Wille
- Simple DirectMedia Layer (SDL2) by Sam Lantinga and contributors
- Dear ImGui by Omar Cornut and contributors
- Amiga NDK Copyright (C) 2019 Hyperion Entertainment CVBA
- Portable File Dialogs by Sam Hocevar
- tinyxml2 by Lee Thomason
- imgui_markdown by Juliette Foucaut & Doug Binks
- cleanCppProject by kracejic
- Hoffman and TTE for inspiration, help and support
Status | In development |
Category | Tool |
Platforms | Windows, macOS, Linux |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | howprice |
Made with | SDL |
Tags | Amiga, assembler, assembly-language, disassembler, Graphical User Interface (GUI), imgui, reverse-engineering, Text based, User Interface (UI), Visualization |
Average session | A few seconds |
Languages | English |
Inputs | Keyboard, Mouse |
Download
Click download now to get access to the following files:
Development log
- Aira Force 0.8 released76 days ago
- Aira Force 0.7.6 now availableJul 12, 2024
- Updated Windows 0.7.5 packagesJul 07, 2024
- Aira Force 0.7.5 now availableJul 05, 2024
- V0.7.4 released with local label supportJun 27, 2024