Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[re入门]IDA和OD的基本使用(持续更新)

[re入门]IDA和OD的基本使用(持续更新)

作者头像
李鹏华
发布于 2024-03-12 06:47:25
发布于 2024-03-12 06:47:25
1.1K0
举报
文章被收录于专栏:网络信息安全网络信息安全

第一章 IDA使用介绍

简介

空格:切换代码窗口的显示方式(在图形窗口与文本窗口之间切换) 窗口介绍:“View”–“open subviews”, 可以看到IDA的各个子窗口

常用快捷键: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210303191810237.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MzYzMjQ5,size_16,color_FFFFFF,t_70

基本使用:1.静态分析功能

​ 2.函数控制流图显示 ​ 3.F5 Hex-Rays插件 ​ 4.变量类型指定 快捷键y ​ 5.变量重命名 点住这个变量 快捷键n

显示设置

可在“Options”-“Gemeral”-"Disassembly"窗口中设置反汇编的显示内容模式

代码定位:

​ 1、交叉引用

​ 函数调用关系 ​ 字符串引用关系 ​ 2、字符串定位 ​ 提取所有字符串shift+f12 查看交叉引用 :快捷键X

栈帧分析

双击任意局部变量将进入栈帧窗口视图

结构体分析:

IDA可对结构体进行自定义并对结构体数据进行解析, 以增强程序的可读性,步骤如下: 1、Shift + F1:打开本地类型; 2、insert:插入自定义的结构体;这里可以直接复制c语言定义; 3、Shift + F9:打开结构体; 4、Insert:添加上面创建的结构体; 5、选取相应数据,Alt + Q 将其上面的结构体进行解析。

程序Patch:
  • Patch指修改程序中的指令达到一些目的 绕过反调试 绕过验证 其他
  • 将光标置于某条指令
  • Edit -> Patch Program -> Change bytes来修改代码,如果这里你安装了keypatch插件,那么是可以直接通过修改汇编指令来实现程序Patch的。
  • 应用Path:Edit -> Patch Program -> Apply patch to input file
程序与代码的转换:
  • 若某个函数未被引用,可能无法被IDA识别
  • 导航窗
  • 手动定位,识别为函数:快捷键 p
  • 将代码转换为数据:快捷键 d
  • 数据转换为代码:快捷键 c 通常用来清除花指令等

IDA没有撤销功能,慎重转换

IDA的动态调试:

IDA也提供了动态调试的功能,调试步骤如下:

  • Debugger -> Select debugger 选择local windows debugger
  • F2对入口点处或者其他地方下断点
  • Debugger -> Start process 启动调试
  • 优点 可以在F5的窗格中单步跟踪伪代码
  • 缺点 调试功能没有OllyDBG等强大,没有反调试、dump、硬件断点、内存断点等功能。
IDA安装插件

插件安装:复制相应文件到ida安装目录plugin文件夹

  • Hex-Rays Decompiler:F5插件 支持x86与x64 6.8支持arm 6.9支持arm64 6.95支持PowerPC
  • IDAPython:IDC脚本的Python接口
IDA其他常用的一些插件

IDA FLIRT Signature Database – 用于识别静态编译的可执行文件中的库函数 Find Crypt – 寻找常用加密算法中的常数(需要安装 yara-python) IDA signsrch – 寻找二进制文件所使用的加密、压缩算法 Ponce – 污点分析和符号化执行工具 snowman decompiler – C/C++反汇编插件(F3 进行反汇编) CodeXplorer – 自动类型重建以及对象浏览(C++)(jump to disasm) IDA Ref – 汇编指令注释(支持arm,x86,mips) auto re – 函数自动重命名 nao – dead code 清除HexRaysPyTools – 类/结构体创建和虚函数表检测 DIE – 动态调试增强工具,保存函数调用上下文信息 sk3wldbg – IDA 动态调试器,支持多平台 idaemu – 模拟代码执行(支持X86、ARM平台) Diaphora – 程序差异比较 Keypatch – 基于 Keystone 的 Patch 二进制文件插件 FRIEND – 哪里不会点哪里,提升汇编格式的可读性、提供指令、寄存器的文档等 SimplifyGraph – 简化复杂的函数流程图 bincat – 静态二进制代码分析工具包,2017 Hex-Rays 插件第一名 golang_loader_assist – Golang编译的二进制文件分析助手

