π ΠΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΠΊΠΎΠ΄ exe ΡΠ°ΠΉΠ»Π° python | ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ .exe ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Python, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠΈΠΌ ΡΠ°Π³Π°ΠΌ:
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Hex-Rays IDA ΠΈΠ»ΠΈ Python-Exe-Unpacker.
Π¨Π°Π³ 2: ΠΡΠΊΡΠΎΠΉΡΠ΅ .exe ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
import os
import sys
def show_code(file_path):
with open(file_path, 'r') as file:
code = file.read()
print(code)
file_path = 'path_to_exe.exe'
show_code(file_path)
Π¨Π°Π³ 3: ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄, ΡΠΊΠ°Π·Π°Π² ΠΏΡΡΡ ΠΊ .exe ΡΠ°ΠΉΠ»Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° .exe ΡΠ°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π·Π°ΡΠΈΡΠ΅Π½ Π°Π²ΡΠΎΡΡΠΊΠΈΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ. ΠΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ ΠΈ ΡΠΎΠ±Π»ΡΠ΄Π°ΠΉΡΠ΅ Π·Π°ΠΊΠΎΠ½Ρ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΠΊΠΎΠ΄ exe ΡΠ°ΠΉΠ»Π° Python
ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (exe) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°ΡΠΈΡΡ ΠΊΠΎΠ΄Π° Python. ΠΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΊΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ . Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΎΡΠΊΡΡΡΡ ΠΊΠΎΠ΄ exe ΡΠ°ΠΉΠ»Π° Python.
1. Disassembler Python (PyInstaller)
PyInstaller - ΠΏΠ°ΠΊΠ΅ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (.exe) ΠΈΠ· ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Python (.py). ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ "ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°" Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅:
pyi-archive_viewer your_script.exe
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Python.
2. Dissassembler IDA Pro
IDA Pro - ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΉΠ»Ρ exe Python.
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ exe ΡΠ°ΠΉΠ» Python Π² IDA Pro, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅ IDA Pro ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ "Open" Π² ΠΌΠ΅Π½Ρ "File".
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ exe ΡΠ°ΠΉΠ» Python ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ "OK".
- IDA Pro Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π°Π½Π°Π»ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Python.
3. ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ uncompyle6
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° uncompyle6 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° Python ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Python ΠΈΠ· ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ uncompyle6:
import uncompyle6
with open('your_script.pyc', 'rb') as file:
uncompyle6.decompile_file(file, sys.stdout)
ΠΠ΄Π΅ 'your_script.pyc' - ΡΡΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Python, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΈΠ· exe ΡΠ°ΠΉΠ»Π°.
4. ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ uncompyle2
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠ°Ρ, Π½ΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° decompyler Π΄Π»Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Python. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ· exe ΡΠ°ΠΉΠ»Π°. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ decompyler ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install uncompyle2
ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
from uncompyle2 import uncompyle_file
uncompyle_file('your_script.exe', sys.stdout)
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΡΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° exe ΡΠ°ΠΉΠ»Π° Python. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ ΠΈ ΡΠ»ΡΡΡΠ°ΡΡ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Python!