《IDA Pro权威指南》读书笔记

IDA 6.1 预破解版 种子下载地址 http://thepiratebay.se/torrent/7686769/。 如果不能下了,谷歌搜索 “Hex-Rays Ida Pro Advanced Edition v6.1.1 PreCracked”。

Names窗口:

F,常规函数

L, 库函数

I,导入的名称。与库函数的区别:没有代码

G,命名代码

D,数据

A,字符串数据。

用于自动生成名称的一些常用前缀包括以下一些:

sub_xxxxxx:地址xxxxxxx处的子例程

loc_xxxxxx:地址xxxxxx处的一个指令

byte_xxxxxx:位置xxxxxx处的8位数据

word:16位

dword:32位

unk_xxxxxx:位置xxxxxx处的大小未知的数据

x86 fastcall约定:是stdcall约定的一个变体,它向CPU寄存器(而非程序栈)最多传递两个参数。 传递给函数的前两个参数将分别位于ECX和EDX寄存器中。剩余的其他参数则以类似stdcall约定的方式从右到左放入栈上。

push和pop会修改esp,要记住

在x86程序中,EBP寄存器通常专门用作栈帧指针。

bp-based frame:

push  ebp   ; save the caller's ebp value
mov  ebp, esp   ; make ebp point to the saved register value
sub  esp, 76   ; allocate space for local variables
……
mov esp, ebp   ; clears local variables by reseting esp
pop   ebp    ; restore the caller's value of ebp
ret      ; pop return address to return to the caller

使用一个专用的帧指针,所有变量相对于帧指针寄存器的偏移量得以计算出来。正偏移量用于访问函数参数,负偏移量用于访问局部变量。

反汇编清单可能会有错误,你可能需要对反汇编分析和显示过程进行更多的控制。

IDA提供的代码转换包括以下几类:

将数据转换为代码

将代码转换为数据

指定一个指令序列为函数

更改现有函数的起始或结束地址

更改指令操作数的显示格式

Edit->Array菜单中,可以指定连续的数据空间为数组。指定后,反汇编清单会更好看

为了字节对齐,编译器会插入几个字节

结构体在反汇编中看到的就是数据块,并不知道是结构体。可以自己创建。

可以反汇编自己编写一些程序来认识自己使用的编译器得到的结果

编译器会为每一个包含虚函数的类(或通过继承得到的子类)生成一个表,其中包含指向类中每一个虚函数的指针。这样的表就叫做虚表(vtable)。此外,每个包含虚函数的类都获得另外一个数据成员,用于在运行时指向适当的虚表。这个成员通常叫做虚表指针(vtable pointer),并且是类中的第一个数据成员。

通过虚表的分析,可以看出两个类间的关系。

如果两个虚表包含相同数量的条目,则与这两个虚表对应的类之间可能存在着某种继承关系

如果类x的虚表包含的条目比类y多,则x可能是y的子类

如果x包含的条目也可以在y的虚表中找到,则必定存在下面一种关系:x是y的子类,y是x的子类,或者x和y全都是同一个超类z的子类。

如果x包含的条目也可以在类y的虚表中找到,并且x的虚表中至少包含一个纯调用条目,而y的虚表中并没有这个条目,那么y是x的子类

代码交叉引用用于表示一条指令将控制权转交给另一条指令。在IDA中,指令转交控制权的方式叫做流(flow)。IDA中有3种基本流:普通流、跳转流和调用流。j表示跳转流jump,p表示调用,procedure。

数据交叉引用最常用的3种数据交叉引用分别用于表示某个位置何时被读取、何时被写入以及何时被引用。r后缀表示read cross-reference,w表示write,o表示偏移量交叉引用offset cross-reference。

常用快捷键:

g:jump to address

alt+t:搜索

ctrl+t:搜索下一个

ctrl+x:交叉引用列表

F5:反编译成C伪码

Mac OS X版的IDA没有破解,目前只发现6.0的试用版。 Mac版的IDA能更好地识别objective-c函数,并且反汇编结果是AT&T语法,可以和windows版互补一起用。

时间: 2024-09-18 20:53:05

《IDA Pro权威指南》读书笔记的相关文章

《职场动物进化手册》读书笔记

前看过<职场动物进化手册>,但是一直没有将http://www.aliyun.com/zixun/aggregation/9752.html">读书笔记整理出来.下面只是我的一些小感想,欢迎指正. 对主管而言: 如同自然界的动物一样,任何员工都有自己的存在价值,也都在为生存而相互争斗: 主管最重要的是保持系统的 稳定,尽可能发挥各自的特长: 内耗是不可避免的,但是是可以降低的: 内耗减少,就可能因为缺少平衡而风险加大: 珍视缺乏政治头脑的动物,保护他们的热情,但是也需要 防止他

《隐婚男女》北京再演交出职场相恋手册(组图)

<隐婚男女>重磅开演 <隐婚男女>主创齐聚 新浪娱乐讯 有关于职场相恋当隐不当隐的李伯男导演作品<隐婚男女>历时一年时光,巡演24城回归北京,将于2月23日在人艺实验剧场再度开演.鉴于李伯男导演新戏已经开始了紧锣密鼓的筹备工作,本轮也将是该剧本年度在北京的最后一轮献演,再为全城观众献上职场相恋手册,给力支招.努力不"添堵". 那么多人又爱了又离了,那么多人曾经指天明誓的对世界宣告最初爱的开场曲,若隐瞒一旦开始,这一段曾经指望对彼此忠诚到老的感情藏匿何

