1、查壳
DetectltEasy、PeiD查壳
2、脱壳
常见打包工具PyInstaller,脱壳方法
(1)用pyinstxtractor.py脱壳,用”python pyinstxtractor.py 1.exe“命令,生成“.exe文件名_extracted”
(2)用pyinstaller脱壳,之后可用pyi-archive_viewer +exe文件名查看 exe 内部的文件结构
下载:pip install pyinstaller
使用:pyinstaller 1.exe、pyi-archive_viewer 1.exe
3、反编译pyc
定位到pyc文件后,反编译pyc文件
(1)python反编译 - 在线工具 (tool.lu)
(2)decompyle3
下载: pip install decompyle3
使用:decompyle3 1.pyc > 1.py或者decompyle3 -o 1.py 1.pyc
(3)uncompyle3
下载:pip install uncompyle3
使用:uncompyle3 1.pyc > 1.py或者uncompyle3 -o 1.py 1.pyc
注意:
如果反编译遇到错误,可能因为pyinstaller脱壳生成pyc
文件时,头部的magic缺失
,补上即可
如果遇到错误,可能因为pyc
文件生成时,头部的magic number
被清理,需要另外补上
python各个版本的magic头
MAGIC_1_0 = 0x00999902,
MAGIC_1_1 = 0x00999903, /* Also covers 1.2 */
MAGIC_1_3 = 0x0A0D2E89,
MAGIC_1_4 = 0x0A0D1704,
MAGIC_1_5 = 0x0A0D4E99,
MAGIC_1_6 = 0x0A0DC4FC,
MAGIC_2_0 = 0x0A0DC687,
MAGIC_2_1 = 0x0A0DEB2A,
MAGIC_2_2 = 0x0A0DED2D,
MAGIC_2_3 = 0x0A0DF23B,
MAGIC_2_4 = 0x0A0DF26D,
MAGIC_2_5 = 0x0A0DF2B3,
MAGIC_2_6 = 0x0A0DF2D1,
MAGIC_2_7 = 0x0A0DF303,
MAGIC_3_0 = 0x0A0D0C3A,
MAGIC_3_1 = 0x0A0D0C4E,
MAGIC_3_2 = 0x0A0D0C6C,
MAGIC_3_3 = 0x0A0D0C9E,
MAGIC_3_4 = 0x0A0D0CEE,
MAGIC_3_5 = 0x0A0D0D16,
MAGIC_3_5_3 = 0x0A0D0D17,
MAGIC_3_6 = 0x0A0D0D33,
MAGIC_3_7 = 0x0A0D0D42,
MAGIC_3_8 = 0x0A0D0D55,
MAGIC_3_9 = 0x0A0D0D61,
小端存储,两位两位倒着存,来自https://www.cnblogs.com/Here-is-SG/p/15885799.html
比较眼熟的,winhex查看文件十六进制,图来自d3f4u1t
举个栗子,3.7.4版本的python文章来源:https://www.toymoban.com/news/detail-424419.html
文章来源地址https://www.toymoban.com/news/detail-424419.html
到了这里,关于PE文件反编译为python脚本流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!