Skip to content

Latest commit

 

History

History
118 lines (82 loc) · 2.02 KB

File metadata and controls

118 lines (82 loc) · 2.02 KB

Installation Guide

Quick Install

On Gentoo Linux

# Enable Python bindings for capstone
echo "dev-libs/capstone python" >> /etc/portage/package.use/checksysasm

# Install dependencies from Gentoo repos
emerge dev-libs/capstone dev-python/pyelftools dev-python/setuptools gentoolkit

# Install checksysasm
cd /path/to/CheckSysAsm

# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate

# Install in development mode
pip install -e .

Using pip (any Linux)

cd /path/to/CheckSysAsm

# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies and checksysasm
pip install capstone pyelftools
pip install -e .

Verify Installation

# Check if installed correctly
checksysasm --version

# Or run as module
python3 -m checksysasm --version

Test Run

Test on a single binary first:

# Check a specific binary
checksysasm -m x86-64-v2 --check-binary /usr/bin/ls -v

Development Setup

For development:

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install in development mode with dependencies
pip install -e .

# Install dev dependencies
pip install pytest black

# Run from source
python3 -m checksysasm --help

Troubleshooting

ImportError: No module named 'elftools'

# Ensure venv is activated first
source venv/bin/activate
pip install pyelftools

ImportError: No module named 'capstone'

# On Gentoo (ensure python USE flag is enabled)
echo "dev-libs/capstone python" >> /etc/portage/package.use/checksysasm
emerge dev-libs/capstone

# Or with pip in venv
source venv/bin/activate
pip install capstone

equery not found

# Install gentoolkit
emerge gentoolkit

Permission denied when scanning

Some directories require root access. Run with sudo:

sudo checksysasm -m x86-64-v2

Or scan specific directories you have access to:

checksysasm -m x86-64-v2 --scan-path ~/bin --scan-path /opt