Home

Awesome

<p align="center"> <img src="https://raw.githubusercontent.com/securisec/chepy/master/logo.png" width="65%"> </p>

<!-- ![](https://img.shields.io/travis/com/securisec/chepy?logo=travis) --> <!-- [![](https://img.shields.io/docker/cloud/build/securisec/chepy?logo=docker)](https://hub.docker.com/r/securisec/chepy) -->

<!-- ![](https://img.shields.io/docker/pulls/securisec/chepy?label=Docker%20pull&logo=docker) -->

Chepy

Solving a CTF with Chepy

Chepy is a python library with a handy cli that is aimed to mirror some of the capabilities of CyberChef. A reasonable amount of effort was put behind Chepy to make it compatible to the various functionalities that CyberChef offers, all in a pure Pythonic manner. There are some key advantages and disadvantages that Chepy has over Cyberchef. The Cyberchef concept of stacking different modules is kept alive in Chepy.

There is still a long way to go for Chepy as it does not offer every single ability of Cyberchef.

Feel free to give the project a ⭐️!

Docs

Refer to the docs for full usage information

Example

For all usage and examples, see the docs.

Chepy has a stacking mechanism similar to Cyberchef. For example, this in Cyberchef:

<img src="https://raw.githubusercontent.com/securisec/chepy/master/docs/assets/cc_encoding.png" width=400px>

This is equivalent to

from chepy import Chepy

file_path = "/tmp/demo/encoding"

print(
    Chepy(file_path)
    .load_file()
    .reverse()
    .rot_13()
    .from_base64()
    .from_base32()
    .hexdump_to_str()
    .o
)

Chepy vs Cyberchef

Advantages

Disadvantages

Installation

Chepy can be installed in a few ways.

Pypi

pip3 install chepy
# optionally with extra requirements
pip3 install chepy[extras]

Git

git clone --recursive https://github.com/securisec/chepy.git
cd chepy
pip3 install -e .
# I use -e here so that if I update later with git pull, I dont have it install it again (unless dependencies have changed)
<!-- #### [Docker](https://hub.docker.com/r/securisec/chepy) ```bash docker run --rm -ti -v $PWD:/data securisec/chepy "some string" [somefile, "another string"] ``` -->

Standalone binary

One can build Chepy to be a standalone binary also. This includes packaging all the dependencies together.

git clone https://github.com/securisec/chepy.git
cd chepy
pip install .
pip install pyinstaller
pyinstaller cli.py --name chepy --onefile

The binary will be in the dist/ folder.

Plugins

Check here for plugins docs

Used by

Remnux linux

.. toctree::
   :maxdepth: 3
   :caption: Contents:

   usage.md
   examples.md
   cli.rst
   chepy.md
   core.md
   modules.rst
   extras.rst
   plugins.md
   pullrequest.md
   config.md
   faq.md


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`