Full Code of zardus/ctf-tools for AI

master e7f53b03d705 cached
154 files
57.7 KB
22.0k tokens
1 requests
Download .txt
Repository: zardus/ctf-tools
Branch: master
Commit: e7f53b03d705
Files: 154
Total size: 57.7 KB

Directory structure:
gitextract_erjatswu/

├── .dockerignore
├── .gitignore
├── Dockerfile
├── Dockerfile.archlinux
├── Dockerfile.artful
├── Dockerfile.fedora
├── LICENSE
├── README.md
├── angr/
│   ├── install
│   └── install-root-debian
├── angr-management/
│   ├── install
│   └── install-root-debian
├── beef/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── burpsuite/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── codext/
│   └── install
├── commix/
│   └── install
├── cribdrag/
│   └── install
├── cross2/
│   └── install
├── crosstool/
│   ├── install
│   ├── install-root-archlinux
│   ├── install-root-debian
│   └── uninstall
├── decomp2dbg/
│   └── install
├── df/
│   ├── install
│   └── install-root-debian
├── elfkickers/
│   └── install
├── elfparser/
│   ├── install
│   └── install-root-debian
├── evilize/
│   └── install
├── fastcoll/
│   └── install
├── featherduster/
│   ├── install
│   └── install-root-debian
├── firmware-mod-kit/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── foresight/
│   └── install
├── galois/
│   └── install
├── gdb/
│   ├── install
│   ├── install-root-archlinux
│   ├── install-root-debian
│   └── install-root-fedora
├── gef/
│   └── install
├── ghidra/
│   ├── install
│   └── install-root-debian
├── hash-identifier/
│   ├── install
│   └── install-root-debian
├── hashpump-partialhash/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── honggfuzz/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── ida/
│   ├── install
│   └── install-root-debian
├── jdgui/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── libc-database/
│   ├── install
│   └── install-root-debian
├── manticore/
│   ├── install
│   └── install-root-debian
├── mitmproxy/
│   ├── install
│   └── install-root-debian
├── msieve/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── nonce-disrespect/
│   ├── install
│   └── install-root-debian
├── one_gadget/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── pdf-parser/
│   └── install
├── peepdf/
│   └── install
├── pemcrack/
│   ├── install
│   └── install-root-debian
├── pkcrack/
│   ├── install
│   └── install-root-debian
├── preeny/
│   └── install
├── pwndbg/
│   ├── install
│   ├── install-root-archlinux
│   ├── install-root-debian
│   └── install-root-fedora
├── pwninit/
│   ├── install
│   └── install-root-debian
├── pwnsh/
│   └── install
├── pwntools/
│   ├── install
│   ├── install-root-archlinux
│   ├── install-root-debian
│   └── install-root-fedora
├── python2/
│   ├── install
│   └── install-root-debian
├── qemu/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── qiling/
│   ├── install
│   └── install-root-debian
├── qira/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── rappel/
│   ├── install
│   └── install-root-debian
├── reveng/
│   └── install
├── ropper/
│   ├── install
│   └── test
├── rp++/
│   └── install
├── rsactftool/
│   ├── install
│   └── install-root-debian
├── scrdec18/
│   └── install
├── seccomp-tools/
│   ├── install
│   └── install-root-debian
├── shellnoob/
│   └── install
├── social-analyzer/
│   └── install
├── ssh_decoder/
│   └── install
├── sslsplit/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── steganabara/
│   └── install
├── stegano-tools/
│   ├── install
│   └── uninstall
├── stegdetect/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── stegosaurus/
│   └── install
├── stegsolve/
│   └── install
├── subbrute/
│   └── install
├── taintgrind/
│   └── install
├── tor-browser/
│   └── install
├── valgrind/
│   └── install
├── veles/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── villoc/
│   └── install
├── volatility/
│   └── install
├── volatility3/
│   └── install
├── webgrep/
│   ├── install
│   ├── install-root-archlinux
│   ├── install-root-debian
│   ├── install-root-fedora
│   └── install-root-ubuntu
├── xortool/
│   └── install
├── xrop/
│   ├── install
│   └── install-root-debian
├── xspy/
│   ├── install
│   └── install-root-debian
├── yafu/
│   ├── install
│   └── test
└── zsteg/
    ├── install
    ├── install-root-archlinux
    ├── install-root-debian
    └── uninstall

================================================
FILE CONTENTS
================================================

================================================
FILE: .dockerignore
================================================
*
!.git
!.docker
!bin/


================================================
FILE: .gitignore
================================================
*/*
bin/*
!*/install
!*/uninstall
!*/install-root-*
!*/upgrade
!*/test


================================================
FILE: Dockerfile
================================================
FROM ubuntu:noble

