- 19
- 0
- 约2.6万字
- 约 48页
- 2021-01-23 发布于广东
- 举报
IDA 简易教程作者:/mailto:winroot@126.commailto:winroot@126.com2004-11-20 初步翻译完成,希望大家指正错误,谢谢!我的鸟语太差大概翻译了一下,大家凑合着能看懂就行了:-)有些地方用自己理解的意思改写 了一下!本文的主要内容就是讲如何用 IDA 来辅助识别各种类型的数据.版权信息:所有版权归原文作者所有,如许转载清保持文章完整性。 索引第一节:C 语言的小程序第二节:基本类型的识别第三节:操作数格式第四节:字符和字符串的操作第五节:数组第六节:枚举类型第七节:Bit-fields(位域) 8 第八节:结构体第九节:结构变量和结构数组第十节:联合体和结构体中的结构体第十一节:可变的结构体第十二节:结构体偏移第十三节:联合体偏移量第十四节:地址偏移量第十五节:最终逆向结果附录 第一节:C 语言的小程序为了演示 IDA 的功能先写一段小程序。(代码在附录)程序在此 源代码 程序执行结果:CUSTOMERS:CUSTOMER 0001: Peter (m) CUSTOMER 0002: John (m) CUSTOMER 0003: Mary (f)PRODUCTS:PRODUCT 0001: BOOK: IDA QuickStart GuidePRODUCT 0002: SOFTWARE: IDA Pro: PC; WINDOWS DOS; DISASSEMBLY PRODUCT 0003: SOFTWARE: PhotoRescue: PC MAC; WINDOWS OS-X; RECOVERY PRODUCT 0004: SOFTWARE: aCrypt: PC; WINDOWS; CRYPTOGRAPHYTOP第二节:基本类型的识别用IDA 分析我们前面的程序,我们会发现下图的类型只要按D我们就可以任意转换这些不确定的类型.可以变成byte,word,dword(db,dw,dd)。 当然你也可以设置更多的数据转换类型:选择“Options”菜单的“Setup data types”命令就可以设置了值得注意的是:你在数据转换的时候,它是依据数据自身的结构来转换的。我们按“D”的时候, 如果下一个字节已经被你转换过,你的本次转换,IDA 将会提示让你确认。注:如果你想改变这种默认设置可以在“Options”菜单“Convert already defined bytes”命令里设置撤销你的所有转换按“U”键。TOP第三节:操作数格式数据类型自定义转换后,被操作过的数据(就是你按过“D”的)的进制 IDA 也是可以自定义转变 的,通过在“Operands”工具栏的“Number”命令我们可以随意转换数字的进制最下面的“Toggle leading point”就是填补数据前的空位为0(就是说如果当前数据未占满数据格式 的所有位高位用0来填补) IDA 还可以转换数据的标志位(就是正负)具体操作如下图: 最后呢~~如果这些转换你还不满意(够 BT)当然你还可以自定义数据进制如图:TOP第四节:字符和字符串的操作 作者又说话了:很多程序都是包含字符串的,一些被操作过的数据(就是你按过“D”的)可以转 化为字符,使用的命令就在“Operands”工具栏上 由于编程语言的不同造成字符串也有不同的格式,当然IDA 就支持所有的格式了。IDA 在转化后会在地址添加一个名字。因为我们的程序是 c 的所以就找到c 的字符串。具体操作 如图:如果不是C 写的程序怎么办呢?我们可以在“Options”菜单“ASCII string style”命令中设置。允许你修改其它类型为默认设置,使用默认设置的快捷键是“A”,或者自定义一种类型可以使用 不常用的终止字符。TOP第五节:数组在c 中,ASCII 字符串被认为是字符数组,IDA 是如何处理数组的呢?我们用最常用命令来定义数组中的第一个元素,设置第一个元素类型为 byte,格式为 char,然后 点击“*”号键(或者“Edition ”工具栏的“Array”命令)来创建数组。这时弹出一个对话框,可以设 置很多变量。你可以定义数组一行的显示个数,还可以使用“Element width”来设置他们之间的宽度。使用“Use dup construct ”选项可以合并连贯的相似字节,“ Display index ”选项可以像注释一样显 示数组的下标。例如我们设置一个有64个元素的数组,一行有8个元素,每个元素之间的宽度为4,不选取“dup constructs”,选取“Display index ”,我们就可以得到下面的数组。当IDA 遇到未被识别的字节他会用红色的高亮显示。当然你也可以选择一个范围来创建数组,IDA 会自适应的设定。
您可能关注的文档
最近下载
- DB11_T1897-2021:城市轨道交通广播系统技术规范.pdf VIP
- 九师联盟2026届高三下学期3月质量检测地理试卷(含答案详解).pdf
- 储气库选址评价推荐做法.pdf VIP
- 中国国家标准 GB/T 16399-2021黏土化学分析方法.pdf
- 第10课 马克思主义的诞生和国际工人运动的开展(精品课件)-【中职专用】《世界历史》创新课堂同步优质教学课件(高教版2023·基础模块) .pptx VIP
- 第七单元 7.1 了解信息安全常识 任务1 初识信息安全 课件 -2024—2025学年高教版(2021)中职信息技术基础模块下册.pptx VIP
- 《建筑边坡工程技术规范》GB50330-2024.pptx VIP
- 数学史在中学数学教学中的应用.pdf VIP
- DB11∕T 1683-2019 城市轨道交通乘客信息系统技术规范.docx VIP
- 7西门子mpi与profius组网编程7西门子mpi与profibus组网编程7西门子mpi与profibus组网编程7西门子mpi与profibus组网编程.ppt VIP
原创力文档

文档评论(0)