يمكن استخدام marshal لتحويل كود Python إلى bytecode ثنائي ثم تشغيله لاحقًا، وهذا يجعل قراءة السورس مباشرة أصعب قليلًا.
الفكرة: نقرأ ملف Python، نعمل له compile، ثم نخزن الناتج بصيغة marshal داخل ملف تشغيل صغير.
التثبيت:
marshal مدمجة مع Python ولا تحتاج تثبيتمثال مبسط:
import marshal
source = 'print("Protected code")'
code = compile(source, "app.py", "exec")
with open("app_protected.bin", "wb") as f:
f.write(marshal.dumps(code))
تشغيل الملف لاحقًا:
import marshal
with open("app_protected.bin", "rb") as f:
code = marshal.loads(f.read())
exec(code)
مهم: هذا ليس تشفيرًا حقيقيًا ولا حماية كاملة. هو مجرد Obfuscation يجعل القراءة أصعب، ويمكن عكسه أو تحليله من شخص خبير.
للحماية الأفضل: لا تضع أسرارًا داخل الكود، واستخدم متغيرات البيئة، ووزّع التطبيق بصيغة مناسبة مثل PyInstaller عند الحاجة.
#Python #CyberSecurity #Obfuscation