run <<END
    export DEBIAN_FRONTEND="noninteractive" 
    apt-get -q update 
    apt-get dist-upgrade -y --no-install-recommends --auto-remove 
    apt-get install -y --no-install-recommends --auto-remove \
        build-essential libtool g++ gcc rubygems \
        texinfo curl wget automake autoconf python3 python3-dev git \
        unzip virtualenvwrapper sudo subversion ca-certificates
    apt-get -q clean 
    rm -rf /var/lib/apt/lists/*
END

RUN sed -i -e "s/Types: deb/Types: deb deb-src/g" /etc/apt/sources.list.d/ubuntu.sources

RUN userdel -f -r ubuntu; useradd -m ctf
RUN echo "ctf ALL=NOPASSWD: ALL" > /etc/sudoers.d/ctf

USER ctf
WORKDIR /home/ctf/tools
ADD --chown=ctf:ctf bin/manage-tools /home/ctf/tools/bin/manage-tools
RUN bin/manage-tools -s setup
ADD --chown=ctf:ctf .git /home/ctf/tools/.git
RUN git checkout .

ARG PREINSTALL=""
RUN <<END
    for TOOL in $PREINSTALL
    do
    	/home/ctf/tools/bin/manage-tools -s -v install $TOOL
    done
END

ENV PATH=/home/ctf/tools/bin:/bin:/sbin
WORKDIR /home/ctf


================================================
FILE: Dockerfile.archlinux
================================================
from base/archlinux

RUN cat /etc/pacman.d/mirrorlist \ 
        | sed 's/^#Server/Server/' \
        > /etc/pacman.d/mirrorlist.backup \
        && rankmirrors -n 10 /etc/pacman.d/mirrorlist.backup \
        > /etc/pacman.d/mirrorlist

RUN echo "[multilib]" >> /etc/pacman.conf
RUN echo "Include = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf

RUN pacman -Syy \
    && pacman -S --noconfirm archlinux-keyring \
    && pacman -Scc --noconfirm
RUN pacman-key --refresh-keys
RUN pacman -Syu --noconfirm \
    && pacman-db-upgrade \
    && pacman -Scc --noconfirm \
    && pacman -Syu --noconfirm \
    && pacman -Scc --noconfirm
RUN trust extract-compat
RUN pacman -Syu --noconfirm --needed \
        curl wget python3 git subversion \
        python-pip \
        unzip python-virtualenvwrapper \
        zsh grml-zsh-config \
        sudo which \
    && pacman -Scc --noconfirm

RUN useradd -m ctf
RUN echo "ctf ALL=NOPASSWD: ALL" > /etc/sudoers.d/ctf
RUN chsh -s /usr/bin/zsh ctf

COPY .git /home/ctf/tools/.git
RUN chown -R ctf.ctf /home/ctf/tools

USER ctf

WORKDIR /home/ctf/tools
RUN git checkout .

# add non-commited scripts
USER root
COPY bin/manage-tools /home/ctf/tools/bin/
RUN chown -R ctf.ctf /home/ctf/tools

USER ctf
RUN bin/manage-tools -s setup

WORKDIR /home/ctf
CMD ["zsh", "-i"]


================================================
FILE: Dockerfile.artful
================================================
FROM ubuntu:artful

# wrapper script for apt-get
COPY .docker/apt-get-install /usr/local/bin/apt-get-install
RUN chmod +x /usr/local/bin/apt-get-install

RUN apt-get-install build-essential libtool g++ gcc \
    texinfo curl wget automake autoconf python python-dev git subversion \
    unzip virtualenvwrapper sudo  git virtualenvwrapper

RUN useradd -m ctf
RUN echo "ctf ALL=NOPASSWD: ALL" > /etc/sudoers.d/ctf

COPY .git /home/ctf/tools/.git
RUN chown -R ctf.ctf /home/ctf/tools

# git checkout of the files
USER ctf
WORKDIR /home/ctf/tools
RUN git checkout .

# add non-commited scripts
USER root
COPY bin/manage-tools /home/ctf/tools/bin/
RUN chown -R ctf.ctf /home/ctf/tools

# finally run ctf-tools setup
USER ctf
RUN bin/manage-tools -s setup

WORKDIR /home/ctf
#CMD bash -i


================================================
FILE: Dockerfile.fedora
================================================
FROM fedora

RUN dnf -y install which sudo git redhat-lsb

RUN useradd -m ctf
COPY .git /home/ctf/tools/.git
RUN chown -R ctf.ctf /home/ctf/tools

RUN echo "ctf ALL=NOPASSWD: ALL" > /etc/sudoers.d/ctf
USER ctf

WORKDIR /home/ctf/tools
RUN git checkout .

# add non-commited scripts
USER root
COPY bin/manage-tools /home/ctf/tools/bin/
COPY bin/ctf-tools-pip /home/ctf/tools/bin/
COPY bin/ctf-tools-venv-activate /home/ctf/tools/bin/
COPY bin/ctf-tools-venv-activate3 /home/ctf/tools/bin/
RUN chown -R ctf.ctf /home/ctf/tools

USER ctf
RUN bin/manage-tools -s setup
RUN bin/ctf-tools-pip install appdirs
RUN echo 'source $(which ctf-tools-venv-activate)' >> /home/ctf/.bashrc

WORKDIR /home/ctf
CMD bash -i


================================================
FILE: LICENSE
================================================
BSD 3-Clause License

Copyright (c) 2019-present, Zardus and contributors
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

* Neither the name of the copyright holder nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


================================================
FILE: README.md
================================================
# ctf-tools

This is a collection of setup scripts to create an install of various security research tools.
Of course, this isn't a hard problem, but it's really nice to have them in one place that's easily deployable to new machines and so forth.
The install-scripts for these tools are checked every once in a while, so things should hopefully have a decent chance of working!

Installers for the following tools are included:

| Category | Tool | Description |
|----------|------|-------------|
| binary | [angr](http://angr.io) | ![Last Build](https://img.shields.io/docker/v/ctftools/angr?label=built) Next-generation binary analysis engine from Shellphish. | <!--tool-->
| binary | [angr-management](http://angr.io) | ![Last Build](https://img.shields.io/docker/v/ctftools/angr-management?label=built) A GUI reverse engineering and decompilation tool. | <!--tool-->
| binary | [beef](https://github.com/beefproject/beef) | ![Last Build](https://img.shields.io/docker/v/ctftools/beef?label=built) Browser exploitation framework. | <!--tool-->
| binary | [crosstool](http://crosstool-ng.org/) | ![Last Build](https://img.shields.io/docker/v/ctftools/crosstool?label=built) Cross-compilers and cross-architecture tools. | <!--tool--><!--no-test-->
| binary | [cross2](http://kozos.jp/books/asm/asm.html) | ![Last Build](https://img.shields.io/docker/v/ctftools/cross2?label=built) A set of cross-compilation tools from a Japanese book on C. | <!--tool--><!--no-test-->
| binary | [decomp2dbg](https://github.com/mahaloz/decomp2dbg) | ![Last Build](https://img.shields.io/docker/v/ctftools/decomp2dbg?label=built)  A plugin to introduce interactive symbols into your debugger from your decompiler. | <!--tool-->
| binary | [elfkickers](http://www.muppetlabs.com/~breadbox/software/elfkickers.html) | ![Last Build](https://img.shields.io/docker/v/ctftools/elfkickers?label=built) A set of utilities for working with ELF files. | <!--tool-->
| binary | [elfparser](https://github.com/mentebinaria/elfparser-ng) | ![Last Build](https://img.shields.io/docker/v/ctftools/elfparser?label=built) Multiplatform CLI and GUI tool to show information about ELF files. | <!--tool-->
| binary | [evilize](http://www.mathstat.dal.ca/~selinger/md5collision/) | ![Last Build](https://img.shields.io/docker/v/ctftools/evilize?label=built) Tool to create MD5 colliding binaries | <!--tool-->
| binary | [gdb](http://www.gnu.org/software/gdb/) | ![Last Build](https://img.shields.io/docker/v/ctftools/gdb?label=built) Up-to-date gdb with python2 bindings. | <!--tool--><!--slow-test-->
| binary | [gef](https://github.com/hugsy/gef) | ![Last Build](https://img.shields.io/docker/v/ctftools/gef?label=built) Enhanced environment for gdb. | <!--tool-->
| binary | [ghidra](https://ghidra-sre.org/) | ![Last Build](https://img.shields.io/docker/v/ctftools/ghidra?label=built) Open-source reverse engineering and decompilation tool. | <!--tool-->
| binary | [honggfuzz](https://github.com/google/honggfuzz) | ![Last Build](https://img.shields.io/docker/v/ctftools/honggfuzz?label=built) A general-purpose, easy-to-use fuzzer with interesting analysis options. | <!--tool-->
| binary | [ida](https://hex-rays.com/ida-free) | Decompilation and reversing tool (requires you to download it to ~/Downloads on your own!). | <!--tool--><!--no-test-->
| binary | [manticore](https://github.com/trailofbits/manticore) | ![Last Build](https://img.shields.io/docker/v/ctftools/manticore?label=built) Manticore is a prototyping tool for dynamic binary analysis, with support for symbolic execution, taint analysis, and binary instrumentation. | <!--tool-->
| binary | [one_gadget](https://github.com/david942j/one_gadget) | ![Last Build](https://img.shields.io/docker/v/ctftools/one_gadget?label=built) Magic gadget search for libc. | <!--tool--> 
| binary | [preeny](https://github.com/zardus/preeny) | ![Last Build](https://img.shields.io/docker/v/ctftools/preeny?label=built) A collection of helpful preloads (compiled for many architectures!). | <!--tool-->
| binary | [pwninit](https://github.com/io12/pwninit) | ![Last Build](https://img.shields.io/docker/v/ctftools/pwninit?label=built) Script to automate starting pwning challenges. | <!--tool-->
| binary | [pwndbg](https://github.com/pwndbg/pwndbg) | ![Last Build](https://img.shields.io/docker/v/ctftools/pwndbg?label=built) Enhanced environment for gdb. Especially for pwning. | <!--tool-->
| binary | [pwnsh](https://github.com/zardus/pwnsh) | ![Last Build](https://img.shields.io/docker/v/ctftools/pwnsh?label=built) Useful shell scripts for assembly, exploitation, etc. | <!--tool-->
| binary | [pwntools](https://github.com/Gallopsled/pwntools) | ![Last Build](https://img.shields.io/docker/v/ctftools/pwntools?label=built) Useful CTF utilities. | <!--tool-->
| binary | [qemu](http://qemu.org) | ![Last Build](https://img.shields.io/docker/v/ctftools/qemu?label=built) Latest version of qemu! | <!--tool--><!--slow-test-->
| binary | [qiling](https://github.com/qilingframework/qiling) | ![Last Build](https://img.shields.io/docker/v/ctftools/qiling?label=built) A dynamic binary instrumentation framework. | <!--tool-->
| binary | [qira](http://qira.me) | ![Last Build](https://img.shields.io/docker/v/ctftools/qira?label=built) Parallel, timeless debugger. | <!--tool--><!--slow-test-->
| binary | [rappel](https://github.com/yrp604/rappel) | ![Last Build](https://img.shields.io/docker/v/ctftools/rappel?label=built) A linux-based assembly REPL. | <!--tool-->
| binary | [ropper](https://github.com/sashs/Ropper) | ![Last Build](https://img.shields.io/docker/v/ctftools/ropper?label=built) Another gadget finder. | <!--tool-->
| binary | [rp++](https://github.com/0vercl0k/rp) | ![Last Build](https://img.shields.io/docker/v/ctftools/rp?label=built) Another gadget finder. | <!--tool-->
| binary | [seccomp-tools](https://github.com/david942j/seccomp-tools) | ![Last Build](https://img.shields.io/docker/v/ctftools/seccomp-tools?label=built) Provides powerful tools for seccomp analysis | <!--tool-->
| binary | [shellnoob](https://github.com/reyammer/shellnoob) | ![Last Build](https://img.shields.io/docker/v/ctftools/shellnoob?label=built) Shellcode writing helper. | <!--tool-->
| binary | [taintgrind](https://github.com/wmkhoo/taintgrind) | ![Last Build](https://img.shields.io/docker/v/ctftools/taintgrind?label=built) A valgrind taint analysis tool. | <!--tool--><!--failing-->
| binary | [valgrind](http://valgrind.org) | ![Last Build](https://img.shields.io/docker/v/ctftools/valgrind?label=built) A Dynamic Binary Instrumentation framework with some built-in tools. | <!--tool-->
| binary | [villoc](https://github.com/wapiflapi/villoc) | ![Last Build](https://img.shields.io/docker/v/ctftools/villoc?label=built) Visualization of heap operations. | <!--tool-->
| binary | [xrop](https://github.com/acama/xrop) | ![Last Build](https://img.shields.io/docker/v/ctftools/xrop?label=built) Gadget finder. | <!--tool--><!--failing-->
| forensics | [firmware-mod-kit](https://code.google.com/p/firmware-mod-kit/) | ![Last Build](https://img.shields.io/docker/v/ctftools/firmware-mod-kit?label=built) Tools for firmware packing/unpacking. | <!--tool-->
| forensics | [pdf-parser](http://blog.didierstevens.com/programs/pdf-tools/) | ![Last Build](https://img.shields.io/docker/v/ctftools/pdf-parser?label=built) Tool for digging in PDF files | <!--tool-->
| forensics | [peepdf](https://github.com/cert-ee/peepdf) | ![Last Build](https://img.shields.io/docker/v/ctftools/peepdf?label=built) Powerful Python tool to analyze PDF documents. | <!--tool-->
| forensics | [scrdec18](https://gist.github.com/bcse/1834878) | ![Last Build](https://img.shields.io/docker/v/ctftools/scrdec18?label=built) A decoder for encoded Windows Scripts. | <!--tool-->
| forensics | [volatility](https://github.com/volatilityfoundation/volatility) | ![Last Build](https://img.shields.io/docker/v/ctftools/volatility?label=built) Analyzer for system memory dumps (classic python2 version; requires python2 tool). | <!--tool-->
| forensics | [volatility3](https://github.com/volatilityfoundation/volatility3) | ![Last Build](https://img.shields.io/docker/v/ctftools/volatility3?label=built) Analyzer for system memory dumps (latest version). | <!--tool-->
| crypto | [codext](https://github.com/dhondta/python-codext) | ![Last Build](https://img.shields.io/docker/v/ctftools/codext?label=built) Python codecs extension featuring CLI tools for encoding/decoding anything including AI-based guessing mode. | <!--tool-->
| crypto | [cribdrag](https://github.com/SpiderLabs/cribdrag) | ![Last Build](https://img.shields.io/docker/v/ctftools/cribdrag?label=built) Interactive crib dragging tool (for crypto). | <!--tool-->
| crypto | [fastcoll](https://www.win.tue.nl/hashclash/) | ![Last Build](https://img.shields.io/docker/v/ctftools/fastcoll?label=built) An md5sum collision generator. | <!--tool-->
| crypto | [foresight](https://github.com/ALSchwalm/foresight) | ![Last Build](https://img.shields.io/docker/v/ctftools/foresight?label=built) A tool for predicting the output of random number generators. To run, launch "foresee". | <!--tool-->
| crypto | [featherduster](https://github.com/nccgroup/featherduster) | ![Last Build](https://img.shields.io/docker/v/ctftools/featherduster?label=built)  An automated, modular cryptanalysis tool. WARNING: needs python2 (which can be installed with ctf-tools). | <!--tool-->
| crypto | [galois](http://web.eecs.utk.edu/~plank/plank/papers/CS-07-593) | ![Last Build](https://img.shields.io/docker/v/ctftools/galois?label=built) A fast galois field arithmetic library/toolkit. | <!--tool-->
| crypto | [hashpump-partialhash](https://github.com/mheistermann/HashPump-partialhash) | ![Last Build](https://img.shields.io/docker/v/ctftools/hashpump-partialhash?label=built) Hashpump, supporting partially-unknown hashes. | <!--tool-->
| crypto | [hash-identifier](https://code.google.com/p/hash-identifier/source/checkout) | ![Last Build](https://img.shields.io/docker/v/ctftools/hash-identifier?label=built) Simple hash algorithm identifier. | <!--tool-->
| crypto | [libc-database](https://github.com/niklasb/libc-database) | ![Last Build](https://img.shields.io/docker/v/ctftools/libc-database?label=built) Build a database of libc offsets to simplify exploitation. | <!--tool--><!--slow-test-->
| crypto | [msieve](http://sourceforge.net/projects/msieve/) | ![Last Build](https://img.shields.io/docker/v/ctftools/msieve?label=built) Msieve is a C library implementing a suite of algorithms to factor large integers. | <!--tool-->
| crypto | [nonce-disrespect](https://github.com/nonce-disrespect/nonce-disrespect) | ![Last Build](https://img.shields.io/docker/v/ctftools/nonce-disrespect?label=built) Nonce-Disrespecting Adversaries: Practical Forgery Attacks on GCM in TLS. | <!--tool-->
| crypto | [pemcrack](https://github.com/robertdavidgraham/pemcrack) | ![Last Build](https://img.shields.io/docker/v/ctftools/pemcrack?label=built) SSL PEM file cracker. | <!--tool-->
| crypto | [pkcrack](https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack.html) | ![Last Build](https://img.shields.io/docker/v/ctftools/pkcrack?label=built) PkZip encryption cracker. | <!--tool-->
| crypto | [reveng](http://reveng.sourceforge.net/) | ![Last Build](https://img.shields.io/docker/v/ctftools/reveng?label=built) CRC finder. | <!--tool-->
| crypto | [rsactftool](https://github.com/RsaCtfTool/RsaCtfTool) | ![Last Build](https://img.shields.io/docker/v/ctftools/rsactftool?label=built) RSA attack tool. | <!--tool-->
| crypto | [ssh_decoder](https://github.com/jjyg/ssh_decoder) | ![Last Build](https://img.shields.io/docker/v/ctftools/ssh_decoder?label=built) A tool for decoding ssh traffic. You will need `ruby1.8` from `https://launchpad.net/~brightbox/+archive/ubuntu/ruby-ng` to run this. Run with `ssh_decoder --help` for help, as running it with no arguments causes it to crash. | <!--tool-->
| crypto | [sslsplit](https://github.com/droe/sslsplit) | ![Last Build](https://img.shields.io/docker/v/ctftools/sslsplit?label=built) SSL/TLS MITM. | <!--tool-->
| crypto | [xortool](https://github.com/hellman/xortool) | ![Last Build](https://img.shields.io/docker/v/ctftools/xortool?label=built) XOR analysis tool. | <!--tool-->
| crypto | [yafu](http://sourceforge.net/projects/yafu/) | ![Last Build](https://img.shields.io/docker/v/ctftools/yafu?label=built) Automated integer factorization. | <!--tool-->
| web | [burpsuite](http://portswigger.net/burp) | ![Last Build](https://img.shields.io/docker/v/ctftools/burpsuite?label=built) Web proxy to do naughty web stuff. | <!--tool--><!--failing-->
| web | [commix](https://github.com/stasinopoulos/commix) | ![Last Build](https://img.shields.io/docker/v/ctftools/commix?label=built) Command injection and exploitation tool. | <!--tool-->
| web | [mitmproxy](https://mitmproxy.org/) | ![Last Build](https://img.shields.io/docker/v/ctftools/mitmproxy?label=built) CLI Web proxy and python library.  | <!--tool-->
| web | [subbrute](https://github.com/TheRook/subbrute) | ![Last Build](https://img.shields.io/docker/v/ctftools/subbrute?label=built) A DNS meta-query spider that enumerates DNS records, and subdomains. | <!--tool-->
| web | [webgrep](https://github.com/dhondta/webgrep) | ![Last Build](https://img.shields.io/docker/v/ctftools/webgrep?label=built) `grep` for Web pages, with JS deobfuscation, CSS unminifying and OCR on images. | <!--tool-->
| stego | [steganabara](http://www.caesum.com/handbook/stego.htm) | ![Last Build](https://img.shields.io/docker/v/ctftools/steganabara?label=built) Another image stenography solver. | <!--tool-->
| stego | [stegano-tools](https://github.com/dhondta/stegano-tools) | ![Last Build](https://img.shields.io/docker/v/ctftools/stegano-tools?label=built) A collection of text and image steganography tools (incl LSB, PVD, PIT). | <!--tool-->
| stego | [stegdetect](http://www.outguess.org/) | ![Last Build](https://img.shields.io/docker/v/ctftools/stegdetect?label=built) Stenography detection/breaking tool. | <!--tool-->
| stego | [stegsolve](http://www.caesum.com/handbook/stego.htm) | ![Last Build](https://img.shields.io/docker/v/ctftools/stegsolve?label=built) Image stenography solver. | <!--tool-->
| stego | [stegosaurus](https://github.com/AngelKitty/stegosaurus) | ![Last Build](https://img.shields.io/docker/v/ctftools/stegosaurus?label=built) A steganography tool for embedding arbitrary payloads in Python bytecode (pyc or pyo) files. | <!--tool-->
| stego | [zsteg](https://github.com/zed-0xff/zsteg) | ![Last Build](https://img.shields.io/docker/v/ctftools/zsteg?label=built) detect stegano-hidden data in PNG & BMP. | <!--tool-->
| misc | [jdgui](http://jd.benow.ca/) | ![Last Build](https://img.shields.io/docker/v/ctftools/jdgui?label=built) Java decompiler. | <!--tool-->
| misc | [python2](https://www.python.org/downloads/release/python-2718/) | ![Last Build](https://img.shields.io/docker/v/ctftools/python2?label=built) For when you really need it... | <!--tool-->
| misc | [social-analyzer](https://github.com/qeeqbox/social-analyzer) | ![Last Build](https://img.shields.io/docker/v/ctftools/social-analyzer?label=built) Social media reconnaissance tool... | <!--tool-->
| misc | [veles](https://codisec.com/veles/) | ![Last Build](https://img.shields.io/docker/v/ctftools/veles?label=built) Binary data analysis and visualization tool. | <!--tool-->
| misc | [xspy](https://gitlab.com/kalilinux/packages/xspy) | ![Last Build](https://img.shields.io/docker/v/ctftools/xspy?label=built) Tiny tool to spy on X sessions. | <!--tool-->


There are also some installers for non-CTF stuff to break the monotony!

| Category | Tool | Description |
|----------|------|-------------|
| game | [df](http://www.bay12games.com/dwarves/) | ![Last Build](https://img.shields.io/docker/v/ctftools/df?label=built) Dwarf Fortress! Something to help you relax after a CTF! | <!--tool-->
| web | [tor-browser](https://www.torproject.org/projects/torbrowser.html.en) | ![Last Build](https://img.shields.io/docker/v/ctftools/tor-browser?label=built) Useful when you need to hit a web challenge from different IPs. | <!--tool-->

## Usage

To use, do:

```bash
# set up the path
/path/to/ctf-tools/bin/manage-tools setup
source ~/.bashrc

# list the available tools
manage-tools list

# install gdb, allowing it to try to sudo install dependencies
manage-tools -s install gdb

# install pwntools, but don't let it sudo install dependencies
manage-tools install pwntools

# install qemu, but use "nice" to avoid degrading performance during compilation
manage-tools -n install qemu

# uninstall gdb
manage-tools uninstall gdb

# uninstall all tools
manage-tools uninstall all

# search for a tool
manage-tools search preload
```

Where possible, the tools keep the installs very self-contained (i.e., in to tool/ directory), and most uninstalls are just calls to `git clean` (**NOTE**, this is **NOT** careful; everything under the tool directory, including whatever you were working on, is blown away during an uninstall).

Python and Ruby tools are installed in a tool-specific virtual environment.
If you want to add other packages to this environment, look under the `ctf-tools/TOOL/pipx` or `ctf-tools/TOOL/gems` directories.

## Help!

Something not working?
I didn't write (almost) any of these tools, but hit up [the discord](https://discord.gg/KRcjyn4pBH) if you're desperate.
Maybe some kind soul will help!

## Dockerized Tools

### Prebuilt Tool Containers

You can get most of these tools in prebuilt containers from [https://hub.docker.com/r/ctftools](dockerhub).
For example:

```console
$ echo hi | docker run -i ctftools/taintgrind taintgrind --taint-stdin=yes /bin/cat
/home/ctf/tools/taintgrind/valgrind-3.21.0/build/bin/valgrind --tool=taintgrind --taint-stdin=yes /bin/cat
==8== Taintgrind, the taint analysis tool
==8== Copyright (C) 2010-2018, and GNU GPL'd, by Wei Ming Khoo.
==8== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==8== Command: /bin/cat
==8==
0xFFFFFFFF: _syscall_read | Read:3 | 0x0 | 4a5a000_unknownobj
hi
==8== 
```

### Building Your Own

You can build a docker image with:

```bash
git clone https://github.com/zardus/ctf-tools
cd ctf-tools
docker build -t ctf-tools --build-arg PREINSTALLED=some-tool .
```

And run it with:

```bash
docker run -it ctf-tools
```

The built image will have ctf-tools cloned and ready to go and your tool installed.

## Kali Linux

Kali Linux (Sana and Rolling), due to manually setting certain libraries to not use the latest version available (sometimes being out of date by years) causes some tools to not install at all, or fail in strange ways.
Overriding these libraries breaks other tools included in Kali so your only solution is to either live with some of Kali's tools being broken, use docker, or running another distribution separately such as Ubuntu.

## Adding Tools

To add a tool (say, named *toolname*), do the following:

1. Create a `toolname` directory.
2. Create an `install` script.
3. Add it to the readme.
4. (optional) if special uninstall steps are required, create an `uninstall` script.

### Install Scripts

The install script will be run with `$PWD` being `toolname`. It should install the tool into this directory, in as contained a manner as possible.
Ideally, full uninstallation should be possible with a `git clean`.

The install script should create a `bin` directory and put its executables there.
These executables will be automatically linked into the main `bin` directory for the repo.
They could be launched from any directory, so don't make assumptions about the location of `$0`!

## License

The individual tools are all licensed under their own licenses.
As for ctf-tools itself, it is licensed under BSD 2-Clause License.
If you find it useful, star it on github (https://github.com/zardus/ctf-tools).

Good luck!

# See Also

There's a curated list of CTF tools, but without installers, here: https://github.com/apsdehal/aWEsoMe-cTf.

There's a Vagrant config with a lot of the bigger frameworks here: https://github.com/thebarbershopper/epictreasure.

## Useful CTF tools in apt repos

As tools get officially packaged, we switch to just suggesting that you apt install them!

| Category | Source | Tool | Description |
|----------|--------|------|-------------|
| binary | apt | [aflplusplus](https://github.com/AFLplusplus/AFLplusplus) | State-of-the-art fuzzer. |
| binary | apt | [checksec](https://github.com/slimm609/checksec.sh) | Check binary hardening settings. |
| binary | apt | [radare2](http://www.radare.org/) | Some crazy thing crowell likes. |
| binary | apt | [rr](http://rr-project.org) | Record and Replay Debugging Framework |
| binary | apt | [wcc](https://github.com/endrazine/wcc) |  The Witchcraft Compiler Collection is a collection of compilation tools to perform binary black magic on the GNU/Linux and other POSIX platforms. |
| forensics | apt | [binwalk](https://github.com/ReFirmLabs/binwalk) | Firmware (and arbitrary file) analysis tool. |
| forensics | apt | [foremost](http://foremost.sourceforge.net/) | File carver. |
| forensics | apt | [dislocker](http://www.hsc.fr/ressources/outils/dislocker/) | Tool for reading Bitlocker encrypted partitions. |
| forensics | apt | [origami-pdf](http://github.com/gdelugre/origami) | PDF manipulator. |
| forensics | apt | [testdisk](http://www.cgsecurity.org/wiki/TestDisk) | Testdisk and photorec for file recovery. |
| web | apt | [dirb](http://dirb.sourceforge.net/) | Web path scanner. |
| web | apt | [dirsearch](https://github.com/maurosoria/dirsearch) | Web path scanner. |
| web | apt | [sqlmap](http://sqlmap.org/) | SQL injection automation engine. |
| stego | apt | [pngtools](https://launchpad.net/ubuntu/+source/pngtools) | PNG's analysis tool. |
| stego | apt | [sonic-visualizer](http://www.sonicvisualiser.org/) | Audio file visualization. |
| networking | apt | [dsniff](http://www.monkey.org/~dugsong/dsniff/) | Grabs passwords and other data from pcaps/network streams. |
| networking | apt | [bettercap](https://www.bettercap.org/) | Network shenanigans swiss army knife. |
| misc | apt | [z3](https://github.com/Z3Prover/z3) | Theorem prover from Microsoft Research. |
| osint | apt | [sherlock](https://github.com/sherlock-project/sherlock) | Tools for Hunt down social media accounts by username across 400+ social networks . |

## Useful CTF tools in docker images

Previously, this repository included some scripts that were wrappers around `docker pull`.
We trust that you can do that yourself :-)

| Category | Source | Tool | Description |
|----------|--------|------|-------------|
| binary | docker | [panda](https://github.com/panda-re/panda) | Platform for Architecture-Neutral Dynamic Analysis. |
| stego | Docker | [stego-toolkit](https://github.com/DominicBreuker/stego-toolkit) | A docker image with dozens of steg tools. |

## Useful CTF Libraries

Previously, this repository included library installers.
Because of how bespoke library install preferences are (e.g., unlike a tool, it's not clear if per-library venvs are a desired thing), we've stopped shipping them, and link them here for posterity.

| Category | Source | Tool | Description |
|----------|--------|------|-------------|
| binary | Library | [capstone](http://www.capstone-engine.org) | Multi-architecture disassembly framework. |
| binary | Library | [keystone](http://www.keystone-engine.org) | Lightweight multi-architecture assembler framework. |
| binary | Library | [lief](https://lief.quarkslab.com/) | Library to Instrument Executable Formats. |
| binary | Library | [miasm](https://github.com/cea-sec/miasm) | Reverse engineering framework in Python. |
| binary | Library | [unicorn](http://www.unicorn-engine.org) | Multi-architecture CPU emulator framework. |
| binary | Library | [virtualsocket](https://github.com/antoniobianchi333/virtualsocket) | A nice library to interact with binaries. |
| crypto | Library | [cryptanalib3](https://github.com/unicornsasfuel/cryptanalib3) |  The surviving core of featherduster cryptanalysis tool, updated for python3. |
| crypto | Library | [python-paddingoracle](https://github.com/mwielgoszewski/python-paddingoracle) | Padding oracle attack automation. |


================================================
FILE: angr/install
================================================
#!/bin/bash -ex

pipx install angr
"$(dirname "${BASH_SOURCE[0]}")"/pipx/venvs/angr/bin/python -m pip install ipython


================================================
FILE: angr/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

# for angr
apt-get -y install virtualenvwrapper python3-dev python3-pip build-essential libxml2-dev \
    libxslt1-dev git libffi-dev cmake libreadline-dev libtool debootstrap \
    debian-archive-keyring libglib2.0-dev libpixman-1-dev qtdeclarative5-dev \
    binutils-multiarch nasm libc6:i386 libgcc1:i386 libstdc++6:i386 \
    libtinfo6:i386 zlib1g:i386 vim libssl-dev openjdk-8-jdk


================================================
FILE: angr-management/install
================================================
#!/bin/bash -ex

# Pin setuptools < 82 to ensure pkg_resources is available for building
# dependencies like pyqodeng (setuptools 82.0.0 removed pkg_resources).
export PIP_CONSTRAINT=$(mktemp)
echo 'setuptools<82' > "$PIP_CONSTRAINT"
pipx install angr-management
rm -f "$PIP_CONSTRAINT"


================================================
FILE: angr-management/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

# for angr
apt-get -y install virtualenvwrapper python3-dev python3-pip build-essential libxml2-dev \
    libxslt1-dev git libffi-dev cmake libreadline-dev libtool debootstrap \
    debian-archive-keyring libglib2.0-dev libpixman-1-dev qtdeclarative5-dev \
    binutils-multiarch nasm libc6:i386 libgcc1:i386 libstdc++6:i386 \
    libtinfo6:i386 zlib1g:i386 vim libssl-dev openjdk-8-jdk


================================================
FILE: beef/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/beefproject/beef

cd beef
rm Gemfile.lock
bundle install
cd ..

mkdir bin
cat <<END >bin/beef
#!/bin/bash
export GEM_PATH=$PWD/gems
export GEM_HOME=$PWD/gems
cd $PWD/beef # REQUIRED for ruby crap
./beef "\$@"
END
chmod 755 bin/beef


================================================
FILE: beef/install-root-archlinux
================================================
#!/bin/bash -ex

pacman -Syu --noconfirm --needed \
    ruby python2 ruby-bundler \
    git make gcc openssl patch readline \
    zlib libyaml libffi bzip2 autoconf automake \
    libtool bison sqlite


================================================
FILE: beef/install-root-debian
================================================
#!/bin/bash -ex

apt-get install -y curl git build-essential openssl libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libc6-dev libncurses5-dev automake libtool bison nodejs libcurl4-openssl-dev
apt-get install -y ruby ruby-rubygems ruby-dev ruby-bundler


================================================
FILE: burpsuite/install
================================================
#!/bin/bash -ex

wget -O ./burp.jar 'https://portswigger.net/DownloadUpdate.ashx?Product=Free'
chmod 755 ./burp.jar
mkdir -p bin
cd bin
ln -s ../burp.jar burpsuite
cd ..


================================================
FILE: burpsuite/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

pacman -Syu --noconfirm --needed jre7-openjdk


================================================
FILE: burpsuite/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

case "$(lsb_release -cs)" in
	noble)
		apt-get -y install openjdk-21-jre jarwrapper
		;;
	xenial)
		apt-get -o Dpkg::Options::="--force-overwrite" -y install openjdk-9-jre
		;;
	*)
		apt-get -y install openjdk-7-jre
		;;
esac


================================================
FILE: codext/install
================================================
#!/bin/bash -ex

pipx install codext


================================================
FILE: commix/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/commixproject/commix.git
mkdir bin
cd bin
ln -s ../commix/commix.py


================================================
FILE: cribdrag/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/SpiderLabs/cribdrag

mkdir bin
cd bin
ln -s ../cribdrag/* .
cd ..


================================================
FILE: cross2/install
================================================
#!/bin/bash -ex

FILE=cross2-20130826.tgz
INSTALL_DIR=$PWD

[ ! -e $FILE ] && wget https://kozos.jp/books/asm/$FILE
tar xf $FILE

cd cross2/toolchain
./fetch.sh
./setup.sh
cd ..
sed -i -e "s|#makeopt=.*|makeopt='-j'|" config.sh
sed -i -e "s|install_dir.*|install_dir=\"$INSTALL_DIR\"|" config.sh
cd build
./build-install-all.sh

#mkdir -p bin
#cd bin
#for i in ../*/bin/*
#do
#	F=$(basename $i)
#	D=$(basename $(dirname $(dirname $i)))
#	[ -f $D-$F ] || ln -s $i $D-$F
#done
#cd ..


================================================
FILE: crosstool/install
================================================
#!/bin/bash -ex

mkdir -p src
[ -e crosstool-ng ] || git clone --depth 1 https://github.com/crosstool-ng/crosstool-ng.git
pushd crosstool-ng
./bootstrap
./configure --enable-local
make -j $(nproc)
#make install
cp ../config .config

SAMPLES=$(ls samples | tr ',' '\n')

mkdir -p ../toolchains
for sample in $SAMPLES
do
	../build-sample.sh $sample || echo "$sample" >> ../toolchains/broken
	./ct-ng clean
done
popd

mkdir -p bin
pushd bin
for sample in $SAMPLES
do
	ln -sf ../toolchains/$sample/bin/* .
	rm -f '*'
done
popd


================================================
FILE: crosstool/install-root-archlinux
================================================
#!/bin/bash -ex

pacman -Syu --noconfirm gperf flex bison help2man gawk ncurses


================================================
FILE: crosstool/install-root-debian
================================================
#!/bin/bash -ex

apt-get install -y gperf flex bison help2man gawk libncurses5-dev libtool-bin


================================================
FILE: crosstool/uninstall
================================================
#!/bin/bash -ex

[ -e x-tools ] && chmod -R u+w x-tools
rm -rf crosstools-ng


================================================
FILE: decomp2dbg/install
================================================
#!/bin/bash -ex

pipx install decomp2dbg
[ -d ../gdb/venv ] && ../gdb/venv/bin/pip install decomp2dbg
[ -d ../ida/venv ] && ../ida/venv/bin/pip install decomp2dbg
[ -d ../ghidra/venv ] && ../ghidra/venv/bin/pip install decomp2dbg
[ -d ../angr-management/pipx/venvs ] && ../angr-management/pipx/venvs/angr-management/bin/python -m pip install decomp2dbg

coproc bin/decomp2dbg --install

# ida
if [ -d $PWD/../ida/*/plugins ]
then
	echo y >& ${COPROC[1]}
	echo $PWD/../ida/*/plugins >& ${COPROC[1]}
else
	echo n >& ${COPROC[1]}
fi

# binja
echo n >& ${COPROC[1]}

# ghidra - temporarily disabled due to libbs missing libbs_vendored directory
echo n >& ${COPROC[1]}

# angr-management
if [ -d $PWD/../angr-management/pipx/venvs ]
then
	echo y >& ${COPROC[1]}
	echo $PWD/../angr-management/pipx/venvs/angr-management/lib/python3.12/site-packages/angrmanagement/plugins >& ${COPROC[1]}
else
	echo n >& ${COPROC[1]}
fi

# gdb
echo y >& ${COPROC[1]}
echo $HOME/.gdbinit >& ${COPROC[1]}

if grep -B10 -E "(Stopping|Errno)" <& ${COPROC[0]}
then
	echo "FAILED"
	exit 1
fi


================================================
FILE: df/install
================================================
#!/bin/bash -ex

mkdir df_linux
pushd df_linux
wget -O - https://www.bay12games.com/dwarves/df_51_06_linux.tar.bz2 | tar xj
popd

mkdir -p bin
cat <<END > bin/dwarf_fortress
#/bin/bash
cd $PWD/run_df
./df "\$@"
END
chmod 755 bin/dwarf_fortress


================================================
FILE: df/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

sudo apt install -y libsdl2-image-2.0-0


================================================
FILE: elfkickers/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/BR903/ELFkickers
cd ELFkickers
make -j1
cd ..
mv ELFkickers/bin ./bin


================================================
FILE: elfparser/install
================================================
#!/bin/bash -ex

mkdir bin

git clone https://github.com/mentebinaria/elfparser-ng elfparser-ng

mkdir qt
pushd qt
cmake ../elfparser-ng
make -j
mv elfparser-ng ../bin/elfparser-gui-ng
popd

mkdir cli
pushd cli
cmake -D qt=no ../elfparser-ng
make -j
mv elfparser-cli-ng ../bin/
popd

rm -rf cli qt elfparser-ng


================================================
FILE: elfparser/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

sudo apt-get install -y cmake libboost-all-dev build-essential \
                qtcreator qtdeclarative5-dev libzstd-dev libbz2-dev liblzma-dev \
		qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools


================================================
FILE: evilize/install
================================================
#!/bin/bash -ex

wget https://www.mscs.dal.ca/~selinger/md5collision/downloads/evilize-0.2.tar.gz
tar zvxf evilize-0.2.tar.gz
cd evilize-0.2
make -j $(nproc)
cd ..
mkdir bin
cd bin
ln -s ../evilize-0.2/evilize .
ln -s ../evilize-0.2/md5coll .


================================================
FILE: fastcoll/install
================================================
#!/bin/bash -ex

[ -e fastcoll ] || git clone https://github.com/upbit/clone-fastcoll fastcoll
cd fastcoll
make

cd ..
mkdir bin
cp fastcoll/fastcoll bin


================================================
FILE: featherduster/install
================================================
#!/bin/bash -ex

git clone --depth=1 https://github.com/nccgroup/featherduster.git

python2 -m virtualenv venv
venv/bin/pip2 install -e ./featherduster

mkdir bin
cd bin
ln -s ../venv/bin/featherduster .


================================================
FILE: featherduster/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install libgmp3-dev libncurses5-dev



================================================
FILE: firmware-mod-kit/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/rampageX/firmware-mod-kit
pushd firmware-mod-kit
cd src
make
popd

mkdir -p bin
for i in $PWD/firmware-mod-kit/*.sh
do
	cat <<END > bin/$(basename $i)
#!/bin/bash
export PATH="\$PATH:$(dirname $i)"
exec $i "\$@"
END
	chmod 755 bin/$(basename $i)
done

pushd bin
for i in $(file ../firmware-mod-kit/src/{*,*/*} | grep "ELF.*executable" | cut -d: -f1 | cut -b 25-)
do
	j=fmk-${i//\//-}
	ln -s ../firmware-mod-kit/src/$i $j
done
popd

sed -i -e "s/SUDO=\"sudo\"/SUDO=\"\"/" firmware-mod-kit/*.sh


================================================
FILE: firmware-mod-kit/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

pacman -Syu --noconfirm --needed zlib xz python2-magic


================================================
FILE: firmware-mod-kit/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install liblzma-dev python3-magic zlib1g-dev


================================================
FILE: foresight/install
================================================
#!/bin/bash -ex

pipx install 'git+https://github.com/ALSchwalm/foresight.git'


================================================
FILE: galois/install
================================================
#!/bin/bash -ex

wget https://web.eecs.utk.edu/~plank/plank/papers/CS-07-593/galois.tar

mkdir -p galois
cd galois
tar xvf ../galois.tar
make
cd ..

mkdir -p bin
cd bin
ln -s ../galois/{gf_basic_tester,gf_div,gf_ilog,gf_inverse,gf_log,gf_mult,gf_xor,gf_xor_tester} .
cd ..


================================================
FILE: gdb/install
================================================
#!/bin/bash -ex
set -e -o pipefail

find_latest_gdb_version() {
    git ls-remote --tags git://sourceware.org/git/binutils-gdb.git \
        | grep -v users \
        | grep -v '{}' \
        | grep -oh 'gdb-[0-9]\{1,2\}\.[0-9]\{1,2\}\(\.[0-9]\{1,2\}\(\.[0-9]\{1,2\}\)\?\)\?-release' \
        | sort --version-sort -r \
        | sed 's/gdb-//g' \
        | sed 's/-release//g' \
        | head -n 1
}

VERSION=$(find_latest_gdb_version)
echo $VERSION > gdb_version

rm -rf "gdb" || true
curl "https://ftp.gnu.org/gnu/gdb/gdb-$VERSION.tar.gz" | tar xz
mv "gdb-$VERSION" "gdb"

set +x
# move to ctftools virtual env
virtualenv venv
source venv/bin/activate
set -x

PREFIX=$(pwd)

pushd ./gdb
./configure \
    --prefix=$PREFIX \
    --with-python=$(which python) \
    --enable-targets=all \
    --with-guile=guile-2.2
make -j $(nproc)
make install
# remove build artifacts
make clean
popd


================================================
FILE: gdb/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

pacman -Syu --needed --noconfirm texinfo guile2.0


================================================
FILE: gdb/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install texinfo guile-2.2-dev libgmp-dev libmpfr-dev


================================================
FILE: gdb/install-root-fedora
================================================
#!/bin/bash -ex

dnf install -y texinfo


================================================
FILE: gef/install
================================================
#!/bin/bash -ex
set -eu -o pipefail

wget -O gef.py -q https://gef.blah.cat/py
mkdir bin
cat <<END > bin/gef
#!/bin/bash
gdb -ex "source $PWD/gef.py" "\$@"
END
chmod 755 bin/gef


================================================
FILE: ghidra/install
================================================
#!/bin/bash -ex

# try to get the best of both worlds for local tweaking and global installs
virtualenv --system-site-packages venv

[ -e https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_11.3.1_build/ghidra_11.3.1_PUBLIC_20250219.zip ] || wget https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_11.3.1_build/ghidra_11.3.1_PUBLIC_20250219.zip
[ -e ghidra_11.3.1_PUBLIC ] || unzip ghidra_11.3.1_PUBLIC_20250219.zip

mkdir -p bin
cat <<END > bin/ghidra
#!/bin/bash
[ -n "\$VIRTUAL_ENV" ] || source $PWD/venv/bin/activate
$PWD/ghidra_11.3.1_PUBLIC/ghidraRun "\$@"
END
chmod 755 bin/ghidra


================================================
FILE: ghidra/install-root-debian
================================================
#!/bin/bash -ex

sudo apt install openjdk-11-jdk jarwrapper -y


================================================
FILE: hash-identifier/install
================================================
#!/bin/bash -ex

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/hash-identifier/Hash_ID_v1.1.py
chmod 755 Hash_ID_v1.1.py
fromdos Hash_ID_v1.1.py || dos2unix Hash_ID_v1.1.py

mkdir -p bin
cd bin
ln -s ../Hash_ID_v1.1.py ./hash_id.py


================================================
FILE: hash-identifier/install-root-debian
================================================
#!/bin/bash -ex

apt-get -y install tofrodos


================================================
FILE: hashpump-partialhash/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/mheistermann/HashPump-partialhash.git
cd HashPump-partialhash
make -j $(nproc)
cd ..

mkdir bin
cd bin
ln -s ../HashPump-partialhash/hashpump .
cd ..


================================================
FILE: hashpump-partialhash/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

pacman -Syu --noconfirm --needed openssl


================================================
FILE: hashpump-partialhash/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install libssl-dev


================================================
FILE: honggfuzz/install
================================================
#!/bin/bash -ex

[ -e honggfuzz ] || git clone --depth 1 https://github.com/google/honggfuzz
cd honggfuzz
make -j
mkdir -p ../bin
cp honggfuzz ../bin


================================================
FILE: honggfuzz/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

# apt-get install libbfd-dev libunwind8-dev
pacman -Syu --noconfirm --needed libunwind binutils


================================================
FILE: honggfuzz/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get install -y libbfd-dev libunwind8-dev


================================================
FILE: ida/install
================================================
#!/bin/bash -ex

# our venv shenanigans
python3.13 -m venv venv
source venv/bin/activate

tar xvf ~/Downloads/IDA*.tar.gz

IDA_DIR=$(dirname */libida.so)

