[python] 컴파일 된 .pyc 파일을 .py 파일로 디 컴파일 할 수 있습니까?

.py 파일에서 생성 된 .pyc 파일에서 일부 정보를 얻을 수 있습니까?



답변

Uncompyle6 은 Python 3.x 및 2.7에서 작동합니다. 가장 오래된 도구이므로 권장되는 옵션으로, 이전 포크를 통합하고 자동화 된 단위 테스트에 중점을 둡니다. GitHub의 페이지에 자세한 내용이 있습니다.

  • Python 3.7 이상을 사용하는 경우 Uncompyle6 포크 인 3.7 이상에서 decompile3 을 시도 할 수도 있습니다 .
  • 필요한 경우 이러한 프로젝트에서 GitHub 문제를 제기하십시오. 두 가지 버전의 Python 버전에서 모두 단위 테스트 스위트를 실행하십시오.

오래된 Uncompyle2 는 Python 2.7 만 지원합니다. 이것은 언젠가는 .pyc 바이트 코드를 .py로 디 컴파일하기 위해 잘 작동했지만 unpyclib는 예외로 충돌했습니다.

이러한 모든 도구를 사용하면 변수 이름을 포함하지만 주석은 포함하지 않고 코드를 다시 얻을 수 있습니다.


답변

예, pypiunpyclib 에서 찾을 수 있습니다 .

$ pip install unpyclib

.pyc 파일을 디 컴파일 할 수있는 것보다

$ python -m unpyclib.application -Dq path/to/file.pyc


답변

Easy Python Decompiler를 사용해보십시오 . Decompyle ++ 및 Uncompyle2를 기반으로합니다. 파이썬 버전 1.0-3.3 디 컴파일을 지원합니다.

참고 : 위 도구의 저자입니다.


답변

Decompyle ++ (pycdc)는 나를 위해 일한 유일한 것입니다 : https://github.com/zrax/pycdc

Python 2.7 .pyc 디 컴파일 에서 제안되었습니다.


답변

.

uncompyle6 디 컴파일을 사용합니다 (최신 Python 3.8.0도 지원).

uncompyle6 utils.cpython-38.pyc > utils.py

그리고 원점 파이썬과 디 컴파일 된 파이썬 비교는 다음과 같습니다 :

pyc uncompile 유틸리티

당신이 볼 수 있도록, 거의 다 같은, 디 컴파일 효과는 아주 좋은 .


답변

네 가능합니다.

Decompyle ++ https://github.com/zrax/pycdc/ 라는 완벽한 오픈 소스 Python (.PYC) 디 컴파일러가 있습니다.

Decompyle ++은 컴파일 된 Python 바이트 코드를 유효하고 사람이 읽을 수있는 Python 소스 코드로 다시 변환하는 것을 목표로합니다. 다른 프로젝트는 다양한 성공으로 이것을 달성했지만 Decompyle ++은 모든 버전의 Python에서 바이트 코드를 지원한다는 점에서 독특합니다.


답변

pip install pycompyle6을 사용하여 설치

pycompyle6 파일 이름 .pyc