DEV Community

Cover image for Anubis - Python Obfuscator
0sir1ss
0sir1ss

Posted on • Updated on

Anubis - Python Obfuscator

Project on github here

🎯 About

I was looking around online and github when I realised that there were little Python obfuscators. First there's pyarmor but that can be deobfuscated, however it still is quite good. Then there's many tools like pyminifier but they all do the same thing and don't provide any real protection against your code. Another good solution I found was this obfuscator here but purchasing it costs USD $1998. Luckily I made my own version named Carbon which you can use for free.

Anyways, I decided to create my own obfuscator, which provides a plethora of features such as junk code and custom encryption, and includes the obfuscation found in Carbon.

You can see the difference it makes from this source here to this obfuscated one liner here and you can see what Carbon does here

✨ Features

✔️ Anti Debugger - Stop the use of debuggers whilst this program is running
✔️ Junk Code - Add junk code to the program
✔️ Carbon Obfuscation - Rename classes, functions, variables and parameters along with removing comments and docstrings
✔️ Custom Encryption - A one liner which uses custom encryption
✔️ Compile to exe with Nuitka

🚀 Technologies

The following tools were used in this project:

✅ Requirements

Before starting, you need to have Python installed.

If you wish to compile your project to an exe you will need Nuitka along with a C compiler. Nuitka will automatically download the MinGW64 compiler if no usable one is found.

🏁 Starting

# Clone this project
$ git clone https://github.com/0sir1ss/Anubis

# Access
$ cd Anubis

# Install dependencies
$ pip install -r requirements.txt

# Run the project
$ python anubis.py
Enter fullscreen mode Exit fullscreen mode

If you do not compile to an exe and instead choose to distribute with the custom encryption you will need the ancrypt file
You can build this with the following command:

python setup.py build_ext --inplace

 

Made with ❤️ by 0sir1s

Discussion (0)