pushd $IDA_DIR
./idapyswitch --force-path /usr/lib/x86_64-linux-gnu/libpython3.13.so.1.0
popd

# install this here
pip install ida-pro-mcp
ida-pro-mcp --install

mkdir bin
cat <<END >bin/ida64
#!/bin/bash
[ -n "\$VIRTUAL_ENV" ] || source $PWD/venv/bin/activate
exec $PWD/[^b]*/ida64 "\$@"
END
chmod 755 bin/ida64


================================================
FILE: ida/install-root-debian
================================================
#!/bin/bash -ex

apt-get install python3.13-venv libpython3.13


================================================
FILE: jdgui/install
================================================
#!/bin/bash -ex

mkdir bin
[ -e bin/jd-gui.jar ] || wget https://github.com/java-decompiler/jd-gui/releases/download/v1.6.6/jd-gui-1.6.6.jar -O bin/jd-gui.jar
chmod 755 bin/jd-gui.jar
chmod 755 bin/jd-gui.jar


================================================
FILE: jdgui/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

pacman -Syu --noconfirm --needed jre7-openjdk


================================================
FILE: jdgui/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail


case "$(lsb_release -cs)" in
	noble)
		apt-get -y install openjdk-21-jre
		;;
	bookworm)
		apt-get -y install openjdk-17-jre
		;;
	xenial)
		apt-get -o Dpkg::Options::="--force-overwrite" -y install openjdk-9-jre
		;;
	*)
		apt-get -y install openjdk-7-jre
		;;
