본문 바로가기
카테고리 없음

파이썬 PyInstaller exe 파일 디컴파일 방법

by 퍼포먼스마케팅코더 2024. 2. 20.
반응형

파이썬 .exe 파일 디컴파일 방법

파이썬으로 만든 .exe 파일은 디컴파일이 가능하며, 이 과정은 PyInstaller, cx_Freeze, Py2exe 등을 사용하여 변환된 파일에 따라 달라짐.

PyInstaller로 패키징된 .exe 파일 디컴파일

필요 도구

  • pyinstxtractor: PyInstaller로 패키징된 파일을 분석하고 추출하는 도구.

https://github.com/extremecoders-re/pyinstxtractor?tab=readme-ov-file 설명서를 읽는다.

https://github.com/extremecoders-re/pyinstxtractor 에 가서 zip 파일을 ./ 폴더에 다운. git 이 있다면 git으로도 됨.

이후 exe 파일로 된 내용을 python pyinstxtractor.py 를 돌려서 pyc 파일로 변환 그리고 아래의 사이트에 가서 해당 pyc 파일을 하나씩 까보면 됨.

설치 방법

git clone https://github.com/extremecoders-re/pyinstxtractor.git

사용 방법

cd pyinstxtractor
python pyinstxtractor.py <your_executable>.exe

 

예시 ) cmd 창이나 아니면 Anaconda 파워셀에서 아래와 같이 치면 된다.

cd pyinstxtractor
python pyinstxtractor.py <your_executable>.exe 
python pyinstxtractor.py "C:\Users\user2401\Documents\카카오톡 받은 파일\*.exe"

<your_executable>.exe는 분석하고자 하는 파일의 이름으로 교체해야된다.

.pyc 파일 디컴파일

디컴파일러로는 Uncompyle6Decompyle++ 등이 있음.

Uncompyle6 사용법

  1. 설치
pip install uncompyle6
  1. 디컴파일
uncompyle6 -o . <your_file>.pyc

주의사항

현재 uncompyle6 를 설치해서도 pyc 파일을 py 파일로 변환이 가능하나, 3.11.5 버전 파이썬에서는 현재 안됨. pip install uncompyle6

cmd 창에서 다음과 같이 입력 uncompyle6 -o . .pyc

아래의 사이트에서 pyc 파일을 업로드하면 알아서 py 파일로 변환해줌.

https://www.lddgo.net/en/string/pyc-compile-decompile

주피터 노트북에서의 사용

주피터 노트북에서도 Uncompyle6을 사용할 수 있음.

!pip install uncompyle6 
!uncompyle6 -o . "<your_file>.pyc"

가상 환경 설정

  1. 가상 환경 생성
conda create -n myenv python=3.8
  1. 가상 환경 활성화

주피터 노트북에서 직접 활성화는 불가능하며, 해당 환경에 맞는 주피터 커널을 설치하여 사용해야 함.

  1. 패키지 설치
!pip install uncompyle6

가상 환경을 올바르게 관리하고 사용하는 것은 프로젝트의 필요에 따라 다양한 환경을 유연하게 사용할 수 있게 해줌.

반응형

댓글