首页 > 编程语言 >3.0 熟悉IDAPro静态反汇编器

3.0 熟悉IDAPro静态反汇编器

时间:2023-11-11 12:37:11浏览次数:42  
标签:分析 汇编器 3.0 代码 IDAPro 绘图 反汇编 读者 IDA

IDA Pro 是一种功能强大且灵活的反汇编工具,可以在许多领域中发挥作用,例如漏洞研究、逆向工程、安全审计和软件开发等,被许多安全专家和软件开发者用于逆向工程和分析二进制代码。它支持大量的二进制文件格式和CPU架构,并提供了强大的反汇编和反编译功能。使用IDA Pro,用户可以查看和编辑汇编代码、查看函数和程序结构,并分析代码执行逻辑和漏洞。此外,IDA Pro还具有脚本编程和插件扩展功能,使用户能够轻松自定义和改进其功能。

IDA官方网站:https://hex-rays.com/

IDA的启动非常简单,只需要双击打开ida.exe即可,打开后读者可看到如下图所示的提示界面,当然读者如果需要逆向分析64位应用程序则需要打开文件内的ida64.exe即可,一般而言读者可通过New按钮来选择新建一个反汇编任务,也可以直接通过Go按钮来直接进入反汇编工具主页,当然如果读者有以前分析过的工程项目则可以通过Previous按钮快速跳转到待分析项目中;

我们以New为例,当打开后则提示读者需要选择一个被分析文件,当选择后会自动弹出如下所示的选项卡,选项卡中已经为我们识别出待分析程序的相关内容,读者只需要点击OK按钮即可打开IDA桌面环境;

当读者成功加载了被分析文件,则IDA会呈现出如下图所示的,其中最左侧的Functions列表代表的是当前IDA所分析出的内部函数,这些函数片段通常是编程者自己的一些子过程以及一些第三方API接口,桌面的右侧最大的部分则是IDA的主要工作台,其中IDA View-A代表的是当前被分析程序的反汇编代码,Hex View-1则是十六进制格式的机器码,Structures代表的是IDA所解析出来的结构体参数,Enums代表的是枚举类型的定义数据,Imports是导入表,Exports则是导出表。在IDA的最底部则是输出信息,此处的信息有IDA自身信息,也有程序调试信息等;

在桌面的最顶端是IDA的彩色水平带也叫做导航带,导航带中是被加载文件地址空间的线性视图,默认情况下它会呈现出二进制文件的整个地址范围,读者可以右击导航带内任何位置,并选择一个可用的缩放选项,放大或缩小显示的地址范围,同时导航带中会存在一个黄色的指针,当点击后会提示用户当前指针所对应的文件位置,该导航带对于代码分析可以起到很好的预览目的。

在IDA窗口中读者最需要关注的窗口则是IDA View-A反汇编窗口,在反汇编窗口中读者可根据自身需求对代码进行分析,其次IDA窗口中可实现动态绘图的功能,当读者需要对特定区域中特定函数进行绘图时只需要选中该函数的头部,并右键选择GraphView按钮,则可将当前函数绘制成图;

当绘制成流程图以后,读者可通过按下Ctrl+鼠标中键滚动以此来实现对流程图的放大和缩小,在绘图模式下读者也可以通过点击不同的分支结构从而实现跳转到不同位置处,在绘图模式下,一般而言绿色线条代表跳转为真,红色线条代表跳转为假,而蓝色线条则代表无条件跳转,另外按下空格还可实现汇编与绘图窗口的灵活切换,如下图所示;

除了简单的绘图功能外IDA还提供了F5插件,运用该插件可对特定区域反汇编代码生成C语言格式的流程代码,读者只需要选中一段内存代码片段,并按下F5即可看到如下伪代码输出格式;

针对IDA工具的使用技巧还有许多,此处仅仅只是抛砖引玉带读者入门,如果需要获取更多关于IDA工具的使用方法,还得通过不同的积累学习,本章不可能将IDA中的每一个细节都概括到;

标签:分析,汇编器,3.0,代码,IDAPro,绘图,反汇编,读者,IDA
From: https://blog.51cto.com/lyshark/8316056