esac

sudo apt install -y jarwrapper


================================================
FILE: libc-database/install
================================================
#!/bin/bash -ex

[ -e libc-database ] || git clone https://github.com/niklasb/libc-database

# Patch libc-database to handle large RPM files (>4GB) by using rpm2archive as fallback
# rpm2cpio doesn't support files over 4GB, but rpm2archive does
cp extract_rpm.sh libc-database/common/
chmod +x libc-database/common/extract_rpm.sh

# Replace rpm2cpio|cpio pipeline with our wrapper script
perl -i -0pe 's/\(rpm2cpio pkg\.rpm \|\| die "rpm2cpio failed"\) \| \\\n\s+\(cpio -id --quiet \|\| die "cpio failed"\)/bash "\$SCRIPT_DIR\/common\/extract_rpm.sh" pkg.rpm || die "rpm extraction failed"/g' libc-database/common/libc.sh
# Add SCRIPT_DIR variable near the top of libc.sh
sed -i '1a SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"' libc-database/common/libc.sh

mkdir -p bin
for i in add dump find get identify download
do
	cat <<END > bin/libc-database-$i
cd $PWD/libc-database/
./$i "\$@"
END
	chmod 755 bin/libc-database-$i
done

bin/libc-database-get all


================================================
FILE: libc-database/install-root-debian
================================================
#!/bin/bash -ex

sudo apt-get install -y \
  binutils file \
  wget \
  rpm2cpio cpio \
  zstd jq


================================================
FILE: manticore/install
================================================
#!/bin/bash -ex

pipx install --python $(which pypy3) "manticore[native]"


================================================
FILE: manticore/install-root-debian
================================================
#!/bin/bash -ex

set -eu -o pipefail

apt-get -y install pypy3 pypy3-dev rustc cargo


================================================
FILE: mitmproxy/install
================================================
#!/bin/bash -ex

pipx install mitmproxy


================================================
FILE: mitmproxy/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install libssl-dev libffi-dev libtiff5-dev libjpeg8-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python3-tk libxml2-dev libxslt1-dev



================================================
FILE: msieve/install
================================================
#!/bin/bash -ex

mkdir bin
wget -O msieve.tar.gz "https://downloads.sourceforge.net/project/msieve/msieve/Msieve v1.53/msieve153_src.tar.gz"
tar -xf msieve.tar.gz

cd msieve-*
make all
cp msieve ../bin


================================================
FILE: msieve/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

pacman -Syu --noconfirm --needed gmp


================================================
FILE: msieve/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install libgmp3-dev libgmp-dev libz-dev


================================================
FILE: nonce-disrespect/install
================================================
#!/bin/bash -ex

git clone https://github.com/nonce-disrespect/nonce-disrespect.git
git -C nonce-disrespect apply $PWD/build.patch
make -C nonce-disrespect/tool

mkdir bin
cp nonce-disrespect/tool/forge bin/
cp nonce-disrespect/tool/recover bin/


================================================
FILE: nonce-disrespect/install-root-debian
================================================
#!/bin/bash -ex

sudo apt-get install -y libntl-dev libgmp-dev


================================================
FILE: one_gadget/install
================================================
#!/bin/bash -ex

gem install one_gadget


================================================
FILE: one_gadget/install-root-archlinux
================================================
#!/bin/bash -ex

pacman -Syu --noconfirm --needed ruby


================================================
FILE: one_gadget/install-root-debian
================================================
#!/bin/bash -ex

apt-get install -y ruby


================================================
FILE: pdf-parser/install
================================================
#!/bin/bash -ex

wget https://didierstevens.com/files/software/pdf-parser_V0_7_11.zip
unzip pdf-parser_V0_7_11.zip
mkdir -p bin
mv pdf-parser.py bin/pdf-parser
chmod 755 bin/pdf-parser


================================================
FILE: peepdf/install
================================================
#!/bin/bash -ex

pipx install "git+https://github.com/cert-ee/peepdf"


================================================
FILE: pemcrack/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/robertdavidgraham/pemcrack.git
cd pemcrack
make
cd ..

mkdir -p bin
cp pemcrack/bin/pemcrack bin/


================================================
FILE: pemcrack/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install libssl-dev



================================================
FILE: pkcrack/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/keyunluo/pkcrack pkcrack-src
mkdir -p pkcrack-src/build
cd pkcrack-src/build
cmake ..
make

mkdir -p ../../bin
cp ../bin/extract ../bin/findkey ../bin/makekey ../bin/pkcrack ../bin/zipdecrypt ../../bin
cd ../../


