lshlhom
Encrypt Python files with 6 layers of protection. تشفير ملفات Python بـ 6 طبقات حماية.
بالإنجليزية، مكتبة تشفير ملفات بايثون بطريقة تقنية، مبنية على 6 طبقات حماية متتالية. عندك أداة بايثون وعايز توزعها للناس، بس ما بدك حد يشوف الكود أو يعدله؟ هذه المكتبة تسوي لك هذا الشي.
Install / التثبيت
pip install lshlhom
ما تحتاج أي مكتبة خارجية. كل شي مدمج داخل المكتبة.
Usage / الاستخدام
import lshlhom
lshlhom.tshfer("my_tool.py")
بعد ما تشغل هذا الكود، بتحصل على ملف جديد اسمه:
my_tool_shlhom.py
هذا الملف هو نفس الأداة بس مشفرة. وزعه للناس. يشتغل عندهم عادي، بس ما يقدرون يشوفون الكود الأصلي ولا يعدلونه.
Advanced Usage / الاستخدام المتقدم
تغيير اسم الملف الناتج
lshlhom.tshfer("my_tool.py", output="protected.py")
تغيير حجم الملف الناتج (كيلوبايت)
lshlhom.tshfer("my_tool.py", size_kb=1200)
الحجم الافتراضي هو 800 كيلوبايت. زيده إذا بدك حماية أكبر.
استخدام دالة بديلة بنفس الوظيفة
lshlhom.protect("my_tool.py")
نفس الشي بالضبط، بس الاسم بالإنجليزي.
What actually happens / شو يصير بالضبط
المكتبة تطبق 6 طبقات حماية على ملفك، بالترتيب التالي:
1. تحويلات AST (Abstract Syntax Tree)
- إعادة تسمية المتغيرات: كل متغير في الكود يتحول إلى اسم عشوائي مبني على hash
- تشويش تدفق التحكم: كل دالة تتحول إلى loop مع state machine
- تشفير النصوص: كل string أو bytes في الكود يتشفر بـ SM4-CBC
2. Marshal Serialization
تحويل الكود إلى bytecode بايثون عبر ، ثم ضغطه بـ .
3. XOR Stream مزدوج
طبقتين من XOR بمفاتيح عشوائية، طبقة فوق طبقة.
4. تشفير SM4-CBC
خوارزمية SM4 هي التشفير الوطني الصيني الرسمي، بديل AES في الصين. قوية وسريعة.
5. ضغط Huffman
ضغط البيانات بطريقة Huffman tree مخصصة.
6. ترميز Base91
ترميز Base91 بدل Base64 — أكثر كثافة وأقل حجماً.
7. ELF Binary (اختياري)
إذا كان عندك و أو مثبتين، المكتبة تبني ELF binary حقيقي من الكود المشفر، وتضيفه داخل الملف الناتج. إذا ما كانوا مثبتين، تستخدم بديل.
How the output file works / كيف يشتغل الملف الناتج
الملف الناتج () يشتغل بأي مكان فيه Python 3.7 أو أحدث. ما يحتاج مكتبات. لما يشغله المستخدم:
- الملف يفتح نفسه
- يفك الطبقات الست
- يشغل الكود الأصلي
كل هذا يصير في الذاكرة فقط. الكود الأصلي ما يحفظ في أي مكان.
Requirements / المتطلبات
- Python 3.7 أو أحدث
- لا يحتاج أي مكتبة خارجية
- للحماية الأقصى (ELF binary): يحتاج و أو
- المدعوم رسمياً: Termux, Linux, Android
- يعمل على Windows و macOS في الوضع بدون ELF
Use Cases / متى تنفعك
- عندك أداة بايثون وبدك توزعها للناس
- ما بدك حد يشوف المنطق الداخلي
- ما بدك حد يعدل الكود
- ما بدك حد يسرق الفكرة
- بدك تحمي كودك من النسخ
When not to use / متى ما تنفعك
- إذا الكود يحتاج أداء عالي جداً (التشفير يأخذ ثواني عند التشغيل الأول)
- إذا الملف فيه بيانات ضخمة مدمجة (رح يكبر حجم الملف)
- إذا بتوزع الكود مفتوح المصدر (هذه المكتبة ضد الفكرة)
Author / المؤلف
- Email: adojod1231@gmail.com
- Telegram: @yy22ff
License
MIT
Release files for lshlhom 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lshlhom-1.0.0.tar.gz | 13.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lshlhom-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.0 kB
Release files / lshlhom-1.0.0.tar.gz
| Download URL | lshlhom-1.0.0.tar.gz |
|---|---|
| Size | 13.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a6be2941e5a8c0e893b77760df9fdaf6ef55d755777149bae2b39b4f72900837
|
|
BLAKE2b-256 checksum How to use checksums |
01c8cac5ada8bcd1a85e12c3ca969928c4a578d87a0e42d0b78f05a53a073b7a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / lshlhom-1.0.0-py3-none-any.whl
| Download URL | lshlhom-1.0.0-py3-none-any.whl |
|---|---|
| Size | 13.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1bac17027c1517cca04d046b9db742c1c51289f8de91413ed7f63799278c6ec8
|
|
BLAKE2b-256 checksum How to use checksums |
e80861d35ccebb73d70aa1a0c7e758b489ad730661af55ee7f2ace2b023cf247
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|