相关文章

  • 【3.0】Go语言语法初识之变量
    【零】注释语法注释就是对代码的解释和说明,其目的就是让人们更加轻松的了解代码。注释是开发人员的一个重要的习惯。单行注释使用//开头多行注释使用/*开头*/结尾//package定义包名main包名packagemain//import引用库fmt库名import"fmt"//func定......
  • 3.0 熟悉IDAPro静态反汇编器
    IDAPro是一种功能强大且灵活的反汇编工具,可以在许多领域中发挥作用,例如漏洞研究、逆向工程、安全审计和软件开发等,被许多安全专家和软件开发者用于逆向工程和分析二进制代码。它支持大量的二进制文件格式和CPU架构,并提供了强大的反汇编和反编译功能。使用IDAPro,用户可以查看和......
  • 深度解密 | 灵脉SAST 3.0最新特性曝光
    一、多模智能引擎焕新2023年6月,灵脉SAST入选国际权威咨询机构Forrester发布的《TheStaticApplicationSecurityTestingLandscape》报告成为全球范围内仅有的两款亚太区SAST代表产品之一。此次3.0版本重大焕新,灵脉SAST从检测工具的灵魂核心入手,对引擎进行重构升级,运用多模核心技......
  • 喜报!华为云金融PaaS3.0荣获“2023年应用现代化典型案例”称号
    中国软件行业协会近期启动了2023“应用现代化产业实践”优秀案例征集活动,旨在加快推动应用现代化发展与推广应用,形成行业应用带动和示范作用,打造应用现代化软件名企、名品,凝聚行业资源,助力我国行业应用现代化高质量发展,为建设制造强国、数字中国提供坚强支撑。近日,中国软件行业协会......
  • 万人在线,一站式自动化运维 SysOM 3.0重磅发布!龙蜥社区系统运维 MeetUp 回顾来了
    8月12日,由龙蜥社区系统运维SIG主办,乘云数字协办的,主题为“观测,让运维更简单!”的系统运维MeetUp于杭州圆满结束。来自乘云数字、谐云科技、乐维、云杉网络、擎创科技、观测云、阿里云以及浙江大学等众多厂商及高校的11位专家和教授,分享了精彩主题演讲,带来了前沿技术见解。......
  • vuejs3.0 从入门到精通——动态组件
    动态组件一、App.vue<template><ul><!--使用ul标签替代了错误的url标签,用于展示列表--><liv-for='(item,index)intabList':key='index'@click="()=>{currentComponent.com=tabList[index].com}"><!--......
  • hive3.0新特性
    hive3.0新特性:1、不再支持MR取而用Tez查询引警且支持两种查询模式.Container和LLAP2、HiveCLI不再支持(被beeline取代)3、SQLStandardAuthorization不再支持,且默认建的表就已经是ACID表。4、支持“批查询”(TEZ)或者“交互式查询”(LLAP)5、其他特性。(1)物化视图重写......
  • vuejs3.0 从入门到精通——Element Plus 组件库
    ElementPlus组件库一、ElementPlus 基于Vue3,面向设计师和开发者的组件库。二、完整导入https://element-plus.org/zh-CN/guide/quickstart.html#完整引入 如果你对打包后的文件大小不是很在乎,那么使用完整导入会更方便。//main.tsimport{createApp}from'vu......
  • IDAPro Cheatsheet
    IDAPro是一款由Hex-Rays开发的反汇编软件,可以用于逆向工程、漏洞分析、恶意代码分析、软件调试等领域。它支持多种处理器架构和操作系统,具有强大的反编译功能,可以将二进制文件转换为高级语言代码。除了反编译功能,IDAPro还提供了许多其他功能,如动态调试、代码浏览、数据交叉引用......
  • Spring 3.0 注解注入详解
    一、各种注解方式 1.@Autowired注解(不推荐使用,建议使用@Resource)     @Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。@Autowired的标注位置不同,它们都会在Spring在初始化这个bean时,自动装配这个属性。要使@Autowired能够工作,还需要在配置文件中......