source

컴파일된 .pyc 파일을 .py 파일로 디컴파일 할 수 있나요?

gigabyte 2022. 9. 15. 22:52
반응형

컴파일된 .pyc 파일을 .py 파일로 디컴파일 할 수 있나요?

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

Uncpyle6는 최신 툴로서 Python 3.x 및 2.7에서 작동하며, 이전 포크를 통합하고 자동화된 장치 테스트에 초점을 맞춥니다.GitHub 페이지에 자세한 내용이 있습니다.

  • Python 3.7+를 사용한다면 3.7 이상에 초점을 맞춘 Uncpyle6의 포크인 decyle3도 시도해 볼 수 있습니다.
  • 필요에 따라 이러한 프로젝트에서 GitHub 문제를 제기하십시오.-둘 다 다양한 Python 버전에서 유닛 테스트 스위트를 실행합니다.

이러한 도구를 사용하면 변수 이름 및 문서 문자열을 포함하지만 코멘트는 포함하지 않고 코드를 되돌릴 수 있습니다.

오래된 Uncompile2는 Python 2.7만 지원합니다.이 방법은 얼마 전에 .pyc 바이트 코드를 .py로 디컴파일하는 데 성공했지만 unfyclib은 예외적으로 크래시했습니다.

향후 이 문제를 방지

VS 코드를 포함한 에디터 또는 IDE에서 사용할 수 있는 힌트는 이 답변을 참조하십시오.

Easy Python 디컴파일러를 사용해 보세요.Decompyle+와 Uncompyle2를 기반으로 합니다.Python 버전 1.0~3.3의 디컴파일을 지원합니다.

주의: 위 툴의 작성자입니다.

,, 이, 이, 같, 같, 습, 습, yesunpyclibpypi에서 찾을 수 있습니다.

$ pip install unpyclib

.pyc 파일을 디컴파일 할 수 있습니다.

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

, 그렇습니다.

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

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

원본 python과 디컴파일된 python을 비교하는 방법은 다음과 같습니다.

pyc 비파일의 효용

보시다시피 디컴파일 효과는 매우 좋습니다.

디컴파일++(pycdc)만 작동했습니다.https://github.com/zrax/pycdc

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

몇 시간 동안 이 작업을 수행했고 마침내 Decompyle+를 사용하여 해결 방법을 찾았습니다.

  • https://cmake.org/download/를 인스톨 합니다.
  • https://github.com/zrax/pycdc 이 레포 한 .pycdc-master.
  • C:\Program Files\CMake\binPATH 아 path path path path path path path path path path path path path 。

해서 게 좋을 것 같아요.pycdc-master폴더로 합니다(예: 폴더는 폴더입니다.anotherFolder.

이제 명령줄에서 다음 명령을 실행할 수 있습니다.

  • cd anotherFolder.pycdc-master안에.
  • cmake pycdc-master
  • cd ../디렉토리로
  • '어,어,어,어,어,어,어,어,어,어,어,어,어,어,어,어,어.cmake --build anotherFolder

pycdc.exe 하면 will will 、 will 、 will 、 will 、 will 、 will 。anotherFolder\Debug.

pycdc.exe onlyhopeofgettingmycodeback.pyc소스코드를 출력합니다.Python 3.9.6 소스 코드를 가지고 있었지만, 그 외에는 아무것도 동작하지 않았습니다.

네, 가능합니다.

완벽한 오픈 소스 Python(.PYC) 디컴파일러(Decompyle++ https://github.com/zrax/pycdc/라고 함)

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

pip install pycompyle6을 사용하여 설치합니다.

pycompile6 파일 이름pyc

pyc를 디컴파일해야 하는데 python 3.9가 설치되어 있다면 uncfile6을 강제로 실행할 수 있습니다.완벽하진 않지만 효과가 있다.사이트 패키지를 편집하기만 하면 됩니다.화이

def main_bin():
if not (sys.version_info[0:2] in ((2, 6), (2, 7), (3, 0),
                                  (3, 1), (3, 2), (3, 3),
                                  (3, 4), (3, 5), (3, 6),
                                  (3, 7), (3, 8), (3, 9)

설치한 버전을 다른 버전과 동일한 형식으로 추가하고 저장하기만 하면 됩니다.적어도 달릴 수 있을 거야.

언급URL : https://stackoverflow.com/questions/5287253/is-it-possible-to-decompile-a-compiled-pyc-file-into-a-py-file

반응형