首页 > 编程语言 >IDA 逆向工程 反汇编使用

IDA 逆向工程 反汇编使用

时间:2023-05-31 16:04:55浏览次数:45  
标签:逆向 查看 可以 反汇编 跳转 IDA View

IDA pro 7.0版本

from:freebuf

用到的工具有IDA pro 7.0  ,被反汇编的是百度云(BaiduNetdisk_5.6.1.2.exe)。

首先,IDA pro的长相如下:

IDA 逆向工程 反汇编使用_反汇编

共有(File , Edit , Jump , Search , View , Debugger , Options , Windows , Help)9个模块,还有下面的诸多小菜单。

现在我们点击File,选择Open打开一个文件,这里我们选择百度云盘PC端安装程序,出现如下图示:

IDA 逆向工程 反汇编使用_反汇编_02

这里我们直接默认OK即可。

此时,我们看到的视图是这样的:

IDA 逆向工程 反汇编使用_百度云_03

然后我们对各个部分进行标号,单独进行介绍:

IDA 逆向工程 反汇编使用_安全分析_04

第一部分表示的是对不同代码块使用不同的颜色进行区分,我们可以直接点击相应的颜色块进行不同代码块的定位。

蓝色:表示代码段。

棕色:表示数据段。

红色:表示内核。

第二部分表示该程序的函数表,双击后可查看详细信息。

IDA 逆向工程 反汇编使用_反汇编_05

该函数对应的IDA View-A如下:

IDA 逆向工程 反汇编使用_安全分析_06

第三部分对应的就是整体程序或者某个函数的图标概述形式,可以大体把握功能和结构的走向。对整体的脱壳逆向有很大的帮助。

IDA 逆向工程 反汇编使用_Windows_07

第四部分主要可以显示以下6部分信息:

(1)IDA View-A

(2)Hex View-1

(3)Structures

(4)Enums

(5)Imports

(6)Exports

其中IDA View-A表示的就是某个函数的图标架构,可以查看程序的逻辑树形图,把程序的结构更人性化地显示出来,方便我们的分析。

具体表示形式,上文中有截图可参考。

在Hex View-1中可以查看16进制代码,方便定位代码后使用其他工具修改,具体表示如下图所示:

IDA 逆向工程 反汇编使用_Windows_08

在Stuuctures中可以查看程序的结构体:

IDA 逆向工程 反汇编使用_反汇编_09

在Enums中可以查看枚举信息:

IDA 逆向工程 反汇编使用_Windows_10

在Imports中可以查看到输入函数,导入表即程序中调用到的外面的函数:

IDA 逆向工程 反汇编使用_Windows_11

在Exports中可以查看到输出函数:

IDA 逆向工程 反汇编使用_安全分析_12

以上就是IDA主面板中的各个部分的功能介绍了。

接下来我们介绍9个菜单模块,即:

File , Edit , Jump , Search , View , Debugger , Options , Windows , Help

IDA 逆向工程 反汇编使用_Windows_13

1.File 是用来打开,新建,装载一个应用程序的,这大家都知道的。

2.Edit 是用来编辑反汇编代码的,可以复制,筛选什么的。

3.Jump 是用来跳转的,可以有很多种类型的跳转,比如跳转到上一个位置或者下一个位置,跳转到某个指定的地址。还可以根据名字,函数来进行跳转,跳转到一个新的窗口,跳转某一个偏移量等等,总之很多了,具体大家可以慢慢积累了。这个模块就比较重要了。

4.Serach 是用来搜索的。

5.View 是用来选择显示方式的,或者显示某一特定模块信息的。比如以树形逻辑图显示,或者16进制形式显示。还可以单独显示某一特定信息,比如输入或者输出表等。

6.Debugger ,调试器被集成在IDA中,首先我们使用IDA装入文件,来生成数据库,用户可以使用反汇编功能,查看所有反汇编信息,这些均可以在调试器中进行和使用。

IDA 逆向工程 反汇编使用_安全分析_14

7.Options ,在这里可以进行一下常规性的设置。

8.Windows,

9.Help,使用IDA的一些帮助文档,检查更新等等。


使用IDA的一个大体步骤:

1.装入文件或程序

2.指令断点

3.程序运行

4.分析堆栈

5.添加监视

6.进行地址分析

7.单步跟踪

8.找到bug

9.使用硬件断点进行bug确认


本期就介绍到这里了,IDA有很多高级功能,会在之后的实战文章中进行讲解。

下一期我们将讲解《逆向动态调试之Ollydbg的使用》。

