Code Genome is a framework for extracting semantic code fingerprints or "genes" from executable binaries or source code.
Core functionalities of the framework are gene extraction from binaries, gene-level binary diffing (genediff
), and gene search.
To clone this repo, run
git clone https://github.com/code-genome/codegenome.git
cd codegenome
git submodule update --init --recursive
To start a docker based instance, run
make start
This will start a CodeGenome UI instance at http://localhost:5000
To stop the instance, run
make stop
Cache data for processed files are located by default at ~/.cg/cache
folder.
To build a docker image locally, run
make docker-builds
make start_local
A local build and installation will require RetDec and LLVM.
Build is currently supported only on Debian-based distributions (e.g. Ubuntu).
Create a virtual environment.
python -mvenv .venv
. .venv/bin/activate
Install dependencies.
make deps
Install codegenome
.
pip install .
Run a CLI tool.
cg genediff /path/to/binary1 /path/to/binary2
Check out our contributing guide to learn how to contribute.