第5章 IDA Pro

5.1 加载一个可执行文件

 

默认情况下IDA Pro的反汇编代码中不包含PE头或资源节,可以手动指定加载。

5.2 IDA Pro接口

5.2.1 反汇编窗口模式

二进制模式/图形模式:

图形模式:红色表示一个条件跳转没有被采用,绿色表示这个条件跳转被采用,蓝色表示一个无条件跳转被采用。箭头的方向显示程序的流程,向上的箭头表示一个循环条件。

文本模式:左侧部分被称为箭头窗口,显示了程序的非线性流程。实现标记了无条件跳转,虚线标记了条件跳转,朝上的箭头表示一个循环。

Tips:自动注释功能Options>General>Auto comments

5.2.2 对分析有用的窗口

函数窗口/名字窗口/字符串窗口/导入表窗口/导出表窗口/结构窗口

5.2.3 返回到默认视图

Windows>Reset Desktop

5.2.4 导航IDA Pro

5.2.5 搜索

5.3 使用交叉引用

交叉引用,在IDA Pro中被称为xref,可以告诉你一个函数或者字符在何处被调用。选中该函数或者字符串按下X键

5.4 分析函数

局部变量用前辍var_进行标记,而参数用前辍arg_来标记

5.5 使用图形选项

IDA Pro 6.6版本不存在该图形选项

5.6 增强反汇编

5.6.1 重命名位置

5.6.2 注释

5.6.3 格式化操作数

默认格式化为十六进制。

5.6.4 使用命名的常量

5.6.5 重新定义代码和数据

5.7 用插件扩展IDA

转载于:https://www.cnblogs.com/pzlee/p/7679696.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 typescript ,提升 vue 项目的开发体验(1)

此文已由作者张汉锐授权网易云社区发布。欢迎访问网易云社区,了解更多网易技术产品运营经验。前言:对于我们而言,typescript 更像一个工具官方指南从 vue2.5 之后,vue 对 ts 有更好的支持。根据官方文档,vue 结合 type…

Linux进程间通信——使用共享内存

//本文转载http://blog.csdn.net/ljianhui/article/details/10253345下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递…

不踩雷不将就 京东智能产品30天无忧退

剁手节已经来临,铺天盖地的促销信息让人应接不暇,恰好又是换季,确实需要买买买一波了。各种满减活动让人眼花缭乱,这波堪称全年最大力度的促销活动,令人是又喜又怕。倘若之前踩过雷的朋友,必然现在会谨慎许…

Linux进程间通信——使用信号量

//转自http://blog.csdn.net/ljianhui/article/details/10243617 这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:L…

麦克风阵列音频检查方法和标准

为确保产品能够符合算法要求,务必提前做好相关设计,尽量确保各项指标满足如下标准。 音频评测工作,主要集中在研发设计阶段;针对产品形态的不同,测试可分为裸板测试和整机测 试,下表为不同阶段需要测试的…

SVG格式图片转成HTML中SVG的Path路径

AI图标制作完成之后,保存的svg文件包含许多AI的信息,如果要在HTML中使用,我们需要在svg文件中提取/修改信息,重新保存。 1、在AI中已经完成图标,要保存SVG文件,点击“文件(File)”-“另存为(Save As)”&…

Linux内核Socket参数调优

可调优的内核变量存在两种主要接口:sysctl命令和/proc文件系统,proc中与进程无关的所有信息都被移植到sysfs中。IPV4协议栈的sysctl参数主要是sysctl.net.core、sysctl.net.ipv4,对应的/proc文件系统是/proc/sys/net/ipv4和/proc/sys/net/cor…

vue.js单页面应用实例

一:npm的安装由于新版的node.js已经集成了npm的环境,所以只需去官网下载node.js并安装,安装完成后使用cmd检测是否成功。测试node的版本号:node -v测试npm的版本号:npm -v以上提示代表安装成功二:vue.js环境…

