IDAPro使用技巧及大杂烩.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IDA Pro 使用技巧及大杂烩 IDA Pro 基本简介 IDA加载完程序后,3个立即可见的窗口分别为 IDA-View , Named 和消息输出窗口 (output Window)。 IDA图形视图会有执行流,Yes箭头默认为绿色,No箭头默 认为红色,蓝色表示默认下一个执行块。 在寄存器窗口中显示着每个寄存器当前的值和对应在反汇 编窗口中的内存地址。函数在进入时都会保存堆栈地址 EBP 和ESP退出函数时恢复。 选择菜单 Debugger 下的 Start process (也可以按 F9 键) 来开始调试。调试会让程序在电脑中执行,所以 IDA 会提示 注意提防恶意程序、病毒和木马。 打开IDA Pro 6.5,为进入IDA界面提供三种选项,分别是 New (新建),Go (运行),Previous (上一个)。 选择File菜单下的Open,打开想要逆向的可执行文件, 显示一个 Load a new file 的界面。这里可以选择 : 程序的类型; 处理器的类型; 加载的段地址和偏移量; 是否允许分析; 一些加载选项; 内核和处理器的一些选项; windows 系统 dll 所在的目录。 默认选择PE文件就可以,对于一些网络数据包或者其他格 式的文件,可以使用二进制加载,自己进行解析。 工作区有多个子窗口, IDA View-A 是反汇编窗口, HexView-A 是十六进制格式显示的窗口, Imports 是导入表(程序中调用到的外面的函数) , Functions 是函数表(这个程序中的函数) , Structures 是结构, Enums是枚举。 IDA view: 定位要修改的代码段在哪里。 Hex view: 用来修改我们的数据 exports window: 导出窗口 import window: 导入窗口 names window: 函数和参数的命名列表 functions window: 样本的所有函数窗口 strings window: 字符串显示窗口,会列出程序中的所有字 符串 IDA 很智能,鼠标移到某些标识符上会自动有适当的提示, 双击还能自动跳到相应的位置。把一个函数逆向的方法很简 单,只要按F5键就会出来逆向出的 C语言程序了。 退出 IDA 时,会进行文件保存确认, 如果需要继续进行分析, 将 IDA 中间数据库打包,下次继续打开就可以进行分析;如 果不需要继续分析,选择不要打包,不要存储数据库。 IDA 打开应用程序时,会为其创建一个数据库,后缀为 IDB IDB 由 4 个文件组成 : 后缀为 id0 的二叉树形式的数据库, 后缀为 id1 的程序字节标识, 后缀为nam的Named窗 口的索引信息, 后缀为 til 的给定数据库的本地类型定义的相关信息 一旦 IDA 为某个可执行程序创建数据库,它本身就不再需 要访问这个可执行文件,除非使用 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 或 MOVZX EAX, BYTE PTR 在 C 语言中应该如何表达啊 ? 比如定义一个全局变量 BYTE bt = 101; DWORD dw; 应该如何把bt赋值到dw中.并且功能与 MOVSX/MOVZX同? 汇编语言与C语言的语言构件不同,并不是一定能转成完全 等价的 C 语言的代码的。 对于以上代码,可以这样理解: movsx ==== dw = (DWORD) ( (signed char) (bt) )

文档评论(0)

yuxiufeng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档