认识IDA

2024-04-16 23:12
文章标签 认识 ida

本文主要是介绍认识IDA,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是IDA PRO

它是一款反汇编和逆向工程软件,用于分析和理解各种计算机程序。IDA PRO允许用户将程序反汇编成汇编代码,并提供了一系列功能来帮助和理解代码结构、函数、变量以及程序逻辑。

IDA启动

安装好的IDA有64位和32位两个版本,根据程序的结构选择相应的版本打开。
双击启动,启动界面如下
在这里插入图片描述

新建:

会帮我们打开文件管理器,在这里,在文件夹中找到相应的程序进行分析。
在这里插入图片描述

运行:

打开后是空白界面,需要我们将要分析的程序通过鼠标拖进来
在这里插入图片描述

载入

就是加载之前的程序

加载文件

其实打开IDA最简单的方式是直接把程序拖到到IDA快捷方式图标上,直接就到了加载程序的界面,在这个对话框中,需要我们选择以何种类型打开文件,我们默认计算机的选择就好,点击OK。
在这里插入图片描述

又出现了一个对话框,供我们选择是否要在启动时加载DWARF调试信息是指IDA在分析可执行文件或库文件时,加载并解析其中包含的DWARF(Debugging With Attributed Record Formats)调试信息。这里选择Yes。
在这里插入图片描述

IDA关闭

当我们从右上角点击X退出时,会弹出一个窗口,默认选择的是打包存储,会保留我们执行过的操作。
在这里插入图片描述
当我们再次打开相同的程序时,会弹出如下窗口,有Overwrite(重写)和Load existing(加载我们之前保存过的文件),根据需求选择。
在这里插入图片描述

界面介绍

打开程序后,出现了很多窗口,看不懂,没关系,别急,我会慢慢解释给你听,先说两个主要窗口,左侧是函数名称窗口,右侧是反汇编窗口,现在看到的是图形视图。
在这里插入图片描述
我们鼠标点击一下反汇编窗口,然后按下空格键,发现该窗口变成了文本视图,再按一下空格键,又会返回到图形视图,可以根据需求进行选择。
在这里插入图片描述
在反汇编窗口中,按下快捷键F5,打开一个新窗口,将汇编代码转换为易于看懂的c语言伪代码,更有利于我们分析。
在这里插入图片描述
Hex View窗口
这个窗口用于以十六进制格式显示文件内容,这里可以看到二进制文件的原始字节。在这里插入图片描述
导航栏
可以看到被加载文件地址空间的线性视图,就是那条彩带,我们可以把鼠标放上面选择地址位置,不同的颜色代表不同的数据段。
在这里插入图片描述
可在视图选项中找到导航栏
在这里插入图片描述
字符串窗口
快捷键Shift+F12
在这里插入图片描述
这个窗口显示了所有的字符串,通过双击我们想要查看的字符串,可以跳转到字符串在反汇编窗口中对应的位置。
在这里插入图片描述
文本搜索
快捷键Alt+T
在这里插入图片描述
数据导出
快捷键Shift+E
有想导出的数据时使用,可以选择导出数据的类型
在这里插入图片描述

这篇关于认识IDA的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/910160

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

HDU 1560 IDA*

给出n个串,求最短公共串(不要求连续) h ,最少还需要多长来匹配所有。 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;imp

SpringMVC-1.认识及配置

SpringMVC是一个基于请求驱动的Web框架,和structs一样是目前最优秀的基于MVC框架,现在的项目一般都使用SpringMVC代替Structs。 MVC模式中,Model是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象在数据库中存取数据。View是应用程序中处理数据显示的部分,通常视图是依据模型数据创建。Controller是应用程序中处理用户交互的部分。通常控制器负责从视

【H2O2|全栈】关于HTML(1)认识HTML

HTML相关知识 目录 前言 准备工作 WEB前端是什么? HTML是什么? 如何运行HTML文件? 标签 概念 分类 双标签和单标签 行内标签和块标签 HTML文档结构 预告和回顾 UI设计相关 Markdown | Md文档相关  项目合作管理相关  后话 前言 本系列的博客将分享前端HTML的相关知识点。 本篇作为本系列的第一期博客,主要讲解H

认识鬼火引擎

一、Irrlicht简介 (1)概念Irrlicht引擎是一个用C++书写的高性能实时3D引擎,可以应用于C++程序或者.NET语言中。通过使用Direct3D(Windows平台)、OpenGL 或它自己的软件着色程序,可以实现该引的完​全跨平台。尽管是开源的,该Irrlicht库提供了可以在商业级的3D引擎上具有的艺术特性,例如动态的阴影,粒子系统,角色动画,室内和室外技术以及碰撞检测等。(

Jenkins--pipeline认识及与RF文件的结合应用

什么是pipeline? Pipeline,就是可运行在Jenkins上的工作流框架,将原本独立运行的单个或多个节点任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。 为什么要使用pipeline? 1.流程可视化显示 2.可自定义流程任务 3.所有步骤代码化实现 如何使用pipeline 首先需要安装pipeline插件: 流水线有声明式和脚本式的流水线语法 流水线结构介绍 Node:

git:认识git和基本操作(1)

目录 一、版本控制器 1.安装git 2.创建git本地仓库 3.配置git 二、git操作(1) 1.工作区、暂存区、版本库 2.添加文件 3.查看.git 4.修改文件 一、版本控制器         所谓的版本控制器,就是能让你了解到每一个文件的修改历史。相应的,在企业级开发中,用来记录一个工程的每一次改动和管理版本迭代,同时方便多人协作开发。         g

关于MANIFEST.MF的内容认识

文章来源 https://baike.baidu.com/item/MANIFEST.MF https://www.cnblogs.com/Gandy/p/7290069.html 一、百度百科关于MANIFEST.MF文件介绍 打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录,这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了