逆向工具(IDA、pyinstxtractor+uncompyle6、jadx等持续更新)

2023-10-31

IDA Pro

IDA Pro(Interactive Disassembler Professional)交互式反汇编器专业版,CTF、RE、PWN必备。

打开一个可执行文件前,应先用file命令或者DIE等工具,确定是32位还是64位,然后用相应的IDA工具打开可执行文件。

IDA界面默认有菜单栏、工具栏、导航带、函数窗口、IDA-View反汇编窗口、Hex-View十六进制显示、Import、Export窗口等部分。点击菜单Windows-Reset/Save/Load Desktop来重置、保存、加载IDA窗口布局,或者菜单View打开被关闭的窗口。 

IDA-View反汇编视图

有文本视图(推荐)和图形视图两种,按空格键切换。文本视图有跳转逻辑关系。

文本视图有跳转逻辑关系

 

中文字符串不显示

如果反汇编的shift+F12字符串不显示中文,那么Options-General-Strings,修改 Default 8bit 的编码选项改为 gb2312 即可。

OllyDBG

OD是一种动态汇编调试工具。这里只讲一般用法,见下表。

搜索ASCII

拖入程序后,找目标字符串。在汇编指令的空白处右键-中文搜索引擎-搜索ASCII。搜索ASCII找到目标字符串,双击跳转到有该字符串的汇编指令地址。

汇编指令的空白处右键-中文搜索引擎-搜索ASCII
搜索ASCII找到目标字符串,双击跳转到有该字符串的汇编指令地址。

编辑立即数

在有该字符串的汇编指令地址上右键-数据窗口中跟随-立即数,跳转到数据窗口中。数据窗口中选中要修改的字符串,按空格弹出窗口编辑数据。

有该字符串的汇编指令地址上右键-数据窗口中跟随-立即数
数据窗口中选中要修改的字符串,按空格弹出窗口编辑数据

执行查看结果,hello world. 改成了learningctf!

重置调试

程序运行结束,状态为“已终止”,可以点击重置键,重新开始调试。

重置

断点

按F2或者在汇编指令的地址处双击,可以下断点,断点处地址为红色背景色。

按F2或者在汇编指令的地址处双击,可以下断点

pyinstxtractor+uncompyle6

截止2023.06.22最新版本的uncompyle6支持python 3.11.x版本,uncompyle6 和 xdis都推荐编译安装,安装后即可使用。

git clone git@github.com:rocky/python-uncompyle6.git
cd python-uncompyle6
sudo python setup.py install
 
git clone git@github.com:rocky/python-xdis.git
cd python-xdis
sudo python setup.py install

jadx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

逆向工具(IDA、pyinstxtractor+uncompyle6、jadx等持续更新) 的相关文章

  • 使用CSMA/CD协议一个计算题

    题干 首先计算一下A这个以太网所容许的最短的帧它的发送帧的长度时间为 8 前同步码为8 64 最短帧长 8 单位转换b到B 576比特 有关于单位转换 B是Byte的缩写 B就是Byte 也就是字节 Byte b是bit的缩写 b就是bit
  • 理解高内聚低耦合

    低耦合 耦合就是元素与元素之间的连接 感知和依赖量度 这里说的元素即是功能 对象 系统 子系统 模块 例如 现在有方法A和方法B 我们在A元素去调用B元素 当B元素有问题或者不存在的时候 A元素就不能正常的工作 那么就说元素A和元素B耦合
  • 【数据结构】实验六:图论

    文章目录 7 1 邻接矩阵表示法创建无向图 参考代码 代码解析 7 2 邻接表创建无向图 参考代码 代码解析 7 3 图深度优先遍历 参考代码 代码解析 7 4 单源最短路径 参考代码 代码解析 7 5 列出连通集 参考代码 代码解析 7
  • 在Servlet中使用开源fileupload包实现文件上传功能

    当我们在 HTML 表单中选择本地文件之后点击 提交 按钮则会将文件上传到服务器中 此时该 HTTP 请求正文的数据类型就是 multipart form data 型的 而在 Servlet 技术中 该 HTTP 请求会被 Servlet
  • 在Windows上使用clang编译器

    在Stackoverflow等网站上 经常出现各种编译器的对比的结果 其中clang是很常见的 那么 怎样在Windows上使用clang呢 没那么直观 直接去llvm官网上下载clang的发行包 解压 到bin下面 看到应该是我们想要的工
  • QTreeWidget实现的树形节点的添加+双击响应+删除详解

    承接该文http blog csdn net bzhxuexi article details 10054289 在该文基础上继续讲解QTreeWidget控件的使用 同时解决该文最后留下的问题 QTreeWidget是实现树形结构的类 在

