Skip to content

redasm-dev/workspace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REDasm Workspace

CI and developer setup for building the full REDasm project from source.

For bug reports, feature requests and general discussion see here.

Requirements

  • CMake 3.25
  • C17 (core) & C++17 (GUI)
  • Qt 6.8 LTS (GUI)
  • Git

Windows

Tested on Visual Studio 2022

Qt can be installed via aqtinstall:

pip install aqtinstall
aqt install-qt windows desktop 6.8.3 win64_msvc2022_64 -O C:\Qt

Linux

All requirements are met by the default Ubuntu 24.04 LTS repositories, no additional steps needed.

sudo apt install build-essential cmake git qt6-base-dev qt6-tools-dev

Getting Started

Clone this repo and run Setup.cmake to fetch all components:

git clone https://github.com/redasm-dev/workspace
cd workspace
cmake -P Setup.cmake

Configure the build, specifying the Qt installation path:

# Windows
cmake -B build -DCMAKE_PREFIX_PATH=C:\Qt\6.8.3\msvc2022_64
 
# Linux (only needed if Qt is not installed system-wide)
cmake -B build -DCMAKE_PREFIX_PATH=/path/to/qt

Then build:

# Debug
cmake --build build --config Debug
 
# Release
cmake --build build --config Release

Pinning Versions (CI / Release)

Each component version can be overridden via -D flags or environment variables:

cmake \
  -DCORE_VERSION=v4.0.1 \
  -DREDASM_VERSION=v4.0.1 \
  -DLOADERS_VERSION=v4.0.1 \
  -DPROCESSORS_VERSION=v4.0.1 \
  -DCOMMANDS_VERSION=v4.0.1 \
  -DANALYZERS_VERSION=v4.0.1 \
  -DKB_VERSION=v4.0.1 \
  -P Setup.cmake

Defaults to master for all components if not specified.

Building an AppImage (Linux)

Install linuxdeploy and the Qt plugin:

wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage linuxdeploy-plugin-qt-x86_64.AppImage

Configure and build in Release, then install into a staging directory:

cmake -B build
cmake --build build --config Release
cmake --install build --prefix AppDir/usr

Generate the AppImage:

QMAKE=$(which qmake6) ./linuxdeploy-x86_64.AppImage \
    --appdir AppDir \
    --plugin qt \
    --output appimage

The resulting REDasm-x86_64.AppImage will be in the current directory.

Verifying Release Signatures

All release artifacts are GPG signed. Import the appropriate public key to verify:

# Stable releases
gpg --keyserver keys.openpgp.org --recv-keys B0C728D7021EEEE9D9B859043AF46EB2201FFB56
 
# Nightly builds
gpg --keyserver keys.openpgp.org --recv-keys A2391AFACAE2EE52B35541DD65F948A2F6BB294A

Verify a downloaded artifact:

gpg --verify REDasm-linux-x86_64.AppImage.asc REDasm-linux-x86_64.AppImage
gpg --verify REDasm-windows-x86_64.zip.asc REDasm-windows-x86_64.zip

Key fingerprints:

Key Fingerprint
REDasm Release release@redasm.dev B0C7 28D7 021E EEE9 D9B8 5904 3AF4 6EB2 201F FB56
REDasm Nightly nightly@redasm.dev A239 1AFA CAE2 EE52 B355 41DD 65F9 48A2 F6BB 294A

Repository Layout

Repo Description
core Core library (Engine)
redasm GUI Frontend (Qt6)
loaders Loader plugins
processors Processor plugins
commands Command plugins
analyzers Analyzer plugins
kb Knowledge Base

About

CI and Developer setup

Resources

License

Stars

Watchers

Forks

Contributors

Languages