学完汇编,IDA,Ollydug我们就可以进行简单的逆向分析了。

标签:逆向,查看,可以,反汇编,跳转,IDA,View
From: https://blog.51cto.com/u_11908275/6387681

相关文章

  • April 2023-Memory-efficient Reinforcement Learning with Value-based Knowledge Co
    摘要:人工神经网络在一般函数逼近方面很有希望,但由于灾难性遗忘,在非独立或非同分布的数据上训练具有挑战性。经验回放缓冲区(experiencereplaybuffer)是深度强化学习中的一个标准组件,通过将经验存储在一个大的缓冲区中并用于以后的训练,通常用于减少遗忘和提高样本效率。然而,较大......
  • [Android逆向] 重打包时报BrutException
    执行apktoolb--use-aapt2进行重打包时,重打包失败,抛出异常apktoolb/Users/***/work/appsApk/testApp--use-aapt2I:UsingApktool2.6.0I:Checkingwhethersourceshaschanged...I:Checkingwhethersourceshaschanged...I:Checkingwhethersourceshasch......
  • BOSHIDA 电源模块高低温试验的应用原理
    BOSHIDA电源模块高低温试验的应用原理电源模块是高低温试验的主要组成部分之一,其作用是提供试验所需的电力。在高低温试验中,温度的变化范围较大,因此电源模块需要能够在不同的温度下工作,并保证输出的稳定性和可靠性。 一般来说,电源模块应该具备以下特点:1.宽温度范围,能够在......
  • BOSHIDA电源模块 开关电源基础 理解EMI 电磁干扰
    BOSHIDA电源模块开关电源基础理解EMI电磁干扰能量辐射的问题通常被认为是相当复杂的,但是导致和消除EMI的基本原理是相对简单的。从根本上说,只需要认识到由于电流和电压的快速变化会产生场,这些场可以是磁场或电场。磁场会将导体中的变化电流耦合到其他地方而产生感应电压,原理是......
  • 【NSSCTF逆向】【2023题目】《doublegame》《fake_game》《easy_pyc》《For Aiur》
    题目doublegame解法感觉还是蛮抽象的一题打开看看是一个贪吃蛇,也不懂啥直接放进ida看看有很多函数,不想一个个看了,直接看string感觉有很多有用的信息,题目信息又说是doublegame所以应该还有一个游戏,看红框的内容应该是这个迷宫了,点进去通过交叉引用看看ok就是一个迷宫,......
  • 2023CVPR_Low-Light Image Enhancement via Structure Modeling and Guidance(代码暂
    大佬链接:CVPR2023低光照图像增强论文阅读基于结构先验的图像增强-知乎(zhihu.com)一motivation1.现有低光照图像增强方法忽视了在低光照区域结构信息建模对增强的作用(ignoretheexplicitmodelingofstructuraldetailsindarkareas)从而导致增强效果不理想,比如细节模......
  • hmac(md5,sha256) 魔改算法逆向
    2bebb2b85345bac93a790d1a6986b3d5经验1貌似特征码,需要在从伪代码切换到汇编模式,再点击看具体值2找出特征码,然后google再带算法,再带csource如md50x242070DBcsource3md5和sha1在transfrom4个特征相同,sha1多两个重命名经验根据上下文关系,需要点进去发现特征量,验......
  • @Validated注解的使用
    @Validated注解修饰controller的入参参数上入参参数内部使用其他细节注解进行判断看样例@ApiOperation(value="添加修改ump告警规则")@PostMapping("config")publicResultsaveOrUpdateConfig(@Validated@RequestBodyRadarScreenUmpConfigconfig){ radarScreenUmpS......
  • x86游戏逆向之实战游戏线程发包与普通发包的逆向
    网游找Call的过程中难免会遇到不方便通过数据来找的或者仅仅查找数据根本找不到的东西,但是网游中一般的工程肯定要发给服务器,比如你打怪,如果都是在本地处理的话就特别容易产生变态功能,而且不方便与其他玩家通信,所以找到了游戏发包的地方,再找功能就易如反掌了。 在游戏逆向过程......
  • [Android 逆向]旅行青蛙破解
    1.旅行青蛙V1.0,4apk安装到手机,可以运行2.jadx打开apk存在这两个dll,说明是unity开发的3.导出Assembly-CSharp.dll,使用DnSpy打开Ctrl+Shift+K全局搜索clover(四叶草的意思)ps:这里的5000是我修改的,选中408行,邮件编辑IL指令,直接改C#编译后的代码4.......