SkillAgentSearch skills...

Pyobfusinator

Just another Python code obfuscator

Install / Use

/learn @dthung1602/Pyobfusinator
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<img src="docs/img-social.png" width="100%" style="border-radius: 8px">

What is this?

Just another Python code obfuscator

Feature

PyObfusinator has 2 methods to obfuscate code:

Inflation

Rewrite the whole program using only 4 built-in functions: exec, eval, str, all, with (), [], and +

For example, a simple print('hello world') becomes

exec(str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(eval(str(str)[all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])]+str(str)[all([])+all([])+all([])]+str(str)[all([])+all([])]+str(str)[all([])+all([])+all([])+all([])]+str(())[all([[]])]+str(())[all([])]))[all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(eval(str(str)[all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])]+str(str)[all([])+all([])+all([])]+str(str)[all([])+all([])]+str(str)[all([])+all([])+all([])+all([])]+str(())[all([[]])]+str(())[all([])]))[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])]+str(eval(str(str)[all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])]+str(str)[all([])+all([])+all([])]+str(str)[all([])+all([])]+str(str)[all([])+all([])+all([])+all([])]+str(())[all([[]])]+str(())[all([])]))[all([])+all([])+all([])+all([])+all([])+all([])]+str(eval(str(str)[all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])]+str(str)[all([])+all([])+all([])]+str(str)[all([])+all([])]+str(str)[all([])+all([])+all([])+all([])]+str(())[all([[]])]+str(())[all([])]))[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])]+str(eval(str(str)[all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])]+str(str)[all([])+all([])+all([])]+str(str)[all([])+all([])]+str(str)[all([])+all([])+all([])+all([])]+str(())[all([[]])]+str(())[all([])]))[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])]+str(eval)[all([])]+str(str)[all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])]+str(eval)[all([])])
exec(eval(str(eval)[all([])]+str([])[all([[]])]+str(all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([]))+str([])[all([])])+str(str)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])]+str(())[all([[]])]+eval(str(eval)[all([])]+str([])[all([[]])]+str(all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([]))+str([])[all([])])+eval(str(eval)[all([])]+str([])[all([[]])]+str(all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([]))+str([])[all([])])+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])]+str(str)[all([])+all([])]+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])]+eval(str(eval)[all([])]+str([])[all([[]])]+str(all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([]))+str([])[all([])])+str(eval)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])]+str(str)[all([])+all([])]+eval(str(eval)[all([])]+str([])[all([[]])]+str(all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([]))+str([])[all([])])+eval(str(eval)[all([])]+str([])[all([[]])]+str(all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([]))+str([])[all([])])+str(())[all([])]+eval(str(eval)[all([])]+str([])[all([[]])]+str(all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([])+all([]))+str([])[all([])]))

Unicode magic

"Compress" the whole program using zalgo text

For example, print('hello world') becomes

b='E͉͎͔͈͐͒̈̇͌͌ͅ͏̀͗͏͒͌̈́̇̉ͯ'.encode();exec(''.join(chr(((h<<6&64|c&63)+22)%133+10)for h,c in zip(b[1::2],b[2::2])))

Installation

  1. Clone this project
  2. Make sure you have poetry installed
  3. Run
    poetry install
    

Command line

Once installed, call the command line directly

pyobfusinator -i source.py -o dest.py -f

Or using the python module

python3 -m pyobfusinator -i source.py -o dest.py -f

All available options:

pyobfusinator [-h] [-i INPUT] [-o OUTPUT] [-v] (-f | -c)
options:
  -h, --help                  Show this help message and exit
  -i INPUT, --input INPUT     Input file. Leave empty to read from stdin
  -o OUTPUT, --output OUTPUT  Output file. Leave empty to write to stdout
  -v, --verbose               Print extra info
  -f, --inflate               Make the code inflated by using only exec, ev
View on GitHub
GitHub Stars8
CategoryDevelopment
Updated7mo ago
Forks0

Languages

Python

Security Score

82/100

Audited on Aug 11, 2025

No findings