python逆向基础流程(纯小白教程)

一,例题链接

NSSCTF | 在线CTF平台


二,文件特征

使用工具查看文件信息,发现是pyinsatller打包的exe文件,如果硬用ida分析成汇编或c语言根本摸清楚程序的逻辑,所以思路是反编译成py文件直接分析python代码


三,pyinsatller打包的exe文件反编译流程

(一)下载pyinstxtractor工具和uncompyle6库

pyinstxtractor下载链接->GitHub - extremecoders-re/pyinstxtractor: PyInstaller Extractor

下载压缩包解压后即可使用

(注:因为GitHub是国外网站,如果访问速度过慢请参考本篇解决->如何快速访问GitHub等国外资源网站?白嫖资源必备!_github上有不需要花钱的海外代理吗-CSDN博客)

 (注:这就是个py源文件,直接编译运行就可以用的)

uncompyle6库下载命令->cmd窗口输入【pip install uncompyle6

(二) 反编译pyinsatller打包的exe文件

来到上一张图所在的文件位置,打开cmd窗口

在cmd窗口中输入命令【python pyinstxtractor.py 文件路径

获得如下回显证明无误

此时在同目录下产生一个【xx.exe_extracted】文件夹,双击进入此文件夹,找到一个pyc文件(此处有两个文件,我们关注的是除struct.pyc外的另一个pyc文件,如下图红圈)

在此处再次打开cmd窗口,输入命令【uncompyle6 re2.pyc > re2.py】之后即可在同目录下生成反编译的python文件

 

用编译器打开此文件即可分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/573887.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文推导】基于有功阻尼的转速环PI参数整定分析

前言 在学习电机控制的路上,PMSM的PI电流控制是不可避免的算法之一,其核心在于内环电流环、外环转速环的设置,来保证转速可调且稳定,并且保证较好的动态性能。整个算法仿真在《现代永磁同步电机控制原理及matlab仿真》中已详细给出…

VUE项目使用.env配置多种环境以及如何加载环境

第一步,创建多个环境配置文件 Vue CLI 项目默认使用 .env 文件来定义环境变量。你可以通过创建不同的 .env 文件来为不同环境设置不同的环境变量,例如: .env —— 所有模式共用.env.local —— 所有模式共用,但不会被 git 提交&…

Clickhouse离线安装教程

https://blog.51cto.com/u_15060531/4174350 1. 前置 1.1 检查服务器架构 服务器:Centos7.X 需要确保是否x86_64处理器构架、Linux并且支持SSE 4.2指令集 grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 …

不墨迹,向媒体投稿不讲攻略,直接上方法

作为一名单位信息宣传员,我曾深陷于向媒体投稿的泥沼之中,饱尝了费时费力、审核严苛、出稿缓慢的苦涩,承受着领导急切期盼与自我压力交织的煎熬。然而,当我有幸接触到智慧软文发布系统,这一切困境如同阴霾散去,取而代之的是便捷流畅的投稿流程,以及领导满意、团队轻松的工作氛围…

Java Swing游戏开发学习24

内容来自RyiSnow视频讲解 这一节讲的是Scrolling Message, Leveling Up, Damage Calculation滚动消息,升级,伤害计算。 伤害计算 玩家与怪的战斗,玩家对怪的伤害值为攻击值减去怪的防御值。 int damage attack - gp.monster[i].defense; …

队列的实现(c语言实现)

