|
1 | 1 | <a id ="up"></a> |
| 2 | + |
2 | 3 | <p align="center"> |
3 | 4 | <img src="assets/banner.png"> |
4 | | -<img src="https://img.shields.io/badge/PyShield-v2.0.1.5-blue?style=for-the-badge&logo=&logoColor=whit"> |
| 5 | +<img src="https://img.shields.io/badge/PyShield-v3.0.0.0-blue?style=for-the-badge&logo=&logoColor=whit"> |
5 | 6 | <img src="https://img.shields.io/badge/Python-FFD43B?style=for-the-badge&logo=python&logoColor=blue"> |
6 | 7 | <img src="https://img.shields.io/badge/VSCode-0078D4?style=for-the-badge&logo=visual%20studio%20code&logoColor=white"> |
7 | | -<img src="https://img.shields.io/badge/tests-100/100-76B900?style=for-the-badge&logo=&logoColor=whit"> |
8 | | -<img src="https://img.shields.io/badge/build-passing-76B900?style=for-the-badge&logo=&logoColor=whit"> |
9 | | -<img src="https://img.shields.io/badge/code quality-A-76B900?style=for-the-badge&logo=&logoColor=whit"> |
| 8 | +<img src="https://img.shields.io/badge/tests-6/6-76B900?style=for-the-badge&logo=&logoColor=whit"> |
| 9 | +<img src="https://img.shields.io/badge/build win-passing-76B900?style=for-the-badge&logo=&logoColor=whit"> |
| 10 | +<img src="https://img.shields.io/badge/build linux-passing-76B900?style=for-the-badge&logo=&logoColor=whit"> |
| 11 | +<img src="https://img.shields.io/badge/build mac-passing-76B900?style=for-the-badge&logo=&logoColor=whit"> |
| 12 | +<img src="https://img.shields.io/badge/code quality-A+-76B900?style=for-the-badge&logo=&logoColor=whit"> |
10 | 13 | <img src="https://img.shields.io/badge/license-GPL3.0-blue?style=for-the-badge&logo=&logoColor=whit"> |
11 | 14 | </p> |
12 | 15 |
|
13 | 16 | --- |
| 17 | + |
14 | 18 | ### 🛡Py-Shield🛡 |
15 | | -Tool/Library for Python used to obfuscate and protect your code from decompilation, reverse debug, etc. Also, can prevent detection by antiviruses. |
| 19 | + |
| 20 | +Tool/Library for Python used to obfuscate and protect your code in static and runtime from decompilation, reverse debug, etc. Also, can prevent detection by antiviruses. |
16 | 21 |
|
17 | 22 | --- |
| 23 | + |
18 | 24 | ### 💻Supported Platforms💻 |
19 | 25 |
|
20 | | -- Python 3 |
| 26 | +- Python 3 up to latest |
21 | 27 | - Windows |
22 | | -- Various Linux distributions |
| 28 | +- All Linux distributions |
23 | 29 | - Mac OS |
24 | 30 |
|
25 | 31 | --- |
| 32 | + |
26 | 33 | ### 🔧Main Features🔧 |
27 | | -> **Hash strings** |
28 | | -> - Hashing all strings in piece of code. It replaces all strings with their hash. |
29 | | -> - Protects strings context. |
30 | 34 |
|
31 | | -> **Looping obfuscation** |
32 | | -> - Encrypting piece of code using base64 and zlib for N times. |
| 35 | +> **Static & Runtime Protection** |
| 36 | +> |
| 37 | +> - Total advanced static and runtime protection from decompilation, reverse debug, etc. |
| 38 | +
|
| 39 | +> **Hash Variables** |
| 40 | +> |
| 41 | +> - Hash all variables and constants values in fragment of code. |
| 42 | +> - Protects variables and constants content. |
| 43 | +
|
| 44 | +> **Recursive obfuscation** |
| 45 | +> |
| 46 | +> - Recurseve encrypt fragment of code using base64 and zlib n times. |
33 | 47 | > - Best way to decrease/prevent antiviruses detection. |
34 | 48 |
|
35 | | -> **AES encryption** |
36 | | -> - Encrypting piece of code using AES 256 encryption algorithm. |
37 | | -> - One of two nice ways to protect code from deobfuscation. |
| 49 | +> **Best encryption algorithms** |
| 50 | +> |
| 51 | +> - Fernet, AES-GCM, ChaCha20, Salsa20 |
| 52 | +> - Symmetric cipher which offer strong confidentiality, and provide authentication and integrity to protect against tampering. |
| 53 | +
|
| 54 | +> **File Integrity Protection** |
| 55 | +> |
| 56 | +> - Protect files against modification. |
| 57 | +> - Advanced file hash/content integrity check and comparison. |
38 | 58 |
|
39 | | -> **Fernet encryption** |
40 | | -> - Encrypting piece of code using Fernet encryption algorithm. |
41 | | -> - One of two nice ways to protect code from deobfuscation. |
42 | 59 | --- |
43 | 60 |
|
44 | 61 | ### 🏁Quick start🏁 |
| 62 | + |
45 | 63 | 1. Clone repo |
46 | | - ``` |
47 | | - git clone https://github.com/ByteCorum/Py-Shield.git |
48 | | - ``` |
| 64 | + ``` |
| 65 | + git clone https://github.com/ByteCorum/Py-Shield.git |
| 66 | + ``` |
49 | 67 | 2. Install requirements |
50 | 68 | ``` |
51 | 69 | pip install -r requirements.txt |
52 | 70 | ``` |
53 | | -3. More info |
| 71 | +3. Usage info |
54 | 72 | ``` |
55 | 73 | py-shield --help |
56 | 74 | ``` |
57 | 75 | 4. Example |
58 | | - ``` |
59 | | - py-shield --mode hashstr;crypt;looping;aes --loops 3 main.py |
60 | | - ``` |
| 76 | + ``` |
| 77 | + py-shield obfuscate --hashdata --aes --chacha --follow-imports main.py |
| 78 | + ``` |
61 | 79 | 5. Output |
62 | 80 | ``` |
63 | | - from PyShield.script_67158430 import PyShield |
64 | | - PyShield(__file__, b'x\x9c\x05\xc1I\xa2C0\x00\x00\xd0\x03Y\x18\xf0Q\xc4\\;TEM\r...') |
| 81 | + #Obfuscated by Py-Shield 3.0.0.0 |
| 82 | + from PyShield.script_55958136 import PyShield, _ |
| 83 | + _(PyShield(b'x\x9c\x05\xc1\xc7\xa2k@\x00\x00\xd0\x0f\xb2P\xa3,\xdeB\...') |
65 | 84 | ``` |
66 | 85 | 6. Example legacy |
67 | | - ``` |
68 | | - py-shield-legacy --loops 3 --mode 2 --file main.py |
69 | | - ``` |
| 86 | + ``` |
| 87 | + py-shield obfuscatelegacy --loops 3 --mode 2 --file code.py |
| 88 | + ``` |
70 | 89 | 7. Output legacy |
71 | 90 | ``` |
72 | | - _=lambda __:__import__('zlib').decompress(__import__('cryptography.fernet').fernet.Fernet(((__import__('zlib').decompress(__))[::-1].split(b'/%p@K^(Y#C/_/jUEIakSX%/'))[1]).decrypt(((__import__('zlib').decompress(__))[::-1].split(b'/%p@K^(Y#C/_/jUEIakSX%/'))[0])[::-1]);exec((_)(b'x\x9c\x15\x...') |
| 91 | + _=lambda __:__import__('zlib').decompress(__import__('cryptography.fernet').fernet.Fernet(__import__('base64').b64decode(((__import__('zlib').decompress(__))[::-1].split(b'eY3NTTr:S|dD'))[1])).decrypt(((__import__('zlib').decompress(__))[::-1].split(b'eY3NTTr:S|dD'))[0])[::-1]);exec((_x)(b'x\x9c\x15\x97U\xce\x86\...') |
73 | 92 | ``` |
74 | 93 |
|
75 | 94 | --- |
76 | 95 |
|
77 | 96 | ### 📜Additional Info📜 |
| 97 | + |
78 | 98 | > [!NOTE] |
79 | | -> Obfuscation tool has 2 major versions legacy and global. This repo includes both of them, but we highly recommend you to use the global version, cut it much securer. Anyway, we won't end support of legacy version, so if u have issues, let us know. |
| 99 | +> Obfuscation tool has 2 major versions legacy and main. This repo includes both of them, but we highly recommend you to use the main version, cuz it much more secure. Anyway, we won't end support of legacy version, so if u have issues, let us know. |
80 | 100 |
|
81 | 101 | > [!TIP] |
82 | 102 | > We highly recommend compiling obfuscated script using Nuitka. Use `--follow imports` while obfuscating to tell Nuitka what to import |
| 103 | +
|
83 | 104 | --- |
84 | 105 |
|
85 | 106 | ### 📲Contacts |
86 | 107 |
|
87 | 108 | <a href="https://github.com/ByteCorum"><img src="https://img.shields.io/badge/GitHub-100000?style=for-the-badge&logo=github&logoColor=white"></a> |
88 | | - <a href="https://discordapp.com/users/798503509522645012"><img src="https://img.shields.io/badge/Discord-003E54?style=for-the-badge&logo=Discord&logoColor=white"></a> |
| 109 | +<a href="https://discordapp.com/users/798503509522645012"><img src="https://img.shields.io/badge/Discord-003E54?style=for-the-badge&logo=Discord&logoColor=white"></a> |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +### 💸Support |
| 114 | + |
| 115 | +<a href="https://ko-fi.com/bytecorum"><img src="https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge&logo=ko-fi&logoColor=white"></a> |
| 116 | + |
89 | 117 | --- |
90 | 118 |
|
91 | 119 | [⬆go up⬆](#up) |
0 commit comments