白领热捧职场圣经不败之书满足心理需求(图)

资料图片资料图片 白领热捧"职场圣经" 借鉴论 教人怎么揭开办公室幕后江湖.身处不败之地的"职场书",满足了白领心理上的安全需求. 混迹职场,不少白领手头都装备了一部或者数部职场"宝典","去年毕业前,我就去书城买了一本<杜拉拉升职记>回来仔细研读,看主人公对职场各种漩涡见招拆招,增长一些见识,也好对即将开始的生活找一点安全感."工作一年的"菜鸟"元媛告诉记者,多数年龄相仿的"85&q

《进化——我们在互联网上奋斗的故事》一一1.4 从精兵到强将 ——技术人员的职场发展之路

1.4 从精兵到强将 --技术人员的职场发展之路 进化--我们在互联网上奋斗的故事 因兴趣而进入互联网行业 2000年,踏着世纪交替的步伐,我走进入了西北工业大学,学习航空飞行器动力专业而不是计算机专业.在入学之前,我就对计算机有不小的兴趣,进入大学后经常去学校图书馆或实验室上网,对计算机的兴趣越来越浓厚,就去图书馆找一些网页设计.网页特效等书籍学习并动手做一些练习.之后我就很喜欢用263的邮箱,因为它的邮箱支持自定义网页格式,我可以给同学和朋友发送自己设计的个性化的网页格式E-mail.那时很

《Excel 职场手册:260招菜鸟变达人》一导读

前 言 Excel 职场手册:260招菜鸟变达人 2015年4月,我人生中的第一本书<Excel高手捷径:一招鲜,吃遍天>出版了.出版后的第一个月在当当网计算机新书热榜排名第一,这让我感到很意外.出书后向我请教问题的人更多了,不仅仅是腾讯内部的同事,还有公司外面的粉丝.在帮助大家解决问题的过程中,我钻研了更多的技巧,更加深刻地体会到Excel的博大精深.我特别想把这些技巧分享给大家,因此,两年后我准备再版.在此特别感谢腾讯公司以及老东家江西移动的领导和同事们对我的大力支持,感谢我的亲朋好友以及

《Excel 职场手册:260招菜鸟变达人》一第一篇 数据操作与处理

第一篇 数据操作与处理 Excel 职场手册:260招菜鸟变达人本篇讲解单元格数据录入与编辑以及整理.查找与替换.行与列.工作表和文件等方面的操作技巧,主要内容包含快捷键的功能介绍.特殊数据的录入技巧.查找替换.条件格式.数据有效性定义.自定义单元格.合并单元格取消后快速输入空白区域.文本与数字格式的相互转换.工作表以及工作表标签的显示与隐藏.工作表和工作簿的保护.Excel文件减肥瘦身秘诀.Excel文件打印技巧等.

《Excel 职场手册:260招菜鸟变达人》一第1章 单元格数据录入与编辑

第1章 单元格数据录入与编辑 Excel 职场手册:260招菜鸟变达人本章介绍单元格数据录入与编辑技巧,主要内容包含快捷键(组合键).特殊数据的录入技巧.数据验证.快速填充.合并单元格取消后快速输入空白区域等.

小小指纹膜折射职场众生相

对于公司来说,打卡机就是用来严格约束员工考勤制度的"紧箍咒".然而上有政策下有对策,如今网上热销的一款指纹膜却成为一些上班族的秘密武器.     "以后除非老板天天守着那考勤机,不然休想扣咱辛辛苦苦挣的那么点工资."--这是很多使用指纹膜的上班族的共同心声.尽管屡试不爽成功骗过考勤,可一旦被识破,不但丢了面子.扣了工资,严重者还将落个被炒鱿鱼的下场.一款小小的指纹膜,折射出喜.怒.哀.愁的职场众生相.     喜 金蝉脱壳防迟到     天气越发寒冷,让家住沈阳铁西

《UML及建模》读书笔记

<UML及建模>读书笔记     (一)面向对象技术概述   一.软件及其特性 软件是计算机系统的思维中枢,是软件产业的核心.作为信息技术的灵魂--计算机软件,在现代社会中起着极其重要的作用. 概念: 软件是计算机系统操作有关的程序.规程.规则及其文档和数据的统称. 程序是按事先设计的功能和性能要求执行的语句序列.数据是程序所处理信息的数据结构.文档是与程序开发.维护和使用相关的各种图文资料,如规范说明书.设计说明书.用户手册等. 软件由两部分组成:一是机器可执行的程序和有关的数据:二是与软件

升为领导十大忌 职场百悟大之六

进入职场3--5年后,可能你会因优异的表现,晋升个部门领导,这时候千万不能得意忘形,失去了做人的原则.我没学过什么企业管理MBA之类的课程,我当领导后要求自己的唯一标准就是:过去我希望领导怎样对我,我就应该怎样对待我的下级,除此之外,我还对当好领导总结有以下十忌:   忌自己做不到的事推给下级去做 我没当领导时,我的领导如果让我看出来他做不到的事情让我做,我会很瞧不起他,他说什么我都即使表面上不说,心里也不服,心想:你干不了的事让我干,你不配当我领导,当了个让下级瞧不起的领导又有什么意义呢? 我