Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
python-exe-unpacker — Вспомогательный скрипт для распаковки и декомпиляции EXE-файлов, скомпилированных из Python-кода. | Kitploit
Инструменты/GitHubGitHub/withsecurelabs/python-exe-unpacker
Динамический анализ (песочница)Обратная инженерияФорензикаАнализ вредоносных программАнализ Бинарных Файлов
GitHubwithsecurelabs/python-exe-unpacker

python-exe-unpacker

Вспомогательный скрипт для распаковки и декомпиляции EXE-файлов, скомпилированных из Python-кода.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
1.0k350442 лет назадПроверено Kitploit
Поделиться

Автор: In Ming Loh ([email protected] - @tantaryu)
Компания: Countercept (@countercept)
Веб-сайт: https://www.countercept.com

Введение

Скрипт, который помогает исследователям распаковывать и декомпилировать исполняемые файлы, написанные на Python. Однако на данный момент он поддерживает только исполняемые файлы, созданные с помощью py2exe и pyinstaller.

Этот скрипт объединяет несколько инструментов, доступных сообществу. Надеюсь, это поможет людям в их повседневной работе. Доступно несколько YARA-правил для определения, написан ли исполняемый файл на Python (этот скрипт также подтверждает, создан ли исполняемый файл с помощью py2exe или pyinstaller).

Требования

  • Python 2.7 или новее.
  • Установите все необходимые зависимости:
    pip2 install --user -r requirements.txt
    или, если вы предпочитаете устанавливать зависимости с правами root
    sudo pip2 install -r requirements.txt

Начало работы

  • python python_exe_unpack.py -i [malware.exe]

    • pyinstaller
      • Будет создана папка с исходным именем файла и добавленным "_extracted". Например: "malware.exe_extracted".
      • Основной файл Python, содержащий логику, обычно будет файлом без расширения (в папке с добавленным "_extracted"). В следующем примере "hello" — это файл, содержащий основную логику Python:

-rw-rw-r-- 1 testuser testuser 70K Nov 14 13:08 bz2.pyd

-rw-rw-r-- 1 testuser testuser 993K Nov 14 13:08 _hashlib.pyd

-rw-rw-r-- 1 testuser testuser 111 Nov 14 13:08 hello

-rw-rw-r-- 1 testuser testuser 1009 Nov 14 13:08 hello.exe.manifest

-rw-rw-r-- 1 testuser testuser 1.1K Nov 14 13:08 Microsoft.VC90.CRT.manifest

-rw-rw-r-- 1 testuser testuser 220K Nov 14 13:08 msvcm90.dll

-rw-rw-r-- 1 testuser testuser 557K Nov 14 13:08 msvcp90.dll

-rw-rw-r-- 1 testuser testuser 638K Nov 14 13:08 msvcr90.dll

-rw-rw-r-- 1 testuser testuser 628K Nov 14 13:08 out00-PYZ.pyz

drwxrwxr-x 2 testuser testuser 12K Nov 14 13:08 out00-PYZ.pyz_extracted

-rw-rw-r-- 1 testuser testuser 5.2K Nov 14 13:08 pyiboot01_bootstrap

-rw-rw-r-- 1 testuser testuser 2.5K Nov 14 13:08 pyimod01_os_path

-rw-rw-r-- 1 testuser testuser 12K Nov 14 13:08 pyimod02_archive

-rw-rw-r-- 1 testuser testuser 22K Nov 14 13:08 pyimod03_importers

-rw-rw-r-- 1 testuser testuser 0 Nov 14 13:08 pyi-windows-manifest-filename hello.exe.manifest

-rw-rw-r-- 1 testuser testuser 2.6M Nov 14 13:08 python27.dll

-rw-rw-r-- 1 testuser testuser 10K Nov 14 13:08 select.pyd

-rw-rw-r-- 1 testuser testuser 234 Nov 14 13:08 struct

-rw-rw-r-- 1 testuser testuser 671K Nov 14 13:08 unicodedata.pyd

  • pyinstaller имеет опцию, которая может шифровать байт-код Python. Этот скрипт попытается расшифровать его и декомпилировать расшифрованный код.
  • py2exe
    • Результат распаковки и декомпиляции будет находиться в папке "unpacked" или в указанном вами месте.
    • Если появится такая ошибка: "Error in unpacking the exe. Probably due to version incompability (exe created using python 2 and run this script with python 3)", попробуйте переключить Python на другую версию, отличную от используемой. Например: "alias python=python2" или "alias python=python3"
  • python python_exe_unpack.py -p [pyc file]

    • В приведённом выше примере иногда файл Python, содержащий основную логику, не будет в формате, который принимает uncompyle6 (отсутствуют магические числа Python). Приведённая выше команда добавит магические числа в начало и декомпилирует файл (если магические числа уже добавлены, они не будут добавлены повторно, и скрипт просто продолжит декомпиляцию).
  • Благодарности

    • Extreme Coders за их скрипт pyinstxtractor.py, помогающий распаковывать исполняемые файлы pyinstaller.
    • Extreme Coders за их инструкцию по расшифровке зашифрованного байт-кода Python: https://0xec.blogspot.sg/2017/02/extracting-encrypted-pyinstaller.html
    • unpy2exe
    • uncompyle6
    Скачать инструмент