Yuklanmoqda...
🛡️ Python Kodini Reverse Engineeringdan Himoyalash

🛡️ Python Kodini Reverse Engineeringdan Himoyalash

category Reverse Engineering person Neo_Yamaguchi calendar_month 09 Jul 2025, 10:23

🎯 Nega Himoya Kerak?

  • 🔓 .py yoki .pyc fayllar oson dekompilyatsiya qilinadi (uncompyle6, decompyle3)
  • 👀 Kodni o‘g‘irlab, boshqa joyda ishlatish mumkin
  • 🧠 Maxfiy algoritmlar va API kalitlari fosh bo‘lishi mumkin
  • 🚫 O‘zgartirib, zararli versiyalar yaratish xavfi mavjud

Shunday ekan, quyida keltirilgan 5 asosiy himoya usuli sizning Python loyihangizni himoyalashga yordam beradi.


🧰 1. Cython – C darajasiga kompilyatsiya qilish

Cython Python kodni C extension (ya’ni .so yoki .pyd) ko‘rinishiga o‘girib, bajarilishi tezroq va teskari tahlili ancha qiyin bo‘lgan modulga aylantiradi.

➤ O‘rnatish:

pip install cython 

➤ Misol:

hello.py:

def hello(): print("Salom, bu himoyalangan kod") 

setup.py:

from setuptools import setup from Cython.Build import cythonize setup( ext_modules=cythonize("hello.py", compiler_directives={'language_level': "3"}), ) 

➤ Kompilyatsiya:

python setup.py build_ext --inplace 

➡️ Natija: hello.c va hello.so (yoki .pyd) fayl. .py faylni o‘chirishingiz mumkin.


🔐 2. PyArmor – Shifrlash va Obfuscation

PyArmor — professional himoya vositasi bo‘lib, Python fayllarni shifrlab, maxsus runtime orqali ishga tushirish imkonini beradi.

➤ O‘rnatish:

pip install pyarmor 

➤ Himoya qilish:

pyarmor gen hello.py 

➡️ Natija: .py fayl shifrlangan ko‘rinishda va ishlashi uchun kerakli .pyarmor_runtime bilan birga.


⚙️ 3. Nuitka – To‘liq EXE yoki ELF binarga aylantirish

Nuitka Python kodni C++ ga aylantirib, to‘liq kompilyatsiyalangan .exe yoki .elf fayl hosil qiladi. Bu deyarli teskari tahlildan himoyalangan kod hisoblanadi.

➤ O‘rnatish:

pip install nuitka 

➤ Kompilyatsiya:

nuitka --standalone --follow-imports hello.py 

➡️ Natija: to‘liq ishlovchi hello.exe fayl, .py kerak emas.


🌀 4. Kodni Obfuskatsiya Qilish

Obfuscation — kodni o‘qilmas va tushunarsiz holga keltirish.

➤ Pyminifier bilan:

pip install pyminifier 
pyminifier -o -n -m -d hello.py > hello_obf.py 

➡️ Natija: O‘zgaruvchi va funksiya nomlari chalkash, kodni tushunish qiyinlashadi.


🐳 5. Docker Ichida Kodni Yashirish

Agar sizning ilovangiz serverda ishlasa, foydalanuvchiga hech qanday kod bermasdan, Docker konteyner orqali xizmat ko‘rsatishingiz mumkin.

➤ Misol:

FROM python:3.11-slim COPY . /app WORKDIR /app CMD ["python3", "main.py"] 

➡️ Natija: Kod faqat konteyner ichida, tashqariga chiqmaydi.


🚫 Hech qachon qilmaslik kerak:

  • .pyc fayllarni tarqatish — bu himoya emas
  • Faqat obfuscationga ishonish — kuchsiz himoya
  • API kalitlarni kod ichida qoldirish — xavfli!

chat Izohlar

Hozircha izohlar yo'q.