================================================
FILE: pkcrack/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install cmake


================================================
FILE: preeny/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/zardus/preeny
PATH=$PWD/../crosstool/bin:$PATH

cd preeny
for i in ../../crosstool/bin/*-gcc
do
	t=$(basename $i)
	CC=$t make -j $(nproc) -i
done
PLATFORM=-m32 setarch i686 make -i
mv x86_64-linux-gnu i686-linux-gnu
make -i


================================================
FILE: pwndbg/install
================================================
#!/bin/bash -ex

#git clone --depth 1 https://github.com/pwndbg/pwndbg
wget https://github.com/pwndbg/pwndbg/releases/download/2025.02.19/pwndbg_2025.02.19_x86_64-portable.tar.xz
tar xvf pwndbg_*-portable.tar.xz --strip-components 2 


================================================
FILE: pwndbg/install-root-archlinux
================================================
#!/bin/bash -ex

# install system wide, s.t. pwndbg works also with system qemu
pacman -Syu --noconfirm python-psutil python2-psutil \
    capstone python-capstone python2-capstone \
    unicorn python-unicorn python2-unicorn \
    python-future python2-future \
    python-ptrace python2-ptrace \
    python-six  python2-six \
    python-pyelftools python2-pyelftools \
    python-pycparser python2-pycparser


================================================
FILE: pwndbg/install-root-debian
================================================
#!/bin/bash -ex

sudo apt-get -y install python3-dev python3-pip \
    libglib2.0-dev libc6-dbg

if uname -m | grep x86_64 > /dev/null; then
    sudo apt-get install libc6-dbg:i386 || true
fi


================================================
FILE: pwndbg/install-root-fedora
================================================
#!/bin/bash -ex

dnf install -y dnf-plugins-core
dnf debuginfo-install -y glibc


================================================
FILE: pwninit/install
================================================
#!/bin/bash -ex

mkdir bin
pushd bin
wget https://github.com/io12/pwninit/releases/download/3.3.1/pwninit
chmod 755 pwninit


================================================
FILE: pwninit/install-root-debian
================================================
#!/bin/bash -ex

sudo apt-get install -y patchelf


================================================
FILE: pwnsh/install
================================================
#!/bin/bash -ex

git clone https://github.com/zardus/pwnsh
pushd pwnsh
./update-syscalls.sh
popd

mkdir bin
pushd bin
ln -s ../pwnsh/scripts/* .


================================================
FILE: pwntools/install
================================================
#!/bin/bash -ex

git clone --depth=1 https://github.com/Gallopsled/pwntools.git
pipx install -e ./pwntools


================================================
FILE: pwntools/install-root-archlinux
================================================
#!/bin/bash -ex

pacman -Syu --noconfirm --needed binutils openssl libffi


================================================
FILE: pwntools/install-root-debian
================================================
#!/bin/bash -ex

apt-get install -y python3-pip python3-dev git libssl-dev libffi-dev build-essential


================================================
FILE: pwntools/install-root-fedora
================================================
#!/bin/bash -ex

dnf install -y binutils binutils-devel libffi-devel openssl-devel


================================================
FILE: python2/install
================================================
#!/bin/bash -ex

[ -d pyenv ] || git clone --depth=1 https://github.com/pyenv/pyenv
export PYENV_ROOT=$PWD/pyenv-root
pyenv/bin/pyenv install 2.7.18

mkdir bin
cd bin
ln -s ../pyenv-root/versions/2.7.18/bin/{easy_install-2.7,pip2.7,python2.7,python2.7-gdb.py,pip2,python2,python2.7-config,python2-config} .

./pip2 install virtualenv


================================================
FILE: python2/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

# pyvenv
apt-get -y install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl git libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

apt-get -y install libgmp3-dev libncurses5-dev



================================================
FILE: qemu/install
================================================
#!/bin/bash -ex

find_latest_qemu_version() {
    git ls-remote --tags https://gitlab.com/qemu-project/qemu.git \
        | grep -v '\-rc' \
        | grep -oh 'v[0-9]\{1,2\}\.[0-9]\{1,2\}\(\.[0-9]\{1,2\}\(\.[0-9]\{0,2\}\)\?\)\?' \
        | sort --version-sort -r \
        | head -n 1
}

#VERSION=v2.10.1
VERSION=$(find_latest_qemu_version)
echo $VERSION > qemu_version
git clone --depth=1 -b "$VERSION" https://gitlab.com/qemu-project/qemu.git

set +x
virtualenv venv
source venv/bin/activate
pip install sphinx sphinx_rtd_theme
set -x

prefix="--prefix=$(pwd)"
python="--python=$(which python)"
build_flags=""

mkdir build
pushd build
if ! ../qemu/configure "$prefix" "$python" $build_flags; then
    echo "Updating QEMU submodules in case dependencies are missing"
    pushd ../qemu/
    git submodule init
    git submodule update --recursive
    popd

    # redo configure step
    ../qemu/configure "$prefix" "$python" $build_flags
fi
make -j $(nproc)

make install
# remove build artifacts - qemu is huge otherwise...
make clean
popd
rm -rf build


================================================
FILE: qemu/install-root-archlinux
================================================
#!/bin/bash -ex

pacman -Syu --noconfirm --needed python2 pixman dtc


================================================
FILE: qemu/install-root-debian
================================================
#!/bin/bash -ex

apt-get install -y python3 pkg-config zlib1g-dev \
    libglib2.0-dev libpixman-1-dev libfdt-dev ninja-build flex bison


================================================
FILE: qiling/install
================================================
#!/bin/bash -ex

virtualenv venv
source venv/bin/activate

git clone -b dev --depth 1 https://github.com/qilingframework/qiling.git
pushd qiling
git submodule update --init --recursive
pip install .
popd

cp qiling/qltui.py venv/lib/python3.12/site-packages

mkdir -p bin
cat <<END >bin/qltool
#!/bin/bash
source $PWD/venv/bin/activate
exec $PWD/qiling/qltool "\$@"
END
chmod 755 bin/qltool


================================================
FILE: qiling/install-root-debian
================================================
#!/bin/bash -ex


# from https://docs.qiling.io/en/latest/install/, but seems insane
export DEBIAN_FRONTEND=noninteractive
sudo apt install -y ack antlr3 aria2 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \
libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python3 python3-pip libpython3-dev qemu-utils \
rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev


================================================
FILE: qira/install
================================================
#!/bin/bash -ex

mkdir nosudo
cat <<END > nosudo/sudo
#!/bin/bash
echo SUDO BLOCKED: "\$@"
END
chmod 755 nosudo/sudo

git clone --depth 1 https://github.com/BinaryAnalysisPlatform/qira.git
#export HOME=$PWD
export PATH=$PWD/nosudo:$PATH
cd qira

git apply ../qira_fix.patch
./install.sh

cd ..
mkdir -p bin
cd bin
ln -s ../qira/qira qira
cd ..


================================================
FILE: qira/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

pacman -Syu --noconfirm --needed python2-pip openssl libjpeg-turbo zlib \
    unzip wget graphviz gmp llvm clang ocaml llvm-ocaml python2-virtualenv \
    wget flex bison libtool automake autoconf pkg-config libevent glib2


================================================
FILE: qira/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install libssl-dev build-essential python3-dev python3-pip debootstrap libjpeg-dev zlib1g-dev unzip wget graphviz software-properties-common libgmp-dev llvm-19-dev time ocaml ocaml-native-compilers camlp4-extra opam clang python3-virtualenv wget flex bison libtool automake autoconf autotools-dev pkg-config libglib2.0-dev libevent-dev
apt-get -y build-dep qemu


================================================
FILE: rappel/install
================================================
#!/bin/bash -ex

git clone https://github.com/yrp604/rappel
cd rappel
make
cd ..

mkdir -p bin
cd bin
ln -s ../rappel/bin/* .
cd ..


================================================
FILE: rappel/install-root-debian
================================================
#!/bin/bash -ex

apt-get install -y libedit-dev nasm
apt-get install -y libedit-dev:i386 || true


================================================
FILE: reveng/install
================================================
#!/bin/bash -ex

wget https://downloads.sourceforge.net/project/reveng/3.0.6/reveng-3.0.6.tar.gz
tar -xf reveng-3.0.6.tar.gz
cd reveng-3.0.6
sed -i -e "s/^#define BMP_BIT.*/#define BMP_BIT 64/" config.h
sed -i -e "s/^#define BMP_SUB.*/#define BMP_SUB 32/" config.h
make -j $(nproc)
cd ..

mkdir -p bin
cp reveng-3.0.6/reveng bin


================================================
FILE: ropper/install
================================================
#!/bin/bash -ex

pipx install ropper


================================================
FILE: ropper/test
================================================
#!/bin/bash -ex

set +e
source ${VIRTUALENVWRAPPER_SCRIPT}
workon ctftools
set -e

[ $(ropper --file /bin/false | wc -l) -gt 400 ] || exit 1
exit 0


================================================
FILE: rp++/install
================================================
#!/bin/bash -ex

wget https://github.com/0vercl0k/rp/releases/download/v2.1.4/rp-lin-gcc.zip
unzip rp-lin-gcc.zip
mkdir bin
mv rp-lin bin/rp++
chmod 755 bin/rp++


================================================
FILE: rsactftool/install
================================================
#!/bin/bash -ex

virtualenv venv
source venv/bin/activate

git clone --depth 1 https://github.com/Ganapati/RsaCtfTool
pushd RsaCtfTool
pip install -r requirements.txt
popd

mkdir bin
cat <<END >bin/RsaCtfTool.py
#!/bin/bash
source $PWD/venv/bin/activate
exec $PWD/RsaCtfTool/RsaCtfTool.py "\$@"
END
chmod 755 bin/*


================================================
FILE: rsactftool/install-root-debian
================================================
#!/bin/bash -ex

sudo apt-get install -y libgmp3-dev libmpc-dev


================================================
FILE: scrdec18/install
================================================
#!/bin/bash -ex

wget "https://gist.githubusercontent.com/bcse/1834878/raw/7483fb72abbb32aa69b853fdcc9f6f72e7568677/scrdec18.c"
mkdir -p bin
gcc -o bin/scrdec18 scrdec18.c


================================================
FILE: seccomp-tools/install
================================================
#!/bin/bash -ex

gem install seccomp-tools


================================================
FILE: seccomp-tools/install-root-debian
================================================
#!/bin/bash -ex

apt-get install -y ruby ruby-dev


================================================
FILE: shellnoob/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/reyammer/shellnoob

mkdir -p bin
cd bin
ln -s ../shellnoob/shellnoob.py .
cd ..


================================================
FILE: social-analyzer/install
================================================
#!/bin/bash -ex

pipx install social-analyzer


================================================
FILE: ssh_decoder/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/jjyg/ssh_decoder.git
chmod 755 ssh_decoder/ssh_decoder.rb

mkdir bin
cd bin
ln -s ../ssh_decoder/ssh_decoder.rb ssh_decoder
cd ..


================================================
FILE: sslsplit/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/droe/sslsplit
cd sslsplit
make -j $(nproc)
cd ..

mkdir bin
cp sslsplit/sslsplit bin/


================================================
FILE: sslsplit/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

pacman -Syu --noconfirm --needed libevent


================================================
FILE: sslsplit/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install libevent-dev pkg-config libssl-dev libnet1-dev libpcap-dev


================================================
FILE: steganabara/install
================================================
#!/bin/bash -ex

curl http://www.caesum.com/handbook/steganabara-1.1.1.tar.gz | tar xz
mkdir -p bin
cat <<END > bin/steganabara
#!/bin/bash -e
java -cp $PWD/Steganabara/bin steganabara.Steganabara
END
chmod 755 bin/steganabara


================================================
FILE: stegano-tools/install
================================================
#!/bin/bash -ex

virtualenv venv
source venv/bin/activate
pip install tinyscript

[ -e stegano-tools ] || git clone --recurse https://github.com/dhondta/stegano-tools

mkdir -p bin
for F in `find stegano-tools -type f -iname "*.py"`; do
  N="${F##*/}"
  N="${N%.py}"
  P1="`pwd`/$F"
  P2="$VIRTUAL_ENV/bin/$N"
  echo "$N"
  chmod +x $P1
  cp $P1 $P2
  sed -i '1s|.*|#!'"$VIRTUAL_ENV"'/bin/python3|' $P2
  ln -s $P2 bin/$N
done


================================================
FILE: stegano-tools/uninstall
================================================
#!/bin/bash -ex

for F in paddinganograph stegolsb stegopit stegopvd; do
  rm -f $HOME/tools/bin/$F
  rm -f $HOME/.virtualenvs/ctftools/bin/$F
  rm -f $HOME/.virtualenvs/ctftools3/bin/$F
done


================================================
FILE: stegdetect/install
================================================
#!/bin/bash -ex

INST_DIR="$PWD"

git clone --depth 1 https://github.com/sparticvs/stegdetect

mkdir -p bin etc man/man1 share/stegbreak
pushd stegdetect
git remote set-branches origin '*'
git fetch -v --depth=1
git checkout dev/fix-compilation
git apply ../statics.patch
linux32 autoreconf -i -f
# what the actual fuck
linux32 ./configure --prefix="$INST_DIR"
sed -i -e "s/#ifndef HAVE_TIMERADD//" config.h
linux32 make
linux32 make install
popd

wget https://launchpadlibrarian.net/16697277/rules.ini -O share/stegbreak/rules.ini


================================================
FILE: stegdetect/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

echo "ERROR: archlinux has no aclocal-1.4. only $(aclocal --version | head -n 1)"
exit 1

pacman -Syu --noconfirm --needed automake


================================================
FILE: stegdetect/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install automake1.11 automake autotools-dev libevent-dev libmagic-dev
apt-get install -y libjpeg*-turbo*-dev


================================================
FILE: stegosaurus/install
================================================
#!/bin/bash -ex

INST_DIR="$PWD"

git clone --depth 1 https://github.com/AngelKitty/stegosaurus.git

mkdir bin

cd bin

ln -s ../stegosaurus/stegosaurus .



================================================
FILE: stegsolve/install
================================================
#!/bin/bash -ex

wget http://www.caesum.com/handbook/Stegsolve.jar -O stegsolve.jar
chmod +x stegsolve.jar
mkdir bin
mv stegsolve.jar bin/



