ShadowPy áp dụng CFF Algebraic Flattening, LFSR+Feistel Cipher, Katakana Mangling và C-API PyEval. Bytecode được bảo vệ tối đa trong trình duyệt — không gửi code lên server.
Không chỉ đổi tên biến — ShadowPy áp dụng chuỗi kỹ thuật bảo vệ phức tạp khiến dịch ngược gần như không thể.
State machine khổng lồ với predicate (x³-x)%6==0. Hàng trăm states giả khiến static analysis thất bại.
Mã hóa LFSR+Feistel chained. Key từ SHA256, nhúng bằng lambda math 4 lớp — tuyệt đối không có hex literal.
Double-zlib compression. CRC32 verify. Base64 encode payload. Nếu CRC fail → exit ngay lập tức.
Phát hiện debug → kích hoạt bảo vệ chủ động đa luồng tiêu diệt tiến trình ngay lập tức
4 bước từ source code gốc đến file Python được bảo vệ tối đa, chạy 100% trong trình duyệt của bạn.
Phân tích AST, áp dụng Control Flow Flattening Algebraic, đổi tên toàn bộ symbols thành Katakana ngẫu nhiên 6 ký tự.
Compile thành Python bytecode, mã hóa LFSR+Feistel với key sinh từ SHA256. Key nhúng bằng lambda math 4 lớp lồng nhau.
Double-zlib compression, CRC32 integrity check, Base64 encode, nhúng vào bootstrap class với skull header ngẫu nhiên.
Nhúng Anti-Debug Watchdog 0.05s, Titanium Guard (V2), validate Python syntax, xuất file .py hoàn chỉnh.
Có, hoàn toàn đúng và đầy đủ. Đây là điểm cốt lõi của ShadowPy: output là một file .py Python hợp lệ, chạy trực tiếp bằng Python 3.x mà không cần cài thêm bất kỳ thư viện ngoài nào.
Quá trình thực thi diễn ra như sau khi bạn chạy file đã obfuscate:
PyMarshal_ReadObjectFromStringPyEval_EvalCodeKết quả thực thi hoàn toàn giống với chạy code gốc — không có sự khác biệt về output, side effects hay performance đáng kể.
File .py đầu ra bao gồm các thành phần theo thứ tự sau:
PyEval_EvalCode thay vì built-in exec() (khó hook hơn)Mục tiêu của obfuscation là làm khó deobfuscate, không phải bảo mật cryptographic. Đây là sự khác biệt quan trọng:
AES.decrypt() hoặc dump key từ memoryVí dụ key 16 bytes được encode thành: (lambda ア:(lambda イ:(lambda ウ:(lambda エ:(((エ>>3)^2814)‐127)^12345)(ウ))(イ))(ア))(45678) — không thể regex tìm ra
Ngoài ra, LFSR+Feistel được implement thuần Python với struct và bitwise ops — không có fingerprint nào để nhận dạng bằng signature scanner. Với AES, bạn có thể tìm from Crypto.Cipher import AES hoặc AES S-box constants trong binary.
Câu trả lời thực tế về khả năng deobfuscate của từng tier:
Core V1 — Rất khó, tốn nhiều thời gian:
Titanium Max V2 — Cực kỳ khó, gần như không thể trong thực tế:
IsDebuggerPresent (Windows), TracerPid (Linux), hook scanner 64-byte, Frida/GDB/PyDevD detectionPython 2: Không hỗ trợ và sẽ không bao giờ hỗ trợ. Python 2 đã chính thức End-of-Life từ ngày 1/1/2020. Dùng Python 2 là rủi ro bảo mật nghiêm trọng vì không còn nhận bản vá lỗi bảo mật. ShadowPy sử dụng syntax và AST nodes của Python 3 (f-strings, walrus operator, match-case...) không tương thích với Python 2.
Python 3 hỗ trợ: Python 3.7 trở lên. Tuy nhiên có một số lưu ý:
Lưu ý quan trọng về bytecode compatibility: File đầu ra phải chạy trên cùng major version Python với máy tạo ra nó, vì Python bytecode format thay đổi giữa các major version. Ví dụ: obfuscate trên Python 3.10 thì file output cần chạy trên Python 3.10.
ShadowPy cần thực hiện AST (Abstract Syntax Tree) analysis và transformation trên source code, đây là bước quan trọng nhất trong quá trình CFF Flattening. Điều này chỉ có thể thực hiện với source code .py, không phải bytecode đã compile.
Tại sao không nhận .pyc?
.pyc là bytecode đã được compile — không có AST để transform, không thể áp dụng CFF hay variable mangling.pyc, dùng uncompyle6 hoặc decompyle3 để decompile ra source trướcTại sao không nhận .pyw?
.pyw thực chất là .py nhưng chạy không có console window trên Windows.pyw sang .py, obfuscate, rồi đổi lại thành .pyw.py để đảm bảo an toàn và nhất quán trong xử lýFile size limit 10MB: Đây là giới hạn thực tế của WebAssembly runtime trong trình duyệt. File Python lớn hơn 10MB rất hiếm và thường là sign of bad architecture (code không nên monolithic).
ShadowPy tích hợp một hệ thống quét heuristic với 15 regex pattern phát hiện các đặc trưng mã độc phổ biến nhất trong Python. Quá trình quét diễn ra hoàn toàn trong trình duyệt, trước khi obfuscation bắt đầu.
Danh sách các pattern được phát hiện:
socket.connect() kết hợp với subprocesscmd.exe, /bin/sh, powershell, bash -inc, ncat, bash -i qua os.system()os.walk() và .encrypt()HKEY_LOCAL_MACHINE\...RunCreateRemoteThread, VirtualAllocEx, WriteProcessMemorypynput, pyxhook với on_press/on_releasebotnet, c2_server, command_and_controlIP()/TCP() và send()hashrate, stratum+tcp, mining pool URLsshutil.copy(__file__, ...) vào system pathslsass, credential_steal, password_dumprecv() và eval()backdoor, reverse_access_trojanQuy trình xử lý vi phạm: Vi phạm lần 1 → cảnh báo chi tiết với danh sách pattern bị phát hiện, tài khoản vẫn hoạt động. Vi phạm lần 2 → tài khoản bị khóa vĩnh viễn trong localStorage, không thể tạo account mới với cùng username.
Tuyệt đối không. Đây là cam kết kỹ thuật cốt lõi của ShadowPy, không phải chỉ là lời hứa marketing.
Cách xác minh kỹ thuật (bất kỳ ai cũng có thể làm):
Tại sao chắc chắn là không có server-side processing?
| Tính năng bảo vệ | Core V1 | Titanium Max V2 |
|---|---|---|
| AST CFF Algebraic Flattening | ✅ MAX | ✅ MAX |
| Katakana Variable Mangling (6-char) | ✅ | ✅ |
| Dynamic Matrix String Encoding | ✅ | ✅ |
| LFSR+Feistel Stream Cipher | ✅ | ✅ |
| Lambda Math Key (no hex) | ✅ | ✅ Enhanced |
| Double-Zlib Compression | ✅ | ✅ |
| CRC32 Integrity Check | ✅ | ✅ |
| Anti-Debug Watchdog 0.05s | ✅ | ✅ |
| C-API PyEval_EvalCode Exec | ✅ | ✅ |
| ctypes memset Memory Wipe | ✅ | ✅ Dual-pass |
| Skull Header (5004 bytes random) | ✅ | ✅ |
| Titanium Guard (active defense) | ❌ | ✅ |
| C-API Hook Scanner (64-byte check) | ❌ | ✅ |
| IsDebuggerPresent (Windows) | ❌ | ✅ |
| CheckRemoteDebuggerPresent (Win) | ❌ | ✅ |
| TracerPid check (Linux) | Cơ bản | ✅ Enhanced |
| /proc/maps scan (Frida/GDB) | ❌ | ✅ |
| Yêu cầu đăng nhập | ❌ Free | ✅ (miễn phí) |
Nên dùng Core V1 khi: Bạn muốn bảo vệ code khỏi người dùng thông thường, reverse engineering cơ bản, hay chỉ cần giữ IP đơn giản. V1 là đủ cho 90% use case.
Nên dùng Titanium Max V2 khi: Code có giá trị kinh tế cao, bạn lo ngại về targeted attack từ người có kỹ năng reverse engineering Python, hay cần bảo vệ tối đa trên môi trường production. V2 là lựa chọn duy nhất khi security là ưu tiên hàng đầu.
Hoàn toàn miễn phí — không có hidden cost, không credit card, không trial period.
Tại sao ShadowPy miễn phí? ShadowPy được phát triển như một công cụ cộng đồng dành cho các Python developer cần bảo vệ mã nguồn của họ. Chúng tôi tin rằng bảo mật không nên là đặc quyền của người có tiền. Chi phí vận hành gần như bằng 0 vì xử lý hoàn toàn client-side, không cần server infrastructure đắt tiền.
Không có kế hoạch tính phí trong tương lai gần. Nếu có thay đổi, sẽ được thông báo ít nhất 30 ngày trước.
Có, nhưng thường không đáng kể trong thực tế. Đây là phân tích chi tiết về performance impact:
Overhead khi khởi động (một lần, không lặp lại):
Overhead khi runtime (liên tục):
Kết quả benchmark thực tế: Với code tính toán nặng (pure Python), overhead thường < 5%. Với code I/O bound (file, network), overhead gần như bằng 0 (I/O dominate). Với script nhỏ, startup overhead là chủ yếu.
Chọn engine, dán code hoặc upload .py, nhấn nút — kết quả ngay trong trình duyệt. Nhấn Obfuscate = đồng ý với Điều khoản sử dụng.