队列的定义 队列(Queue)是一种特殊的线性数据结构,它遵循先进先出(FIFO,First In First Out)的原则。这意味着最早被添加到队列中的元素将是最先被移除的元素。队列的主要操作包括入队(enqueue…

接口自动化测试框架建设的经验与教训

为什么选择这个话题? 一是发现很多“点工”在转型迷茫期都会问一些自动化测试相关的问题,可以说自动化测试是“点工”升级的必经之路;二是Google一下接口自动化测试,你会发现很多自动化测试框架相关的文章,但是大部分…

Nodejs--异步编程

异步编程 函数式编程 高阶函数 在通常的语言中,函数的参数只接受基本的数据类型或者是对象引用,返回值只能是基本数据类型和对象引用。 function foo(x) {return x }高阶函数是把函数作为参数,将函数作为返回值的函数 function foo(x) {…

Oceanbase体验之(二)Oceanbase集群的搭建(社区版4.2.2)

资源规划 3台observer CPU:4C及以上 内存:32G及以上 硬盘操作系统500G 存储盘1T及以上 虚拟机可以直接划分,物理机需要提前规划好资源 一、上传oceanbase安装包 登录ocp选择软件包管理 上传Oceanbase软件包(软件包获取路径 官网免费下载社…

JavaWeb--04YApi,Vue-cli脚手架Node.js环境搭建,创建第一个Vue项目

04 1 Yapi2 Vue-cli脚手架Node.js环境搭建配置npm的全局安装路径 3 创建项目(这个看下一篇文章吧) 1 Yapi 前后端分离中的重要枢纽"接口文档",以下一款为Yapi的接口文档 介绍:YApi 是高效、易用、功能强大的 api 管理平台&#…

Hive主要介绍

Hive介绍 hive是基于 Hadoop平台操作 HDFS 文件的插件工具 可以将结构化的数据文件映射为一张数据库表 可以将 HQL 语句转换为 MapReduce 程序 1.hive 是由驱动器组成,驱动器主要由4个组件组成(解析器、编译器、优化器、执行器) 2.hive本身不…

递归排列枚举(c++)

全部排列问题 输入 n 输出 1…n 个数的全部排列。全部排列中,数字可以重复 。 例如 输入 3 输出全部排列的结果如下:111、112、113、121、122、123、131、132、133、211、212、213、221、222、223、231、232、233、311、312、313、321、322、323、33…

4.18.2 EfficientViT:具有级联组注意力的内存高效Vision Transformer

现有Transformer模型的速度通常受到内存低效操作的限制,尤其是MHSA(多头自注意力)中的张量整形和逐元素函数。 设计了一种具有三明治布局的新构建块,即在高效FFN(前馈)层之间使用单个内存绑定的MHSA&#x…

浅谈数据模型

1:事实表和维表的概述 前言:数据仓库是一种用于存储和管理大量数据的技术。其中,事实表和维表是数据仓库中的两个重要概念,首先了解一下事实表和维度表 1.事实表:是指用于存储测量“事实数据”的表,事实数…

Unity 异常 bug

OverlapBoxNonAlloc 使用bug 环境: Unity2021.3.15 在测试场景中使用 OverlapBoxNonAlloc 测试检测没有问题 但是到了真实应用场景,使用 OverlapBoxNonAlloc 检测移动中的小怪 小怪碰撞体为:带有 Rigidbody 的Circle Collider 2D 就会出现异…

Java虚拟机(jvm)常见问题总结

1.电脑怎样认识我们编写的Java代码 首先先了解电脑是二进制的系统,他只认识 01010101比如我们经常要编写 HelloWord.java 电脑是怎么认识运行的HelloWord.java是我们程序员编写的,我们人可以认识,但是电脑不认识 Java文件编译的过程 1. 程…

代码随想录(番外)图论3|1020. 飞地的数量|130. 被围绕的区域

代码随想录&#xff08;番外&#xff09;图论3|1020. 飞地的数量|130. 被围绕的区域 1020. 飞地的数量 class Solution { public:int dir[4][2]{0,1,1,0,0,-1,-1,0};int count;void dfs(vector<vector<int>>& grid,int x,int y){grid[x][y]0;count;for(int i…

大数据开发详解

点击下载《大数据开发详解》 1. 前言 随着信息化时代的快速发展&#xff0c;大数据已经成为了企业和组织不可或缺的重要资源。大数据开发则是指通过一系列技术手段&#xff0c;对海量数据进行收集、存储、处理、分析和挖掘&#xff0c;以实现数据的价值化利用。大数据开发涉及…

哈希表练习题

前言 本次博客将要写一写&#xff0c;哈希表的一些使用 哈希表主要是一个映射&#xff0c;比如数组就是一个哈希表 是一个整型对应另一个整型&#xff0c;介绍的哈希表还是要以写题目为例 第一题 242. 有效的字母异位词 - 力扣&#xff08;LeetCode&#xff09; 直接来看…

C# 给图片添加文字水印

目录 应用场景 开发运行环境 方法说明 方法代码 调用示例 小结 应用场景 在某些应用项目&#xff08;如电子档案信息管理&#xff09;中&#xff0c;查看电子图片信息是经常使用到的功能&#xff0c;此时我们就需要给显示在浏览器中的图片添加文字水印版权或提示信息。…