IDA脚本功能

File->Script command ,打开IDA的脚本执行窗口,脚本语言类型默认是IDC,可以修改成Python

第二章 OD的简介

OllyDBG可在动态调试过程中实时查看程序反汇编、内存、数据等信息,并可对其进行修改编辑等操作。 目前市面上有很多OllyDBG个人修改版,主要是为了防止被反反调试检测到而做的定制修改,并且自己搭配了一些常用的插件,这里我们使用一款Olly4st的修改版OD来作为演示。我们也统一称其为OllyDBG。

OD的窗口

反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示标题 来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。

寄存器窗口:显示当前所选线程的 CPU 寄存器内容。同样点击标签 寄存器 (FPU) 可以切换显示寄存器的方式。

信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。

内存窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。

堆栈窗口:显示当前线程的堆栈。

常用快捷键
断点功能
  • 设置断点 Int3断点:可以有多个,设置在代码上 内存断点:通过设置内存页面属性异常来实现的断点功能,不去修改程序代码 硬件断点:使用调试寄存器设置断点,不会修改程序代码,最多设置4个

希望大家可以有所收获!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)[转]include <stdio.h>int func(int a, int b, int c, int d, int e,
声明:本文转自Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码),此文干货很多。
用户2930595
2018/08/23
4.6K0
Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)[转]include <stdio.h>int func(int a, int b, int c, int d, int e,
CTF竞赛逆向工程题型深入解析与循序渐进指南
在CTF(Capture The Flag)竞赛中,逆向工程(Reverse Engineering,简称RE)题型一直是最具挑战性且最能体现技术深度的题目类型之一。逆向工程不仅要求选手具备扎实的计算机基础知识,还需要掌握多种工具的使用技巧和丰富的实战经验。从二进制文件的分析到算法的还原,逆向工程题型为参赛者提供了一个展示技术实力的绝佳平台。本文将从基础概念入手,循序渐进地深入解析CTF中常见的逆向工程题型,帮助读者全面掌握逆向工程的核心知识和解题技巧。
安全风信子
2025/11/13
1020
IDA pro简介
本周分享的工具是IDA Pro 7.0。IDA Pro全称是交互式反汇编器专业版(Interactive Disassembler Professional),简称IDA,它是一种典型的递归下降反汇编器。IDA并非免费软件,但Hex-Rays公司提供了一个功能有限的免费版本。IDA是Windows,Linux或Mac OS X托管的多处理器反汇编程序 和调试程序,它提供了许多功能,是一款很强大的静态反编译工具。支持很多插件和python,利用一些插件可以提供很多方便的功能大大减少工作量,在CTF中,逆向和pwn都少不了它,更多强大的功能等待童鞋们自己去学习挖掘,三言两语讲不完。它支持数十种CPU指令集其中包括Intel x86,x64,MIPS,PowerPC,ARM,Z80,68000,c8051等等。 IDA pro7.0(绿色英文版)和 部分插件+ 《IDAPro权威指南第2版》已经上传至群文件,来源于: 吾爱破解论坛。论坛也有汉化版,英文原版本习惯了都一样。 看雪有一个 IDA pro插件收集区,大家有需要也可以去那找https://bbs.pediy.com/forum-53.htm
安恒网络空间安全讲武堂
2019/09/29
6K0
2025年CTF竞赛逆向工程低难度真实题目解析
逆向工程是CTF竞赛中的核心领域之一,它要求选手具备分析和理解二进制文件、提取关键信息、识别算法和破解保护机制的能力。对于初学者来说,逆向工程可能显得有些难度,但通过系统学习和实践,掌握基本的逆向工程技能是完全可以实现的。本文将详细解析2025年CTF竞赛中出现的逆向工程低难度真实题目,帮助初学者入门逆向工程,掌握基本的解题方法和技巧。
安全风信子
2025/11/13
2060
OD常用断点之CC断点
前言 在做Windows平台软件逆向时,Ollydbg是极其常用的逆向工具,动态调试功能非常强大。在调试过程中,断点的使用有助于确定关键的破解位置,今天讲解的内容是OD常用断点中的CC
七夜安全博客
2018/06/21
1.8K0
1.1 熟悉x64dbg调试器
x64dbg 是一款开源、免费、功能强大的动态反汇编调试器,它能够在Windows平台上进行应用程序的反汇编、调试和分析工作。与传统的调试器如Ollydbg相比,x64dbg调试器的出现填补了Ollydbg等传统调试器的不足,为反汇编调试工作提供了更高效、更可靠的解决方案。正是因为有了这些优点,才能使其成为当今最受欢迎的反汇编调试软件之一。
王瑞MVP
2023/07/06
1.1K0
1.1 熟悉x64dbg调试器
恶意代码分析实战总结
(1)如果安装了VMware Tools,则使用CreateToolhelp32Snapshot、Process32Next扫描进程列表,查看是否有VMwareService.exe、VMwareTray.exe和VMwareUser.exe (2)查看网卡地址是否以00:0C:29开头,或查看其它硬件版本 (3)探测内存痕迹,搜索含有VMware的字符串 (4)Red Pill反虚拟机技术->漏洞指令sidt,根据返回的idtr值不同,在多核处理器上无效 (5)No Pill技术->漏洞指令sldt,主机系统上的LDTR值为0,虚拟机中不为0 (6)查看查询I/O通信端口,监视in指令,第二个操作数为VX (7)查看str指令,主机和虚拟机中返回值不一样,str指令用来从任务寄存器中检索段选择子
De4dCr0w
2019/02/27
2.8K0
IDA Pro 工具介绍
*转载请注明来自游戏安全实验室(GSLAB.QQ.COM) 原文地址:http://gslab.qq.com/article-112-1.html IDA Pro(交互式反汇编其专业版,后续简称为ID
用户1263308
2018/04/08
9.8K0
IDA Pro 工具介绍
CTF逆向指南
在CTF比赛中, CTF逆向题目除了需要分析程序工作原理, 还要根据分析结果进一步求出FLAG。逆向在解题赛制中单独占一类题型, 同时也是PWN题的前置技能。在攻防赛制中常与PWN题结合。CTF逆向主要涉及到逆向分析和破解技巧,这也要求有较强的反汇编、反编译、加解密的功底。
小道安全
2021/09/24
2.3K0
CTF逆向指南
ollydbg激活成功教程教程_逆向教程分享
OllyDbg是一种具有可视化界面的汇编分析调试器,是一个支持插件扩展功能的动态追踪工具。
全栈程序员站长
2022/09/29
5K0
ollydbg激活成功教程教程_逆向教程分享
解密所有APP运行过程中的内部逻辑
0x01前言 这年头,apk全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了。静态分析越来越不靠谱了,apktool、ApkIDE、jd GUI、dex2jar等已经无法满足大家的需求了。那么问题就来了,小伙伴们真正需要的是什么?好的,大家一起呐喊出你内心的欲望吧,我们的目标是——“debug apk step by step”。 0x02那些不靠谱的工具 先来说说那些不靠谱的工具,就是今天吭了我小半天的各种工具,看官上坐,待我细细道来。 2.1 IDA pro IDA pro6.6之后加入
FB客服
2018/02/05
2K0
解密所有APP运行过程中的内部逻辑
IDA动态调试so源码 F5伪代码查看
注意:so的动态调试与脱壳在步骤上有很多的相似之处,关于脱壳在后面会详细介绍加壳以及脱壳的发展历程。
bosh123
2020/12/23
3.8K0
043_逆向工程实用技巧:NOP指令修补技术详解与软件保护绕过实战指南
在逆向工程和软件安全领域,NOP指令修补是一项基础而强大的技术,广泛应用于软件分析、保护绕过和漏洞修复等场景。NOP(No Operation)指令,即空操作指令,它的执行不会改变程序的状态,但会占用一个指令周期。通过巧妙地将目标程序中的关键指令替换为NOP指令,逆向工程师可以有效地绕过软件中的各种验证机制、保护措施或调试限制,从而深入分析程序的内部逻辑和功能。
安全风信子
2025/11/17
210
从IDA动态调试方法到ARM三级流水线的分析到实操
IDA动态调用手机apk,请参考:安卓逆向-从环境搭建到动态调试apk IDA部分https://www.freebuf.com/articles/mobile/285861.html
FB客服
2021/10/11
2.3K0
[系统安全] 四.OllyDbg动态分析工具基础用法及Crakeme逆向破解
系统安全系列作者将深入研究恶意样本分析、逆向分析、攻防实战和Windows漏洞利用等,通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步。前文普及了IDA Pro反汇编工具的基础用法,并简单讲解一个EXE逆向工程解密实战方法。这篇文章将详细介绍OllyDbg的基础用法和CrakeMe案例,逆向分析的“倚天屠龙”,希望对入门的同学有帮助。
Eastmount
2021/02/25
4.4K0
国内版“Manus”Aipy,轻松get IDA PRO平替神器,简单又高效!
一口曲奇
2025/06/18
4370
国内版“Manus”Aipy,轻松get IDA PRO平替神器,简单又高效!
4.1 探索LyScript漏洞挖掘插件
在第一章中我们介绍了x64dbg这款强大的调试软件,通过该软件逆向工程师们可以手动完成对特定进程的漏洞挖掘及脱壳等操作,虽然x64dbg支持内置Script脚本执行模块,但脚本引擎通常来说是不够强大的,LyScript 插件的出现填补了这方面的不足,该插件的开发灵感来源于Immunity调试器中的ImmLib库,因Immunity调试器继承自Ollydbg导致该调试器无法支持64位应用的调试,同时该调试器也长期没有开发者进行维护,正是在这种情形之下LyScript诞生。
王瑞MVP
2023/10/11
6170
4.1 探索LyScript漏洞挖掘插件
网络安全自学篇(六)| OllyDbg动态分析工具基础用法及Crakeme逆向破解
OllyDbg是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器,非常容易上手,是当今最为流行的调试解密工具之一。它还支持插件扩展功能,是目前最强大的调试工具之一。
天钧
2020/03/12
3.1K0
2025年CTF竞赛逆向工程中难度真实题目解析
在CTF竞赛中,逆向工程是一个充满挑战且极具吸引力的领域。随着参赛者水平的提高,中难度逆向工程题目逐渐成为区分选手实力的关键。本文将深入解析2025年CTF竞赛中出现的逆向工程中难度真实题目,帮助读者提升逆向分析能力,掌握更高级的解题技巧和方法。
安全风信子
2025/11/13
900
Mac上最强大的反汇编软件,IDA Pro 7 for Mac 完美激活版为你开启逆向之旅!
哪里下载IDA Pro 7 for Mac 完美激活版资源啊,IDA Pro是一款广泛应用于逆向工程和漏洞研究的反汇编工具。IDA Pro 7 for Mac是该软件的Mac OS X平台版本。本文将介绍IDA Pro 7 for Mac的功能和特点。
用户10395188
2023/03/27
4.6K0
推荐阅读
相关推荐
Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)[转]include <stdio.h>int func(int a, int b, int c, int d, int e,
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
首页
学习
活动
专区
圈层
工具
MCP广场
首页
学习
活动
专区
圈层
工具
MCP广场