PE文件反编译为python脚本流程

这篇具有很好参考价值的文章主要介绍了PE文件反编译为python脚本流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、查壳

DetectltEasy、PeiD查壳

PE文件反编译为python脚本流程

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

PE文件反编译为python脚本流程比较眼熟的,winhex查看文件十六进制,图来自d3f4u1t

 举个栗子,3.7.4版本的python

PE文件反编译为python脚本流程文章来源地址https://www.toymoban.com/news/detail-424419.html

到了这里,关于PE文件反编译为python脚本流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python程序编译为动态库pyd进行加密

    目录 1. 写一段Python代码 2. 准备编译环境 3. 开始编译 4. 调用(以Windows系统为例) 首先敲一段代码,这里在名为 data.py 的Python文件中写下一个求两数之和的简单函数,函数名为 i_sum ; 需要注意一个问题,除了代码前两行常见内容, 第3行 添加  # cython: language_level=3 ,以在Pytho

    2024年02月16日
    浏览(39)
  • PE文件感染程序设计(PE病毒)

    本文主要是记录一次PE病毒设计入门实验,查看了很多帖子,总也找不到系统的指导。也是出于记录一次具体的实验流程,给后来摸索的但是没有思路的朋友们一点点思路。 遍历当前目录,将所有的可执行文件列出来 对这些可执行文件逐个判断是否被感染过,如果感染过,则

    2024年02月07日
    浏览(37)
  • PE解释器之PE文件结构(二)

    接下来的内容是对IMAGE_OPTIONAL_HEADER32中的最后一个成员DataDirectory,虽然他只是一个结构体数组,每个结构体的大小也不过是个字节,但是它却是PE文件中最重要的成员。PE装载器通过查看它才能准确的找到某个函数或某个资源。 一:IMAGE_DATA_DIRECTORY——数据目录结构 此数据目

    2024年01月20日
    浏览(49)
  • PE 文件结构图

    最近在进行免杀的学习,在《黑客免杀攻防》这本书中找到了非常好的关于PE文件的描述,虽然书比较古老的,但是里面的内容是非常精细和优秀的。它的附页中有非常清晰的PE文件结构图,可是翻看比较麻烦,撕下来又可惜,于是我今天对着附页的图用excel重新画了一个。这

    2024年02月10日
    浏览(50)
  • Python程序编译为动态库pyd或so (适用于Windows和Linux)

    Welcome to My Blog 文章唯一地址:https://blog.csdn.net/REAL_liudebai/article/details/125126432 问题:   1)Python源代码扩展名通常为.py,任何人都可以看到源代码内容,能否将Python程序编译为二进制文件( 隐藏我粗暴的编程风格 ,或者你的代码思想,易于调用)。 解决办法:   2)在

    2024年02月01日
    浏览(38)
  • 4.2 针对PE文件的扫描

    通过运用 LyScript 插件并配合 pefile 模块,即可实现对特定PE文件的扫描功能,例如载入PE程序到内存,验证PE启用的保护方式,计算PE节区内存特征,文件FOA与内存VA转换等功能的实现,首先简单介绍一下 pefile 模块。 pefile模块是一个用于解析Windows可执行文件(PE文件)的Pytho

    2024年02月12日
    浏览(30)
  • 21.1 使用PEfile分析PE文件

    PeFile模块是 Python 中一个强大的便携式第三方 PE 格式分析工具,用于解析和处理 Windows 可执行文件。该模块提供了一系列的API接口,使得用户可以通过 Python 脚本来读取和分析PE文件的结构,包括文件头、节表、导入表、导出表、资源表、重定位表等等。此外,PEfile模块还可以

    2024年02月13日
    浏览(39)
  • 2.2 PE结构:文件头详细解析

    PE结构是 Windows 系统下最常用的可执行文件格式,理解PE文件格式不仅可以理解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,DOS头是PE文件开头的一个固定长度的结构体,这个结构体的大小为64字节(0x40)。DOS头包含了很多有用的信息,该信

    2024年02月10日
    浏览(35)
  • 劫持 PE 文件:新建节表并插入指定 DLL 文件

    PE格式简介 PE(Portable Executable)格式,是微软Win32环境可移植可执行文件(如exe、dll、vxd、sys和vdm等)的标准文件格式。PE格式衍生于早期建立在VAX(R)VMS(R)上的COFF(Common Object File Format)文件格式。 Portable 是指对于不同的Windows版本和不同的CPU类型上PE文件的格式是一样的,当然CPU不一样

    2024年02月03日
    浏览(46)
  • 如何通过python写接口自动化脚本对一个需要调用第三方支付的报名流程进行测试?

    对于需要调用第三方支付的报名流程进行接口自动化测试,可以通过以下步骤来编写Python代码: 1. 确认API需求 首先,需要确认报名流程的API需求和预期功能。这涉及到对业务需求的理解和API设计的分析。 2. 安装依赖库 在Python程序中,需要安装requests库(用于发送HTTP请求)和

    2024年02月10日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包