iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 7
0
Security

你的數據安全嗎?系列 第 7

[數據恢復] 如何把遺失的python source code 從執行檔中找回來?

  • 分享至 

  • xImage
  •  

這篇也是繼續介紹如何使用逆向工程的方式找回source code.

首先,要準備以下幾個工具:
Hxd
pyinstxtractor
uncompile6

開工:
示範檔名: reloadAP.exe

  1. 使用pyinstxtractor 解開 reloadAP.exe
python pyinstxtractor.py **reloadAP.exe**

解開後會看到類似下面的目錄
https://ithelp.ithome.com.tw/upload/images/20190921/20103824EtJkWRjdj7.png
2. 檢查解開的資料夾內有無副檔名為pyc的檔案
3. 因為找不到副檔名為pyc的檔案, 那就直接做一個吧
/images/emoticon/emoticon01.gif
4. 首先,將reloadAP檔案名稱改成reloadAP.pyc
https://ithelp.ithome.com.tw/upload/images/20190921/20103824kV1KGFXeUC.png
5. 打開Hxd 工具, 匯入一個正常的pyc檔案及reloadAP.pyc
6. 將正常pyc檔案的檔頭複製藍色區塊並插入到reloadAP.pyc 檔案中, 下圖為正常pyc的檔頭 (以xml.pyc為例)
[正常版]
https://ithelp.ithome.com.tw/upload/images/20191007/20103824HUc5M6fG2H.png
[修改前]
https://ithelp.ithome.com.tw/upload/images/20191007/20103824kRmU46t32s.png
7. 在第一個位置(00H) 點選滑鼠右鍵, 選擇貼上插入
[修改後]
https://ithelp.ithome.com.tw/upload/images/20191007/201038241T2cY3WSfh.png
8. 使用uncompile6 將pyc 檔案解開到log.txt中

uncompyle6 **reloadAP.pyc or .pyo** file

(1) 這樣就把 source code 找回來啦
https://ithelp.ithome.com.tw/upload/images/20190921/201038247ljKcGLkiq.png
(2) 如果包含pyside or pyQT做的UI檔, 在解開的過程中也會一併把檔案解開
https://ithelp.ithome.com.tw/upload/images/20190921/20103824U0pZXdRwb4.png
https://ithelp.ithome.com.tw/upload/images/20190921/20103824DMKnVXCpPt.png
8. 完工,很簡單吧


上一篇
[數位隱私] 為啥Google Calendar中會出現未知事件?
下一篇
[數據安全] 嘗試解解看外面的產品是否真的那麼容易就被看光光?
系列文
你的數據安全嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言