티스토리 뷰

반응형
uncompyle6 main.pyc > main.py

파이썬 pyinstaller로 생성된 exe 파일을 디컴파일하는 방법

pyinstaller는 파이썬 스크립트를 독립 실행 파일로 변환하는 도구입니다. 이렇게 생성된 exe 파일은 소스 코드가 암호화되어 있어 일반적으로 쉽게 디컴파일할 수 없습니다. 그러나 일부 도구와 기술을 이용하면 exe 파일을 디컴파일할 수 있습니다.

디컴파일 방법은 크게 두 가지로 나눌 수 있습니다.

1. PyInstxtractor 사용하기
PyInstxtractor는 pyinstaller로 생성된 exe 파일을 추출하는 도구입니다. 이 도구를 사용하면 exe 파일에서 압축된 파이썬 스크립트와 기타 리소스를 추출할 수 있습니다. 추출된 파일을 통해 소스 코드를 확인할 수 있습니다.

PyInstxtractor 사용 방법은 다음과 같습니다:

import PyInstaller.rebuild
PyInstaller.rebuild.main(["--onefile", "your_script.py"])



위의  방법을 통해 pyinstaller로 생성된 exe 파일의 소스 코드를 확인할 수 있습니다. 단, 이 방법은 소스 코드를 완전히 복원하기는 어려우며, 코드 구조와 로직을 파악하는 데에는 어려움이 있을 수 있습니다.

추출된 소스 코드는 일반 파이썬 파일 형태로 제공되므로, 필요에 따라 수정하거나 재사용할 수 있습니다.


 

PyInstxtractor와 unpy2exe를 설치하는 방법

1. PyInstxtractor 설치하기
PyInstxtractor는 pip를 통해 쉽게 설치할 수 있습니다. 다음과 같은 단계로 설치할 수 있습니다:

pip install PyInstxtractor

이걸로 안된다면
https://github.com/extremecoders-re/pyinstxtractor

 

GitHub - extremecoders-re/pyinstxtractor: PyInstaller Extractor

PyInstaller Extractor. Contribute to extremecoders-re/pyinstxtractor development by creating an account on GitHub.

github.com


 

GitHub - extremecoders-re/pyinstxtractor: PyInstaller Extractor

PyInstaller Extractor. Contribute to extremecoders-re/pyinstxtractor development by creating an account on GitHub.

github.com

직접 다운받아서 pyinstxtractor.py 파일과 디컴파일 할 exe와 같은 폴더에 위치합니다

python ./pyinstxtractor.py ./main.exe

그러면 main.exe_extracted 라는 폴더 아래로 파일들이 생깁니다 .
이 경우에는 main.pyc라는 파일을

pip install uncompyle6
   python setup.py install

이때 컴파일한 파이선 버전이랑 디컴파일하는 파이선 버전이 다르면 컴파일한 파이선 버전으로 맞춰서 다시  설치해서 시도해야 합니다.

   

이렇게 PyInstxtractor 설치하면 pyinstaller로 생성된 exe 파일을 디컴파일할 수 있습니다. 단, 디컴파일된 코드는 완벽하지 않을 수 있으므로 주의해야 합니다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함