-
Notifications
You must be signed in to change notification settings - Fork 759
Installation
Qiling Framework is written in Python and supports multiple platforms and architectures. This guide covers various installation methods.
Qiling requires Python 3.8 or newer. For development, Python 3.11 is recommended as Qiling will transition to this version.
Windows:
- Use Microsoft Store to install Python 3.8 or newer
- Alternatively, download from python.org
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install python3 python3-pip python3-venvLinux (Red Hat/CentOS/Fedora):
sudo dnf install python3 python3-pip python3-venv
# or for older versions
sudo yum install python3 python3-pip python3-venvmacOS:
# Using Homebrew
brew install python3
# Using MacPorts
sudo port install python310Using a virtual environment keeps Qiling's dependencies isolated from other Python projects.
# Create virtual environment
python3 -m venv qlenv
# Activate on Linux/macOS
source qlenv/bin/activate
# Activate on Windows
qlenv\Scripts\activateThe simplest installation method:
Stable Release:
pip install qilingDevelopment Branch (Latest Features):
pip install --user https://github.com/qilingframework/qiling/archive/dev.zipRecommended for users who want to:
- Develop tools on top of Qiling
- Stay current with latest fixes
- Contribute to the project
git clone -b dev https://github.com/qilingframework/qiling.git
cd qiling
git submodule update --init --recursive
pip install .For Development:
pip install -e . # Editable installFor minimal system impact and easy cleanup:
Pull the Image:
docker pull qilingframework/qiling:latestRun Container:
docker run -it qilingframework/qiling:latestWith Port Publishing (for network services):
docker run -it -p 8080:8080 qilingframework/qiling:latestWith Volume Mounting:
docker run -it -v /path/to/your/files:/qiling/work qilingframework/qiling:latestDue to legal reasons, Qiling cannot bundle Windows DLL files. If you have a legal Windows copy, collect required DLLs:
- Run as Administrator:
examples\scripts\dllscollector.bat- For Docker users, bind-mount DLLs:
docker run -dt --name qiling \
-v /analysis/win/rootfs/x86_windows:/qiling/examples/rootfs/x86_windows \
-v /analysis/win/rootfs/x8664_windows:/qiling/examples/rootfs/x8664_windows \
qilingframework/qiling:latestOn macOS 10.14+, keystone-engine may fail to compile. Install from source:
git clone https://github.com/keystone-engine/keystone
cd keystone
mkdir build
cd build
../make-share.sh
cd ../bindings/python
sudo make installThen install Qiling:
pip install qilingSome distributions may require additional packages:
Ubuntu/Debian:
sudo apt install build-essential cmakeRed Hat/CentOS/Fedora:
sudo dnf install gcc gcc-c++ cmake makeFor fuzzing capabilities:
pip install qiling[afl]For advanced analysis:
pip install qiling[r2]pip install qiling[all]Test your installation:
from qiling import Qiling
from qiling.const import QL_ARCH, QL_OS
# Test basic import
print("Qiling installed successfully!")
# Test shellcode emulation
shellcode = b'\x48\x31\xc0' # xor rax, rax
ql = Qiling(code=shellcode, archtype=QL_ARCH.X8664, ostype=QL_OS.LINUX)
print("Basic functionality works!")Or use the command line tool:
qltool --helpImport Error: No module named 'qiling'
- Ensure you're in the correct virtual environment
- Verify installation with
pip list | grep qiling
Unicorn Engine Installation Issues
pip install --upgrade unicornPermission Errors
- Use virtual environment instead of system-wide installation
- On Linux/macOS, avoid
sudo pip install
Windows: Missing Visual C++ Build Tools
- Install Microsoft C++ Build Tools
- Or use pre-compiled packages:
pip install --only-binary=all qiling
- 🐛 Issues: GitHub Issues
- 💬 Chat: Telegram
- 📧 Email: [email protected]
After installation, check out:
- Getting Started - Learn basic usage
- Examples - Sample code
- API Reference - Detailed documentation
- Home
- Getting Started
- Core Concepts
- Usage
- Features
- Tutorials
- Development
- Resources