AA级与AAA级台灯 重要指标对比

读写作业台灯,按照国家标准(GB/T 9473-2017 读写作业台灯性能要求 )台灯只有两个等级 即为A级和AA级: 但是大家在各个购物网站挑选台灯尤其是挑选孩子学习用的读写台灯时,会发现很多厂家宣称台 灯为AAA级&#xff0c…

零基础学python,看完这篇文章,你的python基础就差不多了!干货【1】

2019独角兽企业重金招聘Python工程师标准>>> Python基础语法和面向对象(下一篇分享面向对象) Python基础语法 1. 认识Python 1.1 Python 简介 Python 的创始人为吉多范罗苏姆(Guido van Rossum)。 Python 的设计目标&a…

消费类电子认证测试资料清单

消费类电子上市前必须取得相关认证,其中最常见的有3C、SRRC和CTA等强制性认证,还有类似TUV和Rohs等自愿性认证,现将常见认证测试资料清单小结如下: CCC测试认证: 测试项:EMC、安规和随机等。 SRRC核准&am…

SVG 相关整理

1. 中文参考手册: http://www.runoob.com/svg/svg-reference.html SVG HTML5 资源教程 http://www.html5tricks.com/tag/svg/ 2.SVG 入门到精通 http://www.w3cplus.com/blog/tags/411.html 3.SVG开发包整理 http://www.oschina.net/project/tag/420/svg http://www…

液晶拼接控制器

液晶拼接墙系统是由液晶拼接显示单元、液晶拼接支架、液晶拼接控制器器和信号源组合而成的。液晶拼接控制器则是液晶拼接系统的重要组成部分。 液晶拼接控制器一般分为两种:内置嵌入式液晶拼接器、外置液晶拼接控制器。 内置嵌入式液晶拼接器 内置嵌入式液晶拼接器只…

03-类与对象——课后动手动脑

1.早期我们经常这样定义变量 int value100; 前面的示例中这样定义变量 MyClass obj new MyClass(); 这两种方式定义的变量是一样的吗? 这两种方式定义的变量是一样的,因为它们都是类的实例化,只是第一种是一个简便的写法&#xf…

有道智能学习灯 初体验

有道词典笔在业内树立了一个标杆,自认为有道出品必须精品! 但是今天刚初步体验了一下有道智能学习灯,硬件方面说实话有点意外,猜测这应该不是有道词典 笔团队打造的硬件产品吧。 现在将个人体验感受表格化陈述如下:…

centos忘记root用户的密码

方法: 1.在开机启动的时候快速按键盘上的“E”键 或者“ESC”键(如果做不到精准快速可以在启动前一直按着或者不停的按),会进入如下界面。如果你的有多个操作系统就会出现多个内核,就会出现多个选项 2. 选择你忘记密码…

MySql(18)——Linux MySQL主从配置

MySQL 主从配置 Author:xushuyi 参照技术:http://www.cnblogs.com/kevingrace/p/6256603.html 1. 主从数据库 1、主库:192.168.56.100 2、从库:192.168.56.102 3、创建主从数据库一定要保证主从数据库字符集编码的一致性,否则主从…

元器件 失效分析 过程介绍

硬件产品在使用过程中,常常会出现功能失效的情况。排除装配异常的话,功能失效一般是电路可能出现故障,具体可能是某个元器件损坏了。需要研发及时分析定位故障原因及时改善排除故障,尤其是在试产阶段,显得十分重要&…

OWI

2019独角兽企业重金招聘Python工程师标准>>> V$EVENT_NAME V$EVENT_NAME displays information about wait events. ColumnDatatypeDescriptionEVENT#NUMBERNumber of the wait eventEVENT_IDNUMBERIdentifier of the wait eventNAMEVARCHAR2(64)Name of the wait e…

201521123110《Java程序设计》第5周学习总结

1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点。 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误。并分析输出结果。不能编译通过,因为System.out.println…