随机推荐

  • 微信小程序map组件路线规划,腾讯地图sdk的应用案例

    腾讯地图WebService API 是基于HTTPS HTTP协议的数据接口 开发者可以使用任何客户端 服务器和开发语言 按照腾讯地图WebService API规范 按需构建HTTPS请求 并获取结果数据 目前支持JSON JSONP方
  • stm32f103单片机—编码器测速

    一 涉及资源 stm32f103ZET6开发板 非指定 MG513P3012V型号电机 带霍尔编码器 非指定 二 涉及概念 1 单片机资源要求 此种测速方法要求单片机的定时器具有编码器模式 对于stm32f1系列 具备编码器模式的定时器有T
  • mysql a foreign key constraint fails_MySQL删除表:Cannot delete or update a parent row: a foreign key co...

    MySQL库中有俩表 table1和table2 相互关联 在删除表的时候出错 Cannot delete or update a parent row a foreign key constraint fails 很明显这是表关联生成的强
  • MATLAB APP纯小白入门 两数相加

    万事开头难 最怕第一次 使用matlab APP 实现两数求和 如下图所示 c a b 输入数字后 按 就计算 步骤 拖拽三个 Edit Field Numeric 过来 并且双击名字分别改为 a b c 注意修改名字后右边会有点变化 程序
  • 标准二阶响应--佛朗哥

    如果一个电路对任何有界输入在响应中产生一个有界的输出 就说明这个电路是稳定的 判断一个电路是否稳定一种方法是将某些能量注入到它的电抗元件中的一个或者多个 然后在没有任何外加电源的情况下观察这个电路是如何作为的 这种情况下的响应为无源或者自然
  • STM32F103 GPIO输出模式2MHz,10MHz,50MHz波形对比

    在STM32F103中GPIO的输出模式有三种速度配置 如图所示 经过测试发现 这三种速度的输出模式与IO的翻转频率没有关系 它们影响的可能是驱动能力 下面是在IO极限频率 18MHz 下 三种模式的波形
  • bootstrap实现轮播图

    div class carousel slide style width 400px margin 30px auto ol class carousel indicators li class active li li li ol div
  • 数据库类型区分

    数据库类型主要可分为 网状数据库 Network Database 关系数据库 Relational Database 树状数据库 Hierarchical Database 面向对象数据库 Object oriented Database
  • qemu 对 ARMv8的支持

    qemu 可以支持 ARMv8 且支持的 boot 包括 1 从 ATF启动 2 从 UEFI启动 3 从 u boot启动 4 从 linux 启动 这里打算用以下平台 qemu system aarch64 M virt cpu qem
  • buckboost变换器简介

    1 buckboost拓扑 Vo Vin D 1 D 极性相反 可以升压也可以降压
  • latex 大于小于大于等于小于等于

    转载于https www cnblogs com kjkj p 10505832 html 发现大部分人只回答大于等于号 小于等于号的写法 而没有说大于 小于号的分别写法 大于号 textgreater 小于号 textless 下面的后面
  • android 动画开发

    动画的分类 Android通过Animations为android UI提供了一系列的动画效果 可以进行旋转 缩放 淡入淡出等 这些效果可以应用在绝大多数的空间中 Android中的动画一般为两类 1 Frame by frame Anim
  • 笔试题(十二):走梅花桩

    Redraiment是走梅花桩的高手 Redraiment可以选择任意一个起点 从前到后 但只能从低处往高处的桩子走 他希望走的步数最多 你能替Redraiment研究他最多走的步数吗 数据范围 每组数据长度满足 1 n 200 数据大小满
  • 利用Charles打断点修改返回数据

    1 选择你需要修改数据的接口 2 选中后 proxy gt breakPoint Setting 在出来的弹窗中找到你标记的接口 双击 选择对应的方法 get post 然后将Query里面的删掉 写上 确保一下request和respon
  • python学习之基于Python的人脸识别技术学习

    摘要 面部识别技术的应用越来越广泛 它广泛应用于安全系统 人机交互 社交媒体 医疗保健等领域 本文介绍了基于Python的人脸识别技术 包括人脸检测 人脸特征提取和人脸识别三个部分 我们使用OpenCV和Dlib库来实现这些功能 并使用Py
  • Python实现最小顶点覆盖算法

    Python实现最小顶点覆盖算法 最小顶点覆盖问题是图论中的重要问题 其目标是找到至少数量的顶点 使得每一条边至少有一个端点被这些顶点所覆盖 该问题在实际中有诸多应用 例如网络流分析和计算机视觉等领域 本文将介绍如何使用Python实现最小
  • 10.Docker(一)-----安装、初步使用、镜像、Dockerfile常用指令、通过Dockerfile文件封装nginx镜像并优化

    安装 初步使用 镜像 Dockerfile常用指令 通过Dockerfile文件封装nginx镜像并优化 一 简介 二 安装 1 安装配置 仓库配有的安装包 安装 桥接 2 导入马里奥游戏 浏览器访问172 25 15 1 3 删除 4 导
  • 删除链表中重复的元素

    题目描述 给定一个排序链表 删除所有含有重复数字的节点 只保留原始链表中 没有重复出现 的数字 样例 输入 1 gt 2 gt 3 gt 3 gt 4 gt 4 gt 5 输出 1 gt 2 gt 5 分析 从头结点开始遍历该链表 如果当前
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 逆向工具(IDA、pyinstxtractor+uncompyle6、jadx等持续更新)

    IDA Pro IDA Pro Interactive Disassembler Professional 交互式反汇编器专业版 CTF RE PWN必备 打开一个可执行文件前 应先用file命令或者DIE等工具 确定是32位还是64位 然