Skip to content

Repository files navigation

Cremniy logo

Cremniy

All tools for low-level development are combined and linked in a single application — write code, edit bytes, and analyze binaries without extra windows

License Contributions Welcome Community
C++17 Qt 6

English • Русский


What is Cremniy?

Cremniy is an integrated environment for low-level development. Instead of keeping a HEX editor in one window, a disassembler in another, and a code editor in a third — all tools are combined and linked in a single convenient application.

Designed for:

  • 🛠 System software developers
  • 🔍 Reverse engineers
  • 🔐 Cybersecurity specialists
  • 📡 Embedded systems developers

Why Cremniy?

Low-level development today means using a code editor, HEX editor, disassembler, debugger, all opened in separate windows.

You constantly switch between different windows, and the tools are not linked together.

Cremniy solves this!

  • 🔘 Everything is in one place
  • 🔗 All tools are connected
  • 💻 Unified workflow

Features

Features ✨

Available now

Feature Description
📝 Code editor Write and edit low-level code with syntax support
🔢 HEX editor Inspect and modify binary data at the byte level (patching)
🔧 Disassembler Decode machine instructions into readable assembly

Coming soon

  • 🐛 Debugger — step through execution, inspect registers and memory
  • 🧠 Memory visualization — visual maps of memory layout and allocation

Contributing 👋

Contributions are welcome and encouraged.

Whether it's a bug fix, a new feature, or an improvement to documentation — feel free to open an issue or submit a pull request.

All tasks can be found in GitHub Projects.

All contributors are credited in ACKNOWLEDGEMENTS.md and mentioned in videos on the YouTube channel.

For guidelines, see CONTRIBUTING.md.

Warning

If you would like to take on a task, please leave a comment on the corresponding Issue. This helps prevent duplicate work.

Additionally, once you submit a Pull Request, reference the corresponding Issue in the PR description using Closes #ISSUE_NUMBER.

Build 🛠️

Prerequisites

Dependency Minimum version
CMake 3.16
Qt 6.8.2
libgit2 1.x
C++ compiler C++17 compliant
🪟 Windows
  1. Install MSYS2
  2. Install MinGW, CMake, Qt6-base, and libgit2 via MSYS2 terminal:
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-qt6-base mingw-w64-ucrt-x86_64-libgit2
  1. Add MSYS2 package directory to PATH
    MSYS2 packages are located in C:\msys64\ucrt64\bin by default.
🐧 Linux (Debian-based / Fedora)

For Debian-based distributions:

sudo apt update
sudo apt install cmake g++ qt6-base-dev libgit2-dev

For Fedora:

sudo dnf update --refresh
sudo dnf install cmake gcc-c++ qt6-qtbase-devel libgit2-devel

ℹ️ NOTE: If qt6-base-dev is unavailable in your distribution's repositories, use the official Qt installer instead.

🍎 macOS

Using Homebrew:

brew install cmake qt@6 libgit2

Build in Linux

git clone https://github.com/igmunv/cremniy.git
cd cremniy

mkdir build && cd build
cmake ../src
cmake --build .

Release build

cmake ../src -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release

Build in Windows

git clone https://github.com/igmunv/cremniy.git
cd cremniy

mkdir build && cd build
cmake -G "MinGW Makefiles" ..\src
cmake --build .

Release build

cmake ..\src -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release

License 📖

Distributed under the terms described in LICENSE.

About

Low-level IDE

Topics

Resources

Contributing

Stars

585 stars

Watchers

11 watching

Forks

Releases

Contributors

Languages