## File: README.md

[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=NF3FBD3KHMXDN)
[](http://ntinfo.biz)
[](http://ntinfo.biz)
[](https://github.com/horsicq/XTranslation)

**Detect It Easy (DiE)** is a powerful tool for file type identification, popular among **malware analysts**, **cybersecurity experts**, and **reverse engineers** worldwide. Supporting both **signature-based** and **heuristic analysis**, DiE enables efficient file inspections across a broad range of platforms, including **Windows, Linux, and MacOS**. Its adaptable, script-driven detection architecture makes it one of the most versatile tools in the field, with a comprehensive list of supported OS images.

## 🚀 Getting started

-   **[💎 Download release/beta](https://github.com/horsicq/DIE-engine/releases)**
-   **[🧪 DiE API Library (for Developers)](https://github.com/horsicq/die_library)**
-   [📋 Changelog](https://github.com/horsicq/Detect-It-Easy/blob/master/changelog.txt)
-   [💬 Contribute to Translations](https://github.com/horsicq/XTranslation)



## 💡 Why use Detect It Easy?

Detect It Easy’s **flexible signature system** and **scripting capabilities** make it an essential tool for **malware analysis** and **digital forensics**. With traditional static analyzers often limited in scope and prone to false positives, DiE’s customizable design enables precise integration of new detection logic, ensuring reliable results across diverse file types.



### Key advantages:

-   **Flexible Signature Management**: Easily create, modify, and optimize detection scripts (rules).
-   **Cross-Platform Support**: Runs on Windows, Linux, and MacOS.
-   **Minimal False Positives**: Combined signature and heuristic analysis ensures high detection accuracy.

## 📄 Supported file types

Detect It Easy supports a wide range of executable and archive types, including:

-   **PE** (Portable Executable format for Windows)
-   **ELF** (Executable and Linkable Format for Linux)
-   **APK** (Android Application Package)
-   **IPA** (iOS Application Package)
-   **JAR** (Java Archive)
-   **ZIP** (Compressed archives)
-   **ISO9660** (Optical media format)
-   **DEX** (Dalvik Executable for Android)
-   **MS-DOS** (MS-DOS executable files)
-   **COM** (Simple executable format for DOS)
-   **LE/LX** (Linear Executable for OS/2)
-   **MACH** (Mach-O files for MacOS)
-   **NPM** (JavaScript packages)
-   **Amiga** (Executable format for Amiga computers)
-   **Binary** (Other unclassified files)

And that's not all... The list is expanding as the tool is updated

Unknown formats undergo heuristic analysis, providing identification for both known and unrecognized files.

## 🔑 Key features

-   **Flexible Signature Management**: Define or modify detection rules.
-   **Scripted Detection**: Use a JavaScript-like scripting language (DiE-JS ES5 runtime) for custom detection algorithms.
-   **Cross-Platform Compatibility**: Available for Windows, Linux, and MacOS.
-   **Reduced False Positives**: Combines signature and heuristic scanning for accuracy.

## 📥 Installation

### 📦 Install via package managers

-   **Windows**:

    -   [Chocolatey](https://community.chocolatey.org/packages/die)
    -   [Microsoft Store](https://apps.microsoft.com/detail/9nq58d7ghb2x)

-   **Linux**:

    -   **Parrot OS**: Package name `detect-it-easy`
    -   **Arch Linux**: AUR package [detect-it-easy-git](https://aur.archlinux.org/packages/detect-it-easy-git/)
    -   **openSUSE**: [OBS](https://build.opensuse.org/package/show/home:mnhauke/detect-it-easy)
    -   **REMnux**: Malware analysis distribution

    [](https://repology.org/project/detect-it-easy/versions)

> [!NOTE]
> Use **Detect It Easy** bot via **Telegram** to quickly check files: [**@detectiteasy_bot**](https://t.me/detectiteasy_bot)

### ⚙️ Build from source

See the [BUILD.md](docs/BUILD.md) for detailed instructions.

### 🐳 Docker installation

Run DiE in a Docker container:

```bash
git clone --recursive https://github.com/horsicq/Detect-It-Easy
cd Detect-It-Easy/
docker build . -t horsicq:diec
```

## 🖥️ Usage

**Detect It Easy** offers three versions:

-   **die** - Graphical interface.
-   **diec** - Command-line version for batch processing.
-   **diel** - Lightweight GUI version. (scanner only)

For detailed usage, refer to the [RUN.md](docs/RUN.md).

### 🔎 Example use cases

-   🦠 **Malware Analysis**: Identify file types, packers, or protections. Heuristic engine detects multiple malware and file virus families.
-   🛡 **Security Audits**: Determine executable potential security risks.
-   🔎 **Software Forensics**: Inspect software components and validate compliance.

## 💬 Our community

👋 **Hello! / Привет!** Welcome to the Detect It Easy community!

Have questions, ideas, or just want to chat? Here's where to find us:

-   **GitHub Discussions**: Start a conversation in [Discussions](https://github.com/horsicq/Detect-It-Easy/discussions)
-   **GitHub Issues**: Report bugs or request features via [Issues](https://github.com/horsicq/Detect-It-Easy/issues)

## 🏆 Special thanks

-   ⭐️ **Thanks to [DosX](https://github.com/DosX-dev)**

-   ⭐️ Thanks to [PELock](https://www.pelock.com)

## 🤝 Thanks to all contributors

<a href="https://github.com/horsicq/Detect-It-Easy/graphs/contributors">

</a>

---

---

## File: docs/BUILD.md

# How to build on Docker

```bash
git clone https://github.com/horsicq/DIE-engine.git
cd DIE-engine
sudo docker build . -t horsicq:diec
```

# How to build on Linux based on Debian

-   You can also watch tutorial on [YouTube](https://www.youtube.com/watch?v=hODcbA_1Tns)
-   For further Information you can look at [fr0stb1rd blogpost](https://fr0stb1rd.gitlab.io/posts/building-and-running-detect-it-easy-on-kali-linux-complete-tutorial/).

#### Install packages:

```bash
sudo apt-get install qtbase5-dev qtscript5-dev qttools5-dev-tools libqt5svg5-dev git build-essential -y
```

-   Ubuntu 14.04-20.04:

```bash
sudo apt-get install qt5-default -y
```

-   Ubuntu 21.04-26.04

```bash
sudo apt-get install qtchooser qt5-qmake pkg-config -y
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Run build script:

```bash
bash -x build_dpkg.sh
```

#### Install deb package:

```bash
sudo dpkg -i release/$(ls release)
```

# How to build on Linux based on Fedora (DNF)

#### Install packages:

```bash
sudo dnf install qt5-qtbase-devel qt5-qtscript-devel qt5-qttools-devel git make gcc-c++
sudo dnf install qt6-qtbase-devel qt6-qtscript-devel qt6-qttools-devel qt6-qt5compat-devel qt6-qtdeclarative-devel git make gcc-c++
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build

```bash
chmod a+x configure
./configure
make -j4
```

# How to build on Linux based on openSuse (zypper)

#### Install packages:

```bash
sudo zypper install libqt5-qtbase-devel libqt5-qtscript-devel libqt5-qttools-devel libqt5-qtsvg-devel git gcc-c++ make
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build

```bash
chmod a+x configure
./configure
make -j4
```

# How to build on Linux based on Arch Linux (pacman)

#### Install packages:

```bash
sudo pacman -S --needed git base-devel qt5-base qt5-tools qt5-script
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build

```bash
chmod a+x configure
./configure
make -j4
```

# How to build on Linux (Automake)

### Qt framework has to be installed on the system.

#### (Ubuntu) Install Qt Framework:

```bash
sudo apt-get install --quiet --assume-yes build-essential qt5-default qtbase5-dev qttools5-dev-tools qtscript5-dev libqt5svg5-dev
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build

Might require sudo privileges

```bash
chmod a+x configure
./configure
make -j4
sudo make install
```

# How to build on Linux (Qt6)

### Qt framework has to be installed on the system.

#### (Ubuntu) Install Qt Framework:

```bash
sudo apt-get install --quiet --assume-yes build-essential qt6-base-dev qt6-base-dev-tools qt6-tools-dev-tools qt6-5compat-dev libqt6svg6-dev qt6-declarative-dev
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build

```bash
mkdir build
cd build
cmake ..
make
```

# How to build on macOS

Install Qt 5.15.2: https://github.com/horsicq/build_tools

Clone project: git clone --recursive https://github.com/horsicq/DIE-engine.git

Edit build_mac.sh (check QMAKE_PATH variable)

Run build script: bash -x build_mac.sh

# How to build on Windows (XP)

Install Visual Studio 2013: https://github.com/horsicq/build_tools

Install Qt 5.6.3 for VS2013: https://github.com/horsicq/build_tools

Install 7-Zip: https://github.com/horsicq/build_tools

Clone project: git clone --recursive https://github.com/horsicq/DIE-engine.git

Edit build_winxp.bat (check VSVARS_PATH, SEVENZIP_PATH, QMAKE_PATH variables)

Run build_winxp.bat

# How to build on Windows (7-11)

Install Visual Studio 2019: https://github.com/horsicq/build_tools

Install Qt 5.15.2 for VS2019: https://github.com/horsicq/build_tools

Install 7-Zip: https://github.com/horsicq/build_tools

Clone project: git clone --recursive https://github.com/horsicq/DIE-engine.git

Edit build_win32.bat ( check VSVARS_PATH, SEVENZIP_PATH, QMAKE_PATH variables)

Edit build_win64.bat ( check VSVARS_PATH, SEVENZIP_PATH, QMAKE_PATH variables)

Run build_win32.bat

Run build_win64.bat

# How to build with CMAKE

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build (Release)

```bash
mkdir -p build
cmake . -B build
cd build
make -j4
# To use it as a command, uncomment the following line:
# sudo make install -j4
```
#### Build (Debug)

```bash
mkdir -p build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cd build
make -j4
# To use it as a command, uncomment the following line:
# sudo make install -j4
```

# How to build with MinGW/MSYS2

Install MSYS2: https://www.msys2.org/

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

### Install libaries

```bash
pacman -S mingw-w64-ucrt-x86_64-gcc
pacman -S mingw-w64-x86_64-qt5-tools
```

#### Build

```bash
chmod a+x configure
./configure
make -j4
```

# How to build with WSL

-   Activate Windows Subsystem for Linux
-   Download from the Microsoft Store any distribution

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

### Install libaries

```bash
sudo apt-get install --quiet --assume-yes build-essential qtbase5-dev qttools5-dev-tools qtscript5-dev libqt5svg5-dev
```

#### Build

```bash
chmod a+x build_dpkg.sh
./build_dpkg.sh
```

# How to build on Linux (Debug)

### Qt framework has to be installed on the system.

#### (Ubuntu) Install Qt Framework:

```bash
sudo apt-get install --quiet --assume-yes build-essential qt5-default qtbase5-dev qttools5-dev-tools qtscript5-dev libqt5svg5-dev
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build

```bash
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
```

# How to build on Linux (Qt6/Debug)

### Qt framework has to be installed on the system.

#### (Ubuntu) Install Qt Framework:

```bash
sudo apt-get install --quiet --assume-yes build-essential qt6-base-dev qt6-base-dev-tools qt6-tools-dev-tools qt6-5compat-dev libqt6svg6-dev qt6-declarative-dev
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build

```bash
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
```

# How to build on Linux (Qt5/AppImage)

### Qt framework has to be installed on the system.

#### (Ubuntu) Install Qt Framework:

```bash
sudo apt-get install --quiet --assume-yes build-essential qt5-default qtbase5-dev qttools5-dev-tools qtscript5-dev libqt5svg5-dev
```

#### Setup linuxdeploy

```bash
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage
sudo mv linuxdeploy-x86_64.AppImage /usr/local/bin/linuxdeploy
sudo chmod +x /usr/local/bin/linuxdeploy

wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
chmod +x linuxdeploy-plugin-qt-x86_64.AppImage
sudo mv linuxdeploy-plugin-qt-x86_64.AppImage /usr/local/bin/linuxdeploy-plugin-qt
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build

```bash
chmod a+x configure
./configure
make
chmod a+x create_appimage.sh
./create_appimage.sh
```

# How to build on nixOS (Qt5)

### Qt framework has to be installed on the system.

#### Download dependencies

```bash
nix-shell -p git gcc gnumake pkg-config qt5.qtbase qt5.qtscript qt5.qttools qt5.qtsvg qt5.qtwayland
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build (Release)

```bash
mkdir build
cd build
cmake ..
make
```

#### Build (Debug)

```bash
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
```

#### Run

```bash
export QT_QPA_PLATFORM=wayland
./die
```

# How to build on Alpine Linux (Qt5)

### Qt framework has to be installed on the system.

#### Download dependencies

```bash
apk update
apk add qt5-qtbase-dev qt5-qtscript-dev qt5-qttools-dev qt5-qtsvg-dev git build-base pkgconf
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build (Release)

```bash
mkdir build
cd build
cmake ..
make
```

#### Build (Debug)

```bash
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
```

# How to build on openBSD (Qt5)

### Qt framework has to be installed on the system.

#### Download dependencies

```bash
su -
pkg_add git gmake cmake qtbase qtsvg qtscript qttools
exit
```

#### Clone this repo recursively:

```bash
git clone --recursive https://github.com/horsicq/DIE-engine.git
cd DIE-engine
```

#### Build (Release)

```bash
mkdir build
cd build
cmake ..
gmake
```

#### Build (Debug)

```bash
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
gmake
```

---

## File: docs/RUN.md

# Instructions to run Detect It Easy

### Linux Package/Build

```bash
die [FileName] or diec [FileName] or diel [FileName]
```

### Portable version on Linux

Download an appImage file https://github.com/horsicq/DIE-engine/releases/download/Beta/Detect_It_Easy-3.22-x86_64.AppImage

Make the file executable

```bash
chmod +x Detect_It_Easy-3.22-x86_64.AppImage
```

Run it

```bash
./Detect_It_Easy-3.22-x86_64.AppImage
```

### Run with Docker

Here's how to use DIE with Docker:

```bash
docker/diec.sh [FileName]
```