================================================
FILE: subbrute/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/TheRook/subbrute.git

mkdir -p bin
cd bin
ln -s ../subbrute/subbrute.py subbrute
cd ..


================================================
FILE: taintgrind/install
================================================
#!/bin/bash -ex

curl https://sourceware.org/pub/valgrind/valgrind-3.25.1.tar.bz2 | tar xj
cd valgrind-3.25.1

git clone --depth 1 https://github.com/wmkhoo/taintgrind.git
cd taintgrind
./build_taintgrind.sh
cd ../../

mkdir -p bin
cat <<END >bin/taintgrind
#!/bin/bash
exec $PWD/valgrind-3.25.1/build/bin/taintgrind "\$@"
END
cat <<END >bin/taintgrind-log2dot
#!/bin/bash
exec python3 $PWD/valgrind-3.25.1/taintgrind/log2dot.py "\$@"
END
chmod 755 bin/*


================================================
FILE: tor-browser/install
================================================
#!/bin/bash -ex

REL_PATH=$(curl https://www.torproject.org/download/ | grep -i tor-browser-linux-x86_64 | grep 'xz"' | sed -e 's/.*href="//' -e 's/">.*//')
wget https://www.torproject.org/$REL_PATH -O - | tar xvJ

mkdir -p bin
cat <<END >bin/tor-browser
#!/bin/bash
cd $PWD/tor-browser
./start-tor-browser.desktop "\$@"
END
chmod 755 bin/*


================================================
FILE: valgrind/install
================================================
#!/bin/bash -ex

INST_DIR=$PWD

curl ftp://sourceware.org/pub/valgrind/valgrind-3.13.0.tar.bz2 | tar xj
cd valgrind-3.13.0
./autogen.sh
./configure --prefix=$INST_DIR
make -j $(nproc)
make install


================================================
FILE: veles/install
================================================
#!/bin/bash -ex

wget -O src.tar.gz https://codisec.com/wp-content/uploads/2016/12/Veles_2016.12_Source.tar.gz
tar xf src.tar.gz
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=.. ../veles-2016.12
make -j8
make install


================================================
FILE: veles/install-root-archlinux
================================================
#!/bin/bash -ex

pacman -Syu --noconfirm --needed cmake zlib qt5-base


================================================
FILE: veles/install-root-debian
================================================
#!/bin/bash -ex

apt-get install -y cmake zlib1g-dev qtbase5-dev


================================================
FILE: villoc/install
================================================
#!/bin/bash -ex

PIN_NAME=pin-external-3.31-98869-gfa6f126a8-gcc-linux
curl https://software.intel.com/sites/landingpage/pintool/downloads/$PIN_NAME.tar.gz | tar xz
export PIN_ROOT=$PWD/$PIN_NAME

git clone --depth 1 https://github.com/wapiflapi/villoc
cd villoc/tracers/pintool
make PIN_ROOT=$PIN_ROOT
cd ../../
chmod 755 villoc.py
cd ..

mkdir -p bin
cd bin
ln -s ../villoc/villoc.py .
cd ..


================================================
FILE: volatility/install
================================================
#!/bin/bash -ex

[ -e volatility ] || git clone --depth 1 https://github.com/volatilityfoundation/volatility

python2 -m virtualenv venv
venv/bin/pip2 install -e ./volatility
venv/bin/pip2 install distorm3
venv/bin/pip2 install pycrypto

mkdir bin
cd bin
ln -s ../venv/bin/vol* .


================================================
FILE: volatility3/install
================================================
#!/bin/bash -ex

pipx install volatility3


================================================
FILE: webgrep/install
================================================
#!/bin/bash -ex

pipx install 'git+https://github.com/dhondta/webgrep.git'


================================================
FILE: webgrep/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail

pacman -Syu --needed --noconfirm binutils grep imagemagick perl-image-exiftool steghide tesseract


================================================
FILE: webgrep/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install binutils grep imagemagick libimage-exiftool-perl steghide tesseract-ocr


================================================
FILE: webgrep/install-root-fedora
================================================
#!/bin/bash -ex
set -eu -o pipefail

dnf install perl-Image-ExifTool.noarch
dnf install -y binutils grep imagemagick steghide tesseract


================================================
FILE: webgrep/install-root-ubuntu
================================================
#!/bin/bash -ex
set -eu -o pipefail

apt-get -y install binutils grep imagemagick exiftool steghide tesseract-ocr


================================================
FILE: xortool/install
================================================
#!/bin/bash -ex

pipx install 'git+https://github.com/hellman/xortool.git'


================================================
FILE: xrop/install
================================================
#!/bin/bash -ex

git clone --depth 1 https://github.com/acama/xrop.git
cd xrop
git submodule update --init --recursive
make -j 1 # Watch out!! -j $(nproc) makes the build fail
cd ..

mkdir -p bin
cd bin
ln -s ../xrop/xrop . 
cd ..


================================================
FILE: xrop/install-root-debian
================================================
#!/bin/bash -ex

apt-get update
apt-get install -y zlib1g-dev



================================================
FILE: xspy/install
================================================
#!/bin/bash -ex

[ -e xspy ] || git clone https://gitlab.com/kalilinux/packages/xspy
mkdir -p bin
gcc -o bin/xspy xspy/Xspy.c -lX11


================================================
FILE: xspy/install-root-debian
================================================
#!/bin/bash -ex

apt-get install -y libx11-dev


================================================
FILE: yafu/install
================================================
#!/bin/bash -ex

mkdir yafu
mkdir bin
cd yafu
wget "https://downloads.sourceforge.net/project/yafu/1.34/yafu-1.34.zip" -O yafu.zip
unzip yafu.zip
chmod 755 yafu
mv yafu ../bin


================================================
FILE: yafu/test
================================================
#!/bin/bash -ex

RESULT=$(./bin/yafu 'factor(10)' | grep "^P" | tr -d '\n')
[ "$RESULT" == "P1 = 2P1 = 5" ] || exit 1

./bin/yafu 'factor(427836528347651349523452345)' | grep "^P" | grep -q 3290292219611


================================================
FILE: zsteg/install
================================================
#!/bin/bash -ex

gem install zsteg


================================================
FILE: zsteg/install-root-archlinux
================================================
#!/bin/bash -ex

pacman -Syu --noconfirm --needed ruby


================================================
FILE: zsteg/install-root-debian
================================================
#!/bin/bash -ex

apt-get install -y ruby


================================================
FILE: zsteg/uninstall
================================================
#!/bin/bash -ex

echo "Y" | gem uninstall --user-install zsteg
Download .txt
gitextract_erjatswu/

├── .dockerignore
├── .gitignore
├── Dockerfile
├── Dockerfile.archlinux
├── Dockerfile.artful
├── Dockerfile.fedora
├── LICENSE
├── README.md
├── angr/
│   ├── install
│   └── install-root-debian
├── angr-management/
│   ├── install
│   └── install-root-debian
├── beef/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── burpsuite/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── codext/
│   └── install
├── commix/
│   └── install
├── cribdrag/
│   └── install
├── cross2/
│   └── install
├── crosstool/
│   ├── install
│   ├── install-root-archlinux
│   ├── install-root-debian
│   └── uninstall
├── decomp2dbg/
│   └── install
├── df/
│   ├── install
│   └── install-root-debian
├── elfkickers/
│   └── install
├── elfparser/
│   ├── install
│   └── install-root-debian
├── evilize/
│   └── install
├── fastcoll/
│   └── install
├── featherduster/
│   ├── install
│   └── install-root-debian
├── firmware-mod-kit/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── foresight/
│   └── install
├── galois/
│   └── install
├── gdb/
│   ├── install
│   ├── install-root-archlinux
│   ├── install-root-debian
│   └── install-root-fedora
├── gef/
│   └── install
├── ghidra/
│   ├── install
│   └── install-root-debian
├── hash-identifier/
│   ├── install
│   └── install-root-debian
├── hashpump-partialhash/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── honggfuzz/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── ida/
│   ├── install
│   └── install-root-debian
├── jdgui/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── libc-database/
│   ├── install
│   └── install-root-debian
├── manticore/
│   ├── install
│   └── install-root-debian
├── mitmproxy/
│   ├── install
│   └── install-root-debian
├── msieve/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── nonce-disrespect/
│   ├── install
│   └── install-root-debian
├── one_gadget/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── pdf-parser/
│   └── install
├── peepdf/
│   └── install
├── pemcrack/
│   ├── install
│   └── install-root-debian
├── pkcrack/
│   ├── install
│   └── install-root-debian
├── preeny/
│   └── install
├── pwndbg/
│   ├── install
│   ├── install-root-archlinux
│   ├── install-root-debian
│   └── install-root-fedora
├── pwninit/
│   ├── install
│   └── install-root-debian
├── pwnsh/
│   └── install
├── pwntools/
│   ├── install
│   ├── install-root-archlinux
│   ├── install-root-debian
│   └── install-root-fedora
├── python2/
│   ├── install
│   └── install-root-debian
├── qemu/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── qiling/
│   ├── install
│   └── install-root-debian
├── qira/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── rappel/
│   ├── install
│   └── install-root-debian
├── reveng/
│   └── install
├── ropper/
│   ├── install
│   └── test
├── rp++/
│   └── install
├── rsactftool/
│   ├── install
│   └── install-root-debian
├── scrdec18/
│   └── install
├── seccomp-tools/
│   ├── install
│   └── install-root-debian
├── shellnoob/
│   └── install
├── social-analyzer/
│   └── install
├── ssh_decoder/
│   └── install
├── sslsplit/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── steganabara/
│   └── install
├── stegano-tools/
│   ├── install
│   └── uninstall
├── stegdetect/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── stegosaurus/
│   └── install
├── stegsolve/
│   └── install
├── subbrute/
│   └── install
├── taintgrind/
│   └── install
├── tor-browser/
│   └── install
├── valgrind/
│   └── install
├── veles/
│   ├── install
│   ├── install-root-archlinux
│   └── install-root-debian
├── villoc/
│   └── install
├── volatility/
│   └── install
├── volatility3/
│   └── install
├── webgrep/
│   ├── install
│   ├── install-root-archlinux
│   ├── install-root-debian
│   ├── install-root-fedora
│   └── install-root-ubuntu
├── xortool/
│   └── install
├── xrop/
│   ├── install
│   └── install-root-debian
├── xspy/
│   ├── install
│   └── install-root-debian
├── yafu/
│   ├── install
│   └── test
└── zsteg/
    ├── install
    ├── install-root-archlinux
    ├── install-root-debian
    └── uninstall
Condensed preview — 154 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (69K chars).
[
  {
    "path": ".dockerignore",
    "chars": 23,
    "preview": "*\n!.git\n!.docker\n!bin/\n"
  },
  {
    "path": ".gitignore",
    "chars": 71,
    "preview": "*/*\nbin/*\n!*/install\n!*/uninstall\n!*/install-root-*\n!*/upgrade\n!*/test\n"
  },
  {
    "path": "Dockerfile",
    "chars": 1049,
    "preview": "FROM ubuntu:noble\n\nrun <<END\n    export DEBIAN_FRONTEND=\"noninteractive\" \n    apt-get -q update \n    apt-get dist-upgrad"
  },
  {
    "path": "Dockerfile.archlinux",
    "chars": 1300,
    "preview": "from base/archlinux\n\nRUN cat /etc/pacman.d/mirrorlist \\ \n        | sed 's/^#Server/Server/' \\\n        > /etc/pacman.d/mi"
  },
  {
    "path": "Dockerfile.artful",
    "chars": 783,
    "preview": "FROM ubuntu:artful\n\n# wrapper script for apt-get\nCOPY .docker/apt-get-install /usr/local/bin/apt-get-install\nRUN chmod +"
  },
  {
    "path": "Dockerfile.fedora",
    "chars": 706,
    "preview": "FROM fedora\n\nRUN dnf -y install which sudo git redhat-lsb\n\nRUN useradd -m ctf\nCOPY .git /home/ctf/tools/.git\nRUN chown -"
  },
  {
    "path": "LICENSE",
    "chars": 1531,
    "preview": "BSD 3-Clause License\n\nCopyright (c) 2019-present, Zardus and contributors\nAll rights reserved.\n\nRedistribution and use i"
  },
  {
    "path": "README.md",
    "chars": 24291,
    "preview": "# ctf-tools\n\nThis is a collection of setup scripts to create an install of various security research tools.\nOf course, t"
  },
  {
    "path": "angr/install",
    "chars": 118,
    "preview": "#!/bin/bash -ex\n\npipx install angr\n\"$(dirname \"${BASH_SOURCE[0]}\")\"/pipx/venvs/angr/bin/python -m pip install ipython\n"
  },
  {
    "path": "angr/install-root-debian",
    "chars": 424,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\n# for angr\napt-get -y install virtualenvwrapper python3-dev python3-pip build-essen"
  },
  {
    "path": "angr-management/install",
    "chars": 287,
    "preview": "#!/bin/bash -ex\n\n# Pin setuptools < 82 to ensure pkg_resources is available for building\n# dependencies like pyqodeng (s"
  },
  {
    "path": "angr-management/install-root-debian",
    "chars": 424,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\n# for angr\napt-get -y install virtualenvwrapper python3-dev python3-pip build-essen"
  },
  {
    "path": "beef/install",
    "chars": 288,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/beefproject/beef\n\ncd beef\nrm Gemfile.lock\nbundle install\ncd ..\n\n"
  },
  {
    "path": "beef/install-root-archlinux",
    "chars": 201,
    "preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed \\\n    ruby python2 ruby-bundler \\\n    git make gcc openssl patch readl"
  },
  {
    "path": "beef/install-root-debian",
    "chars": 334,
    "preview": "#!/bin/bash -ex\n\napt-get install -y curl git build-essential openssl libreadline6-dev zlib1g zlib1g-dev libssl-dev libya"
  },
  {
    "path": "burpsuite/install",
    "chars": 170,
    "preview": "#!/bin/bash -ex\n\nwget -O ./burp.jar 'https://portswigger.net/DownloadUpdate.ashx?Product=Free'\nchmod 755 ./burp.jar\nmkdi"
  },
  {
    "path": "burpsuite/install-root-archlinux",
    "chars": 83,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed jre7-openjdk\n"
  },
  {
    "path": "burpsuite/install-root-debian",
    "chars": 263,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\ncase \"$(lsb_release -cs)\" in\n\tnoble)\n\t\tapt-get -y install openjdk-21-jre jarwrapper"
  },
  {
    "path": "codext/install",
    "chars": 37,
    "preview": "#!/bin/bash -ex\n\npipx install codext\n"
  },
  {
    "path": "commix/install",
    "chars": 124,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/commixproject/commix.git\nmkdir bin\ncd bin\nln -s ../commix/commix"
  },
  {
    "path": "cribdrag/install",
    "chars": 122,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/SpiderLabs/cribdrag\n\nmkdir bin\ncd bin\nln -s ../cribdrag/* .\ncd ."
  },
  {
    "path": "cross2/install",
    "chars": 482,
    "preview": "#!/bin/bash -ex\n\nFILE=cross2-20130826.tgz\nINSTALL_DIR=$PWD\n\n[ ! -e $FILE ] && wget https://kozos.jp/books/asm/$FILE\ntar "
  },
  {
    "path": "crosstool/install",
    "chars": 523,
    "preview": "#!/bin/bash -ex\n\nmkdir -p src\n[ -e crosstool-ng ] || git clone --depth 1 https://github.com/crosstool-ng/crosstool-ng.gi"
  },
  {
    "path": "crosstool/install-root-archlinux",
    "chars": 80,
    "preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm gperf flex bison help2man gawk ncurses\n"
  },
  {
    "path": "crosstool/install-root-debian",
    "chars": 95,
    "preview": "#!/bin/bash -ex\n\napt-get install -y gperf flex bison help2man gawk libncurses5-dev libtool-bin\n"
  },
  {
    "path": "crosstool/uninstall",
    "chars": 77,
    "preview": "#!/bin/bash -ex\n\n[ -e x-tools ] && chmod -R u+w x-tools\nrm -rf crosstools-ng\n"
  },
  {
    "path": "decomp2dbg/install",
    "chars": 1063,
    "preview": "#!/bin/bash -ex\n\npipx install decomp2dbg\n[ -d ../gdb/venv ] && ../gdb/venv/bin/pip install decomp2dbg\n[ -d ../ida/venv ]"
  },
  {
    "path": "df/install",
    "chars": 244,
    "preview": "#!/bin/bash -ex\n\nmkdir df_linux\npushd df_linux\nwget -O - https://www.bay12games.com/dwarves/df_51_06_linux.tar.bz2 | tar"
  },
  {
    "path": "df/install-root-debian",
    "chars": 77,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\nsudo apt install -y libsdl2-image-2.0-0\n"
  },
  {
    "path": "elfkickers/install",
    "chars": 126,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/BR903/ELFkickers\ncd ELFkickers\nmake -j1\ncd ..\nmv ELFkickers/bin "
  },
  {
    "path": "elfparser/install",
    "chars": 311,
    "preview": "#!/bin/bash -ex\n\nmkdir bin\n\ngit clone https://github.com/mentebinaria/elfparser-ng elfparser-ng\n\nmkdir qt\npushd qt\ncmake"
  },
  {
    "path": "elfparser/install-root-debian",
    "chars": 236,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\nsudo apt-get install -y cmake libboost-all-dev build-essential \\\n                qt"
  },
  {
    "path": "evilize/install",
    "chars": 243,
    "preview": "#!/bin/bash -ex\n\nwget https://www.mscs.dal.ca/~selinger/md5collision/downloads/evilize-0.2.tar.gz\ntar zvxf evilize-0.2.t"
  },
  {
    "path": "fastcoll/install",
    "chars": 154,
    "preview": "#!/bin/bash -ex\n\n[ -e fastcoll ] || git clone https://github.com/upbit/clone-fastcoll fastcoll\ncd fastcoll\nmake\n\ncd ..\nm"
  },
  {
    "path": "featherduster/install",
    "chars": 204,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth=1 https://github.com/nccgroup/featherduster.git\n\npython2 -m virtualenv venv\nvenv/bin/"
  },
  {
    "path": "featherduster/install-root-debian",
    "chars": 85,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libgmp3-dev libncurses5-dev\n\n"
  },
  {
    "path": "firmware-mod-kit/install",
    "chars": 549,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/rampageX/firmware-mod-kit\npushd firmware-mod-kit\ncd src\nmake\npop"
  },
  {
    "path": "firmware-mod-kit/install-root-archlinux",
    "chars": 92,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed zlib xz python2-magic\n"
  },
  {
    "path": "firmware-mod-kit/install-root-debian",
    "chars": 93,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install liblzma-dev python3-magic zlib1g-dev\n"
  },
  {
    "path": "foresight/install",
    "chars": 79,
    "preview": "#!/bin/bash -ex\n\npipx install 'git+https://github.com/ALSchwalm/foresight.git'\n"
  },
  {
    "path": "galois/install",
    "chars": 273,
    "preview": "#!/bin/bash -ex\n\nwget https://web.eecs.utk.edu/~plank/plank/papers/CS-07-593/galois.tar\n\nmkdir -p galois\ncd galois\ntar x"
  },
  {
    "path": "gdb/install",
    "chars": 890,
    "preview": "#!/bin/bash -ex\nset -e -o pipefail\n\nfind_latest_gdb_version() {\n    git ls-remote --tags git://sourceware.org/git/binuti"
  },
  {
    "path": "gdb/install-root-archlinux",
    "chars": 87,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --needed --noconfirm texinfo guile2.0\n"
  },
  {
    "path": "gdb/install-root-debian",
    "chars": 101,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install texinfo guile-2.2-dev libgmp-dev libmpfr-dev\n"
  },
  {
    "path": "gdb/install-root-fedora",
    "chars": 40,
    "preview": "#!/bin/bash -ex\n\ndnf install -y texinfo\n"
  },
  {
    "path": "gef/install",
    "chars": 178,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\nwget -O gef.py -q https://gef.blah.cat/py\nmkdir bin\ncat <<END > bin/gef\n#!/bin/bash"
  },
  {
    "path": "ghidra/install",
    "chars": 633,
    "preview": "#!/bin/bash -ex\n\n# try to get the best of both worlds for local tweaking and global installs\nvirtualenv --system-site-pa"
  },
  {
    "path": "ghidra/install-root-debian",
    "chars": 63,
    "preview": "#!/bin/bash -ex\n\nsudo apt install openjdk-11-jdk jarwrapper -y\n"
  },
  {
    "path": "hash-identifier/install",
    "chars": 271,
    "preview": "#!/bin/bash -ex\n\nwget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/hash-identifier/Ha"
  },
  {
    "path": "hash-identifier/install-root-debian",
    "chars": 45,
    "preview": "#!/bin/bash -ex\n\napt-get -y install tofrodos\n"
  },
  {
    "path": "hashpump-partialhash/install",
    "chars": 206,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/mheistermann/HashPump-partialhash.git\ncd HashPump-partialhash\nma"
  },
  {
    "path": "hashpump-partialhash/install-root-archlinux",
    "chars": 78,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed openssl\n"
  },
  {
    "path": "hashpump-partialhash/install-root-debian",
    "chars": 67,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libssl-dev\n"
  },
  {
    "path": "honggfuzz/install",
    "chars": 150,
    "preview": "#!/bin/bash -ex\n\n[ -e honggfuzz ] || git clone --depth 1 https://github.com/google/honggfuzz\ncd honggfuzz\nmake -j\nmkdir "
  },
  {
    "path": "honggfuzz/install-root-archlinux",
    "chars": 133,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\n# apt-get install libbfd-dev libunwind8-dev\npacman -Syu --noconfirm --needed libunw"
  },
  {
    "path": "honggfuzz/install-root-debian",
    "chars": 82,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get install -y libbfd-dev libunwind8-dev\n"
  },
  {
    "path": "ida/install",
    "chars": 468,
    "preview": "#!/bin/bash -ex\n\n# our venv shenanigans\npython3.13 -m venv venv\nsource venv/bin/activate\n\ntar xvf ~/Downloads/IDA*.tar.g"
  },
  {
    "path": "ida/install-root-debian",
    "chars": 63,
    "preview": "#!/bin/bash -ex\n\napt-get install python3.13-venv libpython3.13\n"
  },
  {
    "path": "jdgui/install",
    "chars": 209,
    "preview": "#!/bin/bash -ex\n\nmkdir bin\n[ -e bin/jd-gui.jar ] || wget https://github.com/java-decompiler/jd-gui/releases/download/v1."
  },
  {
    "path": "jdgui/install-root-archlinux",
    "chars": 83,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed jre7-openjdk\n"
  },
  {
    "path": "jdgui/install-root-debian",
    "chars": 337,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\n\ncase \"$(lsb_release -cs)\" in\n\tnoble)\n\t\tapt-get -y install openjdk-21-jre\n\t\t;;\n\tboo"
  },
  {
    "path": "libc-database/install",
    "chars": 973,
    "preview": "#!/bin/bash -ex\n\n[ -e libc-database ] || git clone https://github.com/niklasb/libc-database\n\n# Patch libc-database to ha"
  },
  {
    "path": "libc-database/install-root-debian",
    "chars": 98,
    "preview": "#!/bin/bash -ex\n\nsudo apt-get install -y \\\n  binutils file \\\n  wget \\\n  rpm2cpio cpio \\\n  zstd jq\n"
  },
  {
    "path": "manticore/install",
    "chars": 74,
    "preview": "#!/bin/bash -ex\n\npipx install --python $(which pypy3) \"manticore[native]\"\n"
  },
  {
    "path": "manticore/install-root-debian",
    "chars": 85,
    "preview": "#!/bin/bash -ex\n\nset -eu -o pipefail\n\napt-get -y install pypy3 pypy3-dev rustc cargo\n"
  },
  {
    "path": "mitmproxy/install",
    "chars": 40,
    "preview": "#!/bin/bash -ex\n\npipx install mitmproxy\n"
  },
  {
    "path": "mitmproxy/install-root-debian",
    "chars": 204,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libssl-dev libffi-dev libtiff5-dev libjpeg8-dev libfreetype6-dev"
  },
  {
    "path": "msieve/install",
    "chars": 202,
    "preview": "#!/bin/bash -ex\n\nmkdir bin\nwget -O msieve.tar.gz \"https://downloads.sourceforge.net/project/msieve/msieve/Msieve v1.53/m"
  },
  {
    "path": "msieve/install-root-archlinux",
    "chars": 74,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed gmp\n"
  },
  {
    "path": "msieve/install-root-debian",
    "chars": 88,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libgmp3-dev libgmp-dev libz-dev\n"
  },
  {
    "path": "nonce-disrespect/install",
    "chars": 246,
    "preview": "#!/bin/bash -ex\n\ngit clone https://github.com/nonce-disrespect/nonce-disrespect.git\ngit -C nonce-disrespect apply $PWD/b"
  },
  {
    "path": "nonce-disrespect/install-root-debian",
    "chars": 63,
    "preview": "#!/bin/bash -ex\n\nsudo apt-get install -y libntl-dev libgmp-dev\n"
  },
  {
    "path": "one_gadget/install",
    "chars": 40,
    "preview": "#!/bin/bash -ex\n\ngem install one_gadget\n"
  },
  {
    "path": "one_gadget/install-root-archlinux",
    "chars": 55,
    "preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed ruby\n"
  },
  {
    "path": "one_gadget/install-root-debian",
    "chars": 41,
    "preview": "#!/bin/bash -ex\n\napt-get install -y ruby\n"
  },
  {
    "path": "pdf-parser/install",
    "chars": 185,
    "preview": "#!/bin/bash -ex\n\nwget https://didierstevens.com/files/software/pdf-parser_V0_7_11.zip\nunzip pdf-parser_V0_7_11.zip\nmkdir"
  },
  {
    "path": "peepdf/install",
    "chars": 70,
    "preview": "#!/bin/bash -ex\n\npipx install \"git+https://github.com/cert-ee/peepdf\"\n"
  },
  {
    "path": "pemcrack/install",
    "chars": 154,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/robertdavidgraham/pemcrack.git\ncd pemcrack\nmake\ncd ..\n\nmkdir -p "
  },
  {
    "path": "pemcrack/install-root-debian",
    "chars": 68,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libssl-dev\n\n"
  },
  {
    "path": "pkcrack/install",
    "chars": 268,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/keyunluo/pkcrack pkcrack-src\nmkdir -p pkcrack-src/build\ncd pkcra"
  },
  {
    "path": "pkcrack/install-root-debian",
    "chars": 62,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install cmake\n"
  },
  {
    "path": "preeny/install",
    "chars": 280,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/zardus/preeny\nPATH=$PWD/../crosstool/bin:$PATH\n\ncd preeny\nfor i "
  },
  {
    "path": "pwndbg/install",
    "chars": 234,
    "preview": "#!/bin/bash -ex\n\n#git clone --depth 1 https://github.com/pwndbg/pwndbg\nwget https://github.com/pwndbg/pwndbg/releases/do"
  },
  {
    "path": "pwndbg/install-root-archlinux",
    "chars": 410,
    "preview": "#!/bin/bash -ex\n\n# install system wide, s.t. pwndbg works also with system qemu\npacman -Syu --noconfirm python-psutil py"
  },
  {
    "path": "pwndbg/install-root-debian",
    "chars": 192,
    "preview": "#!/bin/bash -ex\n\nsudo apt-get -y install python3-dev python3-pip \\\n    libglib2.0-dev libc6-dbg\n\nif uname -m | grep x86_"
  },
  {
    "path": "pwndbg/install-root-fedora",
    "chars": 80,
    "preview": "#!/bin/bash -ex\n\ndnf install -y dnf-plugins-core\ndnf debuginfo-install -y glibc\n"
  },
  {
    "path": "pwninit/install",
    "chars": 124,
    "preview": "#!/bin/bash -ex\n\nmkdir bin\npushd bin\nwget https://github.com/io12/pwninit/releases/download/3.3.1/pwninit\nchmod 755 pwni"
  },
  {
    "path": "pwninit/install-root-debian",
    "chars": 50,
    "preview": "#!/bin/bash -ex\n\nsudo apt-get install -y patchelf\n"
  },
  {
    "path": "pwnsh/install",
    "chars": 145,
    "preview": "#!/bin/bash -ex\n\ngit clone https://github.com/zardus/pwnsh\npushd pwnsh\n./update-syscalls.sh\npopd\n\nmkdir bin\npushd bin\nln"
  },
  {
    "path": "pwntools/install",
    "chars": 107,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth=1 https://github.com/Gallopsled/pwntools.git\npipx install -e ./pwntools\n"
  },
  {
    "path": "pwntools/install-root-archlinux",
    "chars": 74,
    "preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed binutils openssl libffi\n"
  },
  {
    "path": "pwntools/install-root-debian",
    "chars": 102,
    "preview": "#!/bin/bash -ex\n\napt-get install -y python3-pip python3-dev git libssl-dev libffi-dev build-essential\n"
  },
  {
    "path": "pwntools/install-root-fedora",
    "chars": 83,
    "preview": "#!/bin/bash -ex\n\ndnf install -y binutils binutils-devel libffi-devel openssl-devel\n"
  },
  {
    "path": "python2/install",
    "chars": 334,
    "preview": "#!/bin/bash -ex\n\n[ -d pyenv ] || git clone --depth=1 https://github.com/pyenv/pyenv\nexport PYENV_ROOT=$PWD/pyenv-root\npy"
  },
  {
    "path": "python2/install-root-debian",
    "chars": 286,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\n# pyvenv\napt-get -y install build-essential libssl-dev zlib1g-dev libbz2-dev librea"
  },
  {
    "path": "qemu/install",
    "chars": 1056,
    "preview": "#!/bin/bash -ex\n\nfind_latest_qemu_version() {\n    git ls-remote --tags https://gitlab.com/qemu-project/qemu.git \\\n      "
  },
  {
    "path": "qemu/install-root-archlinux",
    "chars": 69,
    "preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed python2 pixman dtc\n"
  },
  {
    "path": "qemu/install-root-debian",
    "chars": 137,
    "preview": "#!/bin/bash -ex\n\napt-get install -y python3 pkg-config zlib1g-dev \\\n    libglib2.0-dev libpixman-1-dev libfdt-dev ninja-"
  },
  {
    "path": "qiling/install",
    "chars": 391,
    "preview": "#!/bin/bash -ex\n\nvirtualenv venv\nsource venv/bin/activate\n\ngit clone -b dev --depth 1 https://github.com/qilingframework"
  },
  {
    "path": "qiling/install-root-debian",
    "chars": 750,
    "preview": "#!/bin/bash -ex\n\n\n# from https://docs.qiling.io/en/latest/install/, but seems insane\nexport DEBIAN_FRONTEND=noninteracti"
  },
  {
    "path": "qira/install",
    "chars": 344,
    "preview": "#!/bin/bash -ex\n\nmkdir nosudo\ncat <<END > nosudo/sudo\n#!/bin/bash\necho SUDO BLOCKED: \"\\$@\"\nEND\nchmod 755 nosudo/sudo\n\ngi"
  },
  {
    "path": "qira/install-root-archlinux",
    "chars": 260,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed python2-pip openssl libjpeg-turbo zlib \\\n    unzip"
  },
  {
    "path": "qira/install-root-debian",
    "chars": 410,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libssl-dev build-essential python3-dev python3-pip debootstrap l"
  },
  {
    "path": "rappel/install",
    "chars": 132,
    "preview": "#!/bin/bash -ex\n\ngit clone https://github.com/yrp604/rappel\ncd rappel\nmake\ncd ..\n\nmkdir -p bin\ncd bin\nln -s ../rappel/bi"
  },
  {
    "path": "rappel/install-root-debian",
    "chars": 97,
    "preview": "#!/bin/bash -ex\n\napt-get install -y libedit-dev nasm\napt-get install -y libedit-dev:i386 || true\n"
  },
  {
    "path": "reveng/install",
    "chars": 329,
    "preview": "#!/bin/bash -ex\n\nwget https://downloads.sourceforge.net/project/reveng/3.0.6/reveng-3.0.6.tar.gz\ntar -xf reveng-3.0.6.ta"
  },
  {
    "path": "ropper/install",
    "chars": 37,
    "preview": "#!/bin/bash -ex\n\npipx install ropper\n"
  },
  {
    "path": "ropper/test",
    "chars": 148,
    "preview": "#!/bin/bash -ex\n\nset +e\nsource ${VIRTUALENVWRAPPER_SCRIPT}\nworkon ctftools\nset -e\n\n[ $(ropper --file /bin/false | wc -l)"
  },
  {
    "path": "rp++/install",
    "chars": 162,
    "preview": "#!/bin/bash -ex\n\nwget https://github.com/0vercl0k/rp/releases/download/v2.1.4/rp-lin-gcc.zip\nunzip rp-lin-gcc.zip\nmkdir "
  },
  {
    "path": "rsactftool/install",
    "chars": 315,
    "preview": "#!/bin/bash -ex\n\nvirtualenv venv\nsource venv/bin/activate\n\ngit clone --depth 1 https://github.com/Ganapati/RsaCtfTool\npu"
  },
  {
    "path": "rsactftool/install-root-debian",
    "chars": 64,
    "preview": "#!/bin/bash -ex\n\nsudo apt-get install -y libgmp3-dev libmpc-dev\n"
  },
  {
    "path": "scrdec18/install",
    "chars": 172,
    "preview": "#!/bin/bash -ex\n\nwget \"https://gist.githubusercontent.com/bcse/1834878/raw/7483fb72abbb32aa69b853fdcc9f6f72e7568677/scrd"
  },
  {
    "path": "seccomp-tools/install",
    "chars": 43,
    "preview": "#!/bin/bash -ex\n\ngem install seccomp-tools\n"
  },
  {
    "path": "seccomp-tools/install-root-debian",
    "chars": 50,
    "preview": "#!/bin/bash -ex\n\napt-get install -y ruby ruby-dev\n"
  },
  {
    "path": "shellnoob/install",
    "chars": 136,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/reyammer/shellnoob\n\nmkdir -p bin\ncd bin\nln -s ../shellnoob/shell"
  },
  {
    "path": "social-analyzer/install",
    "chars": 46,
    "preview": "#!/bin/bash -ex\n\npipx install social-analyzer\n"
  },
  {
    "path": "ssh_decoder/install",
    "chars": 186,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/jjyg/ssh_decoder.git\nchmod 755 ssh_decoder/ssh_decoder.rb\n\nmkdir"
  },
  {
    "path": "sslsplit/install",
    "chars": 142,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/droe/sslsplit\ncd sslsplit\nmake -j $(nproc)\ncd ..\n\nmkdir bin\ncp s"
  },
  {
    "path": "sslsplit/install-root-archlinux",
    "chars": 79,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed libevent\n"
  },
  {
    "path": "sslsplit/install-root-debian",
    "chars": 115,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libevent-dev pkg-config libssl-dev libnet1-dev libpcap-dev\n"
  },
  {
    "path": "steganabara/install",
    "chars": 227,
    "preview": "#!/bin/bash -ex\n\ncurl http://www.caesum.com/handbook/steganabara-1.1.1.tar.gz | tar xz\nmkdir -p bin\ncat <<END > bin/steg"
  },
  {
    "path": "stegano-tools/install",
    "chars": 427,
    "preview": "#!/bin/bash -ex\n\nvirtualenv venv\nsource venv/bin/activate\npip install tinyscript\n\n[ -e stegano-tools ] || git clone --re"
  },
  {
    "path": "stegano-tools/uninstall",
    "chars": 192,
    "preview": "#!/bin/bash -ex\n\nfor F in paddinganograph stegolsb stegopit stegopvd; do\n  rm -f $HOME/tools/bin/$F\n  rm -f $HOME/.virtu"
  },
  {
    "path": "stegdetect/install",
    "chars": 532,
    "preview": "#!/bin/bash -ex\n\nINST_DIR=\"$PWD\"\n\ngit clone --depth 1 https://github.com/sparticvs/stegdetect\n\nmkdir -p bin etc man/man1"
  },
  {
    "path": "stegdetect/install-root-archlinux",
    "chars": 169,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\necho \"ERROR: archlinux has no aclocal-1.4. only $(aclocal --version | head -n 1)\"\ne"
  },
  {
    "path": "stegdetect/install-root-debian",
    "chars": 157,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install automake1.11 automake autotools-dev libevent-dev libmagic-dev\nap"
  },
  {
    "path": "stegosaurus/install",
    "chars": 156,
    "preview": "#!/bin/bash -ex\n\nINST_DIR=\"$PWD\"\n\ngit clone --depth 1 https://github.com/AngelKitty/stegosaurus.git\n\nmkdir bin\n\ncd bin\n\n"
  },
  {
    "path": "stegsolve/install",
    "chars": 140,
    "preview": "#!/bin/bash -ex\n\nwget http://www.caesum.com/handbook/Stegsolve.jar -O stegsolve.jar\nchmod +x stegsolve.jar\nmkdir bin\nmv "
  },
  {
    "path": "subbrute/install",
    "chars": 143,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/TheRook/subbrute.git\n\nmkdir -p bin\ncd bin\nln -s ../subbrute/subb"
  },
  {
    "path": "taintgrind/install",
    "chars": 455,
    "preview": "#!/bin/bash -ex\n\ncurl https://sourceware.org/pub/valgrind/valgrind-3.25.1.tar.bz2 | tar xj\ncd valgrind-3.25.1\n\ngit clone"
  },
  {
    "path": "tor-browser/install",
    "chars": 341,
    "preview": "#!/bin/bash -ex\n\nREL_PATH=$(curl https://www.torproject.org/download/ | grep -i tor-browser-linux-x86_64 | grep 'xz\"' | "
  },
  {
    "path": "valgrind/install",
    "chars": 197,
    "preview": "#!/bin/bash -ex\n\nINST_DIR=$PWD\n\ncurl ftp://sourceware.org/pub/valgrind/valgrind-3.13.0.tar.bz2 | tar xj\ncd valgrind-3.13"
  },
  {
    "path": "veles/install",
    "chars": 255,
    "preview": "#!/bin/bash -ex\n\nwget -O src.tar.gz https://codisec.com/wp-content/uploads/2016/12/Veles_2016.12_Source.tar.gz\ntar xf sr"
  },
  {
    "path": "veles/install-root-archlinux",
    "chars": 70,
    "preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed cmake zlib qt5-base\n"
  },
  {
    "path": "veles/install-root-debian",
    "chars": 65,
    "preview": "#!/bin/bash -ex\n\napt-get install -y cmake zlib1g-dev qtbase5-dev\n"
  },
  {
    "path": "villoc/install",
    "chars": 394,
    "preview": "#!/bin/bash -ex\n\nPIN_NAME=pin-external-3.31-98869-gfa6f126a8-gcc-linux\ncurl https://software.intel.com/sites/landingpage"
  },
  {
    "path": "volatility/install",
    "chars": 280,
    "preview": "#!/bin/bash -ex\n\n[ -e volatility ] || git clone --depth 1 https://github.com/volatilityfoundation/volatility\n\npython2 -m"
  },
  {
    "path": "volatility3/install",
    "chars": 42,
    "preview": "#!/bin/bash -ex\n\npipx install volatility3\n"
  },
  {
    "path": "webgrep/install",
    "chars": 75,
    "preview": "#!/bin/bash -ex\n\npipx install 'git+https://github.com/dhondta/webgrep.git'\n"
  },
  {
    "path": "webgrep/install-root-archlinux",
    "chars": 135,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --needed --noconfirm binutils grep imagemagick perl-image-exiftool steg"
  },
  {
    "path": "webgrep/install-root-debian",
    "chars": 128,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install binutils grep imagemagick libimage-exiftool-perl steghide tesser"
  },
  {
    "path": "webgrep/install-root-fedora",
    "chars": 136,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\ndnf install perl-Image-ExifTool.noarch\ndnf install -y binutils grep imagemagick ste"
  },
  {
    "path": "webgrep/install-root-ubuntu",
    "chars": 114,
    "preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install binutils grep imagemagick exiftool steghide tesseract-ocr\n"
  },
  {
    "path": "xortool/install",
    "chars": 75,
    "preview": "#!/bin/bash -ex\n\npipx install 'git+https://github.com/hellman/xortool.git'\n"
  },
  {
    "path": "xrop/install",
    "chars": 231,
    "preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/acama/xrop.git\ncd xrop\ngit submodule update --init --recursive\nm"
  },
  {
    "path": "xrop/install-root-debian",
    "chars": 63,
    "preview": "#!/bin/bash -ex\n\napt-get update\napt-get install -y zlib1g-dev\n\n"
  },
  {
    "path": "xspy/install",
    "chars": 132,
    "preview": "#!/bin/bash -ex\n\n[ -e xspy ] || git clone https://gitlab.com/kalilinux/packages/xspy\nmkdir -p bin\ngcc -o bin/xspy xspy/X"
  },
  {
    "path": "xspy/install-root-debian",
    "chars": 47,
    "preview": "#!/bin/bash -ex\n\napt-get install -y libx11-dev\n"
  },
  {
    "path": "yafu/install",
    "chars": 176,
    "preview": "#!/bin/bash -ex\n\nmkdir yafu\nmkdir bin\ncd yafu\nwget \"https://downloads.sourceforge.net/project/yafu/1.34/yafu-1.34.zip\" -"
  },
  {
    "path": "yafu/test",
    "chars": 204,
    "preview": "#!/bin/bash -ex\n\nRESULT=$(./bin/yafu 'factor(10)' | grep \"^P\" | tr -d '\\n')\n[ \"$RESULT\" == \"P1 = 2P1 = 5\" ] || exit 1\n\n."
  },
  {
    "path": "zsteg/install",
    "chars": 35,
    "preview": "#!/bin/bash -ex\n\ngem install zsteg\n"
  },
  {
    "path": "zsteg/install-root-archlinux",
    "chars": 55,
    "preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed ruby\n"
  },
  {
    "path": "zsteg/install-root-debian",
    "chars": 41,
    "preview": "#!/bin/bash -ex\n\napt-get install -y ruby\n"
  },
  {
    "path": "zsteg/uninstall",
    "chars": 63,
    "preview": "#!/bin/bash -ex\n\necho \"Y\" | gem uninstall --user-install zsteg\n"
  }
]

About this extraction

This page contains the full source code of the zardus/ctf-tools GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 154 files (57.7 KB), approximately 22.0k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!