답변:
Uncompyle6 은 Python 3.x 및 2.7에서 작동합니다. 가장 오래된 도구이므로 권장되는 옵션으로, 이전 포크를 통합하고 자동화 된 단위 테스트에 중점을 둡니다. GitHub의 페이지에 자세한 내용이 있습니다.
오래된 Uncompyle2 는 Python 2.7 만 지원합니다. 이것은 언젠가는 .pyc 바이트 코드를 .py로 디 컴파일하기 위해 잘 작동했지만 unpyclib는 예외로 충돌했습니다.
이러한 모든 도구를 사용하면 변수 이름을 포함하지만 주석은 포함하지 않고 코드를 다시 얻을 수 있습니다.
예, pypiunpyclib
에서 찾을 수 있습니다 .
$ pip install unpyclib
.pyc 파일을 디 컴파일 할 수있는 것보다
$ python -m unpyclib.application -Dq path/to/file.pyc
print __copyright
-왜 print
괄호없이 Python 2.7 버전을 사용 합니까?
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
그리고 원점 파이썬과 디 컴파일 된 파이썬 비교는 다음과 같습니다 :
당신이 볼 수 있도록, 거의 다 같은, 디 컴파일 효과는 아주 좋은 .
네 가능합니다.
Decompyle ++ https://github.com/zrax/pycdc/ 라는 완벽한 오픈 소스 Python (.PYC) 디 컴파일러가 있습니다.
Decompyle ++은 컴파일 된 Python 바이트 코드를 유효하고 사람이 읽을 수있는 Python 소스 코드로 다시 변환하는 것을 목표로합니다. 다른 프로젝트는 다양한 성공으로 이것을 달성했지만 Decompyle ++은 모든 버전의 Python에서 바이트 코드를 지원한다는 점에서 독특합니다.