Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
python-exe-unpacker — 파이썬 코드로 컴파일된 EXE 파일을 언패킹하고 디컴파일하기 위한 헬퍼 스크립트입니다. | Kitploit
도구/GitHubGitHub/withsecurelabs/python-exe-unpacker
Dynamic Analysis (Sandboxing)Reverse EngineeringForensicsMalware AnalysisBinary Analysis
GitHubwithsecurelabs/python-exe-unpacker

python-exe-unpacker

파이썬 코드로 컴파일된 EXE 파일을 언패킹하고 디컴파일하기 위한 헬퍼 스크립트입니다.

저장소 보기
1.0k350442년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

저자: In Ming Loh ([email protected] - @tantaryu)
회사: Countercept (@countercept)
웹사이트: https://www.countercept.com

소개

연구자가 Python으로 작성된 실행 파일을 언패킹하고 디컴파일하는 데 도움을 주는 스크립트입니다. 다만 현재는 py2exe와 pyinstaller로 생성된 실행 파일만 지원합니다.

이 스크립트는 커뮤니티에서 사용 가능한 여러 도구를 함께 결합합니다. 이것이 사람들의 일상 업무에 도움이 되기를 바랍니다. 실행 파일이 Python으로 작성되었는지 확인하는 데 사용할 수 있는 여러 YARA 규칙이 있습니다(이 스크립트는 실행 파일이 py2exe 또는 pyinstaller 중 무엇으로 생성되었는지도 확인합니다).

요구 사항

  • Python 2.7 이상.
  • 필요한 모든 종속성을 설치하십시오:
    pip2 install --user -r requirements.txt
    또는 루트 권한으로 종속성을 설치하려면
    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 파일]

    • 위의 예에서 주요 로직을 포함하는 Python 파일이 uncompyle6가 허용하는 형식이 아닐 때가 있습니다(Python 매직 넘버 누락). 위 명령은 매직 넘버를 앞에 추가하고 디컴파일합니다(매직 넘버가 이미 추가된 경우에는 추가하지 않고 디컴파일을 진행합니다).

크레딧

  • pyinstaller 실행 파일 언패킹을 도와준 pyinstxtractor.py 스크립트를 만든 Extreme Coders.
  • 암호화된 Python 바이트코드를 복호화하는 방법을 알려준 Extreme Coders: https://0xec.blogspot.sg/2017/02/extracting-encrypted-pyinstaller.html
  • unpy2exe
  • uncompyle6
도구 다운로드