將python打包後的exe還原成py

用到的工具

  • pyinstxtractor.py 拆包(解壓)工具,將exe文件解壓成一個文件夾
  • uncompyle6 pyc反編譯工具
  • 010EditorEditor 或者其他二進制查看與修改工具,我這裡用的010Editor

安裝方法

pip install uncompyle6

第一步:解包
 

python3 pyinstxtractor.py ***.exe   #  這裡替換成你要反編譯的exe文件

#  會生成一個以 exe文件名+_extracted 的文件夾,這個就是解包後的數據

將python打包後的exe還原成py插圖

第二步:添加頭信息

PyInstaller打包後,pyc文件的前8個字節會被抹掉,所以最後要自己添加回去。前四個字節為python編譯的版本,後四個字節為時間戳。想要獲得編譯版本可以查看打包文件裡struct的信息

1). 進入文件夾,找到以exe文件名命名的文件(沒有後綴),這個就是目的文件

將python打包後的exe還原成py插圖(1)

2). 用 010Editor 打開 struct,前八位就是我們想要的信息,將其復制

將python打包後的exe還原成py插圖(2)

3). 用 010Editor 打開目的文件我這裡是 abc_text,將上一步復制的信息插入到開頭

修改前:

將python打包後的exe還原成py插圖(3)

修改後:

將python打包後的exe還原成py插圖(4)

4). 將目的文件我這裡是 abc_text,添加pyc的後綴

第三步:逆向 目的文件.pyc

1). 其實這裡已經可以使用瞭。瞭解python的都知道pyc是py文件編譯後的二進制文件,因此如果想要分析源碼還得繼續逆向成.py文件將python打包後的exe還原成py插圖(5)

將python打包後的exe還原成py插圖(5)

2). uncompyle6逆向pyc文件

uncompyle6 abc_text.pyc > abc_text.py

將python打包後的exe還原成py插圖(6)

將python打包後的exe還原成py插圖(7)

將python打包後的exe還原成py插圖(8)

到此這篇關於將python打包後的exe還原成py的文章就介紹到這瞭,更多相關python打包後的exe還原成py內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: