欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    IDAPro使用技巧窍门及其大杂烩.docx

    • 资源ID:28241572       资源大小:20.69KB        全文页数:9页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    IDAPro使用技巧窍门及其大杂烩.docx

    1、IDAPro使用技巧窍门及其大杂烩IDA Pro 使用技巧及大杂烩IDA Pro 基本简介IDA 加载完程序后, 3 个立即可见的窗口分别为 IDA-View ,Named,和消息输出窗口 (output Window)。IDA 图形视图会有执行流, Yes 箭头默认为绿色, No 箭头默认为红色,蓝色表示默认下一个执行块。在寄存器窗口中显示着每个寄存器当前的值和对应在反汇 编窗口中的内存地址。 函数在进入时都会保存堆栈地址 EBP 和ESP,退出函数时恢复。选择菜单 Debugger下的Start process (也可以按 F9键)来开 始调试。 调试会让程序在电脑中执行, 所以 IDA

    2、会提示注意 提防恶意程序、病毒和木马。打开 IDA Pro 6.5 ,为进入 IDA 界面提供三种选项,分别是New (新建),Go (运行),Previous (上一个)。选择File菜单下的Open,打开想要逆向的可执行文件,会显示一个 Load a new file 的界面。这里可以选择 :1.程序的类型;2.处理器的类型;3.加载的段地址和偏移量;4.是否允许分析;5.一些加载选项;6.内核和处理器的一些选项;7.windows 系统 dll 所在的目录。默认选择 PE 文件就可以,对于一些网络数据包或者其他格式的文件,可以使用二进制加载,自己进行解析。工作区有多个子窗口,IDA Vi

    3、ew-A 是反汇编窗口,HexView-A 是十六进制格式显示的窗口,Imports 是导入表(程序中调用到的外面的函数) ,Functions 是函数表(这个程序中的函数) ,Structures 是结构,Enums 是枚举。IDA view: 定位要修改的代码段在哪里。Hex view: 用来修改我们的数据exports window: 导出窗口import window: 导入窗口names window: 函数和参数的命名列表functions window: 样本的所有函数窗口strings window: 字符串显示窗口,会列出程序中的所有字符 串IDA 很智能,鼠标移到某些标识符

    4、上会自动有适当的提示, 双击还能自动跳到相应的位置。把一个函数逆向的方法很简 单,只要按 F5 键就会出来逆向出的 C 语言程序了。 退出 IDA 时,会进行文件保存确认, 如果需要继续进行分析, 将 IDA 中间数据库打包, 下次继续打开就可以进行分析; 如 果不需要继续分析,选择不要打包,不要存储数据库。IDA 打开应用程序时, 会为其创建一个数据库, 后缀为 IDB 。IDB 由 4 个文件组成 :后缀为 id0 的二叉树形式的数据库,后缀为 id1 的程序字节标识,后缀为 nam 的 Named 窗口的索引信息,后缀为 til 的给定数据库的本地类型定义的相关信息一旦 IDA 为某个可

    5、执行程序创建数据库,它本身就不再需 要访问这个可执行文件,除非使用 IDA 的 Debug 功能。跳转指令分三类 :无条件跳转 : JMP;根据 CX 、 ECX 寄存器的值跳转 : JCXZ(CX 为 0 则跳转 )、JECXZ(ECX 为 0 则跳转 );根据 EFLAGS 寄存器的标志位跳转 , 这个太多了 .学 Win32 汇编 28 - 跳转指令 : JMP、JECXZ 、JA、JB、JG、JL、 JE、JZ、 JS、JC、JO、JP 等 MOVSX MOVZX比如MOVSX EAX, BYTE PTR 00401000或MOVZX EAX, BYTE PTR 00401000在 C

    6、 语言中应该如何表达啊 ?比如定义一个全局变量BYTE bt = 101;DWORD dw;应该如何把 bt 赋值到 dw 中 . 并且功能与 MOVSX/MOVZX 相同?汇编语言与 C 语言的语言构件不同, 并不是一定能转成完全 等价的 C 语言的代码的。对于以上代码,可以这样理解:movsx = dw = (DWORD) ( (signed char) (bt) ) movzx = dw = (DWORD) ( (unsigned char) (bt) )movzx 是把高位全部用 0 填充, 而 movsx 是把原来数的最高 位扩展成超出的位。对于bt=101,也就是0x65,八位二进

    7、制是“ 01100101”,因 为它的最高位是 0,因此这两种情况, dw 都等于 0x00000065 换一个,比如bt=247 ,也就是0xF7,八位二进制是“ 11111110 它的最高位是 1 。经过 movsx 变换后, dw 等于 0xfffffff7 ;而经过 movzx 变换后, dw 等于 0x000000f7交叉参考通过交叉参考 (XREF) 可以知道指令代码互相调用的关系 .如下:.text:00401165 loc_401165: ;CODE XREF:sub_401120+B|j这句 CODE XREF:sub_401120+B|j 表示该调用地址是401120,“j

    8、 ”表示跳转 (jump)“ o”表示偏移值(offset)“ p”表示子程序 (procedure)双击这里或按回车键可以跳到调用该处的地方参考重命名 :找到一段代码 (一般为函数入口名 ),右键点击选择” Rename” 可以将函数名称变成易懂的名称 .标签的用法 :在菜单” Jump”中选择” Mark Position ” 将会打开标记当 前位置功能 ,输入一个名称 , 在菜单” Jump/Jump to marked position ” 中或按” Ctrl+M ”键双击想要调转的名称 ,便会到 达制定的代码位置 .进制的转换 :选择快捷键的 #可以转换进制 ,选择” Toggle

    9、leading zeroes” 功能是用 0 填补数据前的空位 .cqd,为Convert Double to Quad的缩写,意为将双字数据扩展为四字。该指令先把 edx 的每一位置成 eax 的最高位(若 eax=0x80000000, 则 edx=0xFFFFFFFF ;若 eax 该指令常用于扩展被除数,很久前,指令集规定除数必须是 被除数的一半长,这个规定一直被沿用。使用 IDIV 执行除 法时,如果除数是 32 位,这就要求被除数是 64 位,即 EDX:EAX ,所以扩展一下 EAX 以满足除法指令的条件并且 得到正确的结果。DIV 和 IDIVDIV 和 IDIV 两个都是算术

    10、除法操作指令。 DIV 是无符号数 除法 DIV s ; 完成两个无符号数相除。IDIV 是有符号数除法指令,完成两个有符号数相除。被除 数、商、除数、余数存放位置及对 s 的规定与 DIV 指令相同修改程序的指令或者数据,并进行保存如何修改数据在 Hex View 窗口下,51双击要修改的地方52使用F2捷方式修改当前字节53再按下F2快捷方式应用修改。如何改变执行流程1修改跳转指令。2修改内存数据。3IDA View 中使用下面的命令 Jump to IP,Set IP, Run to cursor。保存修改使用下面的主菜单命令,直接把修改保存到输入文件中 ,即可。IDA Main Men

    11、u-Edit-PatchProgram-Apply patches toinput file 。OD 中右键 -保存到文件 -选择我的 OD 是这样的 ,只能修改一条 ,通过选择 ,保存一条重新载 入再修改再保存 .如何对 DLL 文件进行动态跟踪用F2在IDA View中当前代码行切换断点。启动装载 DLL 的 EXE 文件。使用 Debugger-Attach toprocess 把当前二进制代码 attach 到正在运行的进程中去。现在应该进入断点。 F7Stepinto。 F8Stepover。 F9continue 。Cursor 移到内存位置后双击就可以查看到具体内存中的值, 右击

    12、快捷菜单 Jumpto IP 项,可以回到你刚才指令的地方。IDA View 中有很多行代码, 可以使用 ;快捷键对当前行进行注释。为了观察具体指令的二进制表示你还需要 IDA View- 右击 快捷菜单 -Synchronize with-Hex View 1 这样 Hex View 会和你的 IDA View 中光标位置同步。在 IDA View 中为函数改名,用 N 快捷键。 观察内存(变量) Tool bar-Open the watch list window,Toolbar-Add a variable towatch 。 如果作者混淆了二进制代码,你需要 IDA View 在频繁

    13、使用 Data 快捷键, Code 快捷键,强制 IDA ,解析指定数据块 为数据 (Data) 或代码 (Code)。这些 32 位寄存器有多种用途,但每一个都有“专长” ,有各 自的特别之处。EAX 是”累加器” (accumulator), 它是很多加法乘法指令的 缺省寄存器。EBX是”基地址”(base)寄存器,在内存寻址时存放基地址。ECX 是计数器(counter),是重复(REP)前缀指令和 LOOP指 令的内定计数器。EDX 则总是被用来放整数除法产生的余数ESI/EDI 分别叫做”源 /目标索引寄存器” (source/destinationindex),因为在很多字符串操作

    14、指令中,DS:ESI指向源串,而 ES:EDI 指向目标串 .EBP 是”基址指针” (BASE POINTER), 它最经常被用作高 级语言函数调用的”框架指针” (frame pointer). 在破解的时 候,经常可以看见一个标准的函数起始代码 :push ebp ; 保存当前 ebpmov ebp,esp ; EBP 设为当前堆栈指针sub esp, xxx ; 预留 xxx 字节给函数临时变量 .这样一来 ,EBP 构成了该函数的一个框架 , 在 EBP 上方分别 是原来的 EBP, 返回地址和参数 . EBP 下方则是临时变量 . 函数返回时作 mov esp,ebp/pop eb

    15、p/ret 即可 .ESP 专门用作堆栈指针,被形象地称为栈顶指针,堆栈的顶 部是地址小的区域,压入堆栈的数据越多, ESP 也就越来越 小。在32位平台上,ESP每次减少4字节。汇编中的 ASSUME经常用来将寄存器当作结构体指针来用ASSUME edx:ptr STRUCT ;将 edx 定义为 STRUCT 指针变量把 STRUCT 结构体的起始 地址给 edxlea edx, STRUCT这个时候可以用 edx. 调用 STRUCT 的字段ASSUME edx:nothing ;取消定义 这个时候 edx 不是指针edx. 不能调用字段了如果是 8086 的那么将段 REG ASSUM

    16、E DS:( 某个数据段 )这样程序在使用这个数据段会用 DS 做段Code段是不能指定段 REG的 必须是CS:IP(EA) 快捷键1.按空格键切换反汇编窗口 (列表视图 = 图形视图 )反汇编窗口有两种显示格式:面向文本的列表视图和图形视 图。不同视图在不同的场景下各有所长,按空格键可以快速 切换。2.翻页 esc 和 Ctrl+Enter当执行跳转功能后 ,需要返回时 ,只要在工具栏中点击 或按” Ctrl+Enter ”键.3.注释 “;”和” :”按;号输入的注释 ,所有交叉参考处都会出现按:号键输入的注释只在该处出现4.使用小键盘“ -”,“ +”查看函数之间的关系IDA View

    17、 下使用小键盘“ -”,“ +”快捷方式可以在代码同关 系图之间切换。5.使用X查看符号引用IDA View 下使用 X 快捷方式, 定位引用了当前符号的代码。6.快捷键 F5 显示 C 伪代码如果有 Main menu-View-Open SubViews-PseudocodeF5菜单,说明你已经安装了 Hex Rays decompiler插件,可以在查看汇编的时候,按 F5 打开伪代码子窗口。7.使用快捷键” * ”把变量重定义为数组。8.快捷键Ctrl+S,打开搜索类型选择对话框- 双击Strings,跳到字符串段- 菜单项“ Search - Text”;9.快捷键 Alt+T ,打开文本搜索对话框,在 String 文本框中 输入要搜索的字符串点击 OK 即可;Open Subviews 窗口名称快捷键 Names WindowShift+F4Functions WindowShift+F3Strings WindowShift+F12SegmentsShift+F7Segment registersShift+F8SignaturesShift+F5Type librariesShift+F11StructuresShift+F9EnumerationsShift+F10


    注意事项

    本文(IDAPro使用技巧窍门及其大杂烩.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开