の2日前、前学期はpythonでアルゴリズムを封印し、exeフォーマットにパッケージしました.
その後、コンピュータはハードディスクを交換して、元のディスクの格、まだバックアップの習慣がなくて、だからソースコードはありません
なので、現在のexeをpythonソースコードに逆コンパイルします. pyinstxtractor.py分解exeはpyc pyinstxtractor.pyネット上の検索はダウンロードすることができて、exeディレクトリに置いて、python pyinstxtractor.py xxx.exe
解体ディレクトリを生成する.
--- xxx.exe_extracted
-- out00-PYZ.pyz_extracted
- .pyc
-- out00-PYZ.pyz
-- some
-- others
-- xxx( )
uncompyleの逆コンパイルをインストールするには必要です.pycファイルは.py pip install uncompyle
を使用
uncompyle6 input.pyc > output.py
反コンパイルされた.pyファイルのフォーマットにはいくつかの問題があります.もちろん、pythonのフォーマットが間違っています.正しくありません.それは論理エラーです.だから、修正する必要があります. もう一つ質問があります.pycファイルの数が間違っていることがわかりました.そのステップでコンソールに表示されているエントリファイルを分解します.つまり、上の分解ディレクトリに接尾辞のないファイルです. 実はそれらの書類も.pycファイル,.pycは16進数ファイルで、比較でファイルヘッダが欠けていることがわかりました. Hex Editor Neoを使用して1つ開く.pycファイル、最初の行はこのようなです.
33 0d 0d 0a 00 00 00 00 00 00 00 00 e3 00 00 00
接尾辞なしファイルを開きます.最初の行はこのようなです.
e3 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00
だから、接尾辞のないファイルの前に33 0d 0d 0a 00 00 00 00 00 00 00 00
を付け、保存後に接尾辞を追加する.pyc、それでは.pycファイルは、逆コンパイルもできます. python 36を使っています.