OllyDbg完全教程 内存映射窗口[Memory map window]

转载 2006年06月10日 08:53:00

十,内存映射窗口[Memory map window]

内存映射窗口显示了被调试程序分配的所有内存块。因为没有标准的方法来完成这项任务,所以OllyDbg可能会把一个大的内存块分成几个部分。然而,在大多数情况下,并非一定要精确处理。如果想查看由应用程序通过调用GlobalAlloc()和LocalAlloc()等申请的内存块列表,请使用堆列表[Heap list]。

如果内存块是可执行模块的一个节,OllyDbg则会报告这个内存块所包含的数据类型:代码、数据、资源等。

Windows95/98是和WindowsNT/2000是有一些区别的。在Windows95/98下,OllyDbg是不能显示被映射文件的名称的。另外,Windows95/98不允许的访存类型为读和写,然而,在WindowsNT/2000下,OllyDbg却有拥有更多功能,包括执行访问,写复制[copy-on-write]以及监视标志位。OllyDbg忽略写复制[copy-on-write]属性。

如果OllyDbg发现程序分配了新内存或者重新分配了已经存在的内存块,它将在内存映射窗口中高亮显示相应的记录,去掉高亮度显示,可以选择快捷菜单中的刷新[
Actualize]项。

您可以按Alt+M来调用内存窗口。

以下是快捷菜单中可以选择的菜单项:

刷新[Actualize] - 更新已分配内存的列表并去除对新内存块的高亮显示。

在反汇编窗口中查看[View in Disassembler] -在反汇编窗口中查看:在反汇编窗口中打开内存块,这一选项仅在某些模块的内存块中包含可执行代码或者自解压器时可用。

在CPU数据窗口中查看[Dump in CPU] - 在CPU的数据窗口中显示内存块的内容。

数据窗口[Dump] - 在单独窗口中显示内存块内容。如果内存块的类型已知,则OllyDbg会自动选择显示格式。

查看全部资源[View all resources] - 如果内存块包含资源数据,则列出所有资源及相关数据。OllyDbg并不把资源当作单独实体来支持。您可以显示其数据并以二进制的形式进行编辑。

查看资源字符串[View resource strings] - 如果内存块包含资源数据,则列出全部资源字符串及其标识符。

搜索[Search] - 允许搜索所有的内存块,从选择处开始,搜索匹配的二进制串。如果找到,则OllyDbg将显示该内存块。内存映像窗口和数据窗口共享同一种搜索模式,所以您可以在弹出的数据窗口中立即继续搜索该二进制串出现的下一位置。按Esc键可以关闭数据窗口。

搜索下一个[Search next](快捷键:Ctrl+L) - 继续上次搜索。

设置访问中断[Set break-on-access] (快捷键:F2,仅在WindowsNT/2000下可用) - 保护整个内存块。当中断发生后OllyDbg暂停被调试程序并清除断点。这类断点在您想捕捉调用或返回到某个模块的时候特别有用。

清除访问中断[Remove break-on-access] (快捷键:F2) - 从内存块中清除访问中断保护。

设置内存访问断点[Set memory breakpoint on access] - 在整个内存块上设置断点,每当该内存块被访问时程序都将中断。OllyDbg只支持一个内存访问断点。在
Windows95/98下,当系统程序访问含有内存断点的内存块时,可能会导致所被调试程序崩溃,因此,不到万不得已,请不要设置这种断点。

设置内存写入断点[Set memory breakpoint on write] - 在整个内存块上设置断点,每当该内存块被写入数据时程序都将中断。在Windows95/98下,当系统程序访问含有内存断点的内存块时,可能会导致所被调试程序崩溃,因此,不到万不得已,请不要设置这种断点。

清除内存断点[Remove memory breakpoint] - 清除内存断点。

清除自解压内存断点[Remove SFX memory breakpoint] - 停止搜索自解压程序[self-extractable (SFX) program]的真实入口。这个搜索使用了特殊类型的内存断点。

访问设置[Set access] -设置整个内存块的保护属性,可选择的有:


禁止访问[No access]
只读[Read only]
读/写[Read/write]
执行[Execute]
执行/读[Execute/read]
完全访问[Full access]

复制到剪切板[Copy to clipboard]


整行[Whole line] -以多行文本(包括解释)的方式把所选记录复制到剪切板,如果复制时想排除某些列,可将该列的宽度置为最小(该栏剩余的边框将变灰)。

整个表格[Whole table] -以多行文本的方式将整个内存映像信息复制到剪切板,该文本的第一行为窗口标题("内存映射[Memory map]"), 第二行为列标题栏,后面几行的内容为内存数据记录。复制将保持列的宽度。如果复制时想排除某些列,可将该列的宽度置为最小(该栏剩余的边框将变灰)。

OllyDbg中设置调试点的四种方法

有过Java或者其他语言开发经验的,都知道断点的概念。在我们测试程序时可以在需要的位置设置断点,这样当程序执行到断点时流程就会停止,此时我们可以查看变量、表达式等的值。 同样,在使用OllyDbg时...
  • smugaoyi
  • smugaoyi
  • 2016年05月15日 18:17
  • 2287

Ollydbg手动脱壳得几点小结,转自www.pediy.com

 标 题:Ollydbg手动脱壳得几点小结 (4千字) 发信人:sxssl[BCG] 时 间:2003-5-4 22:21:32 详细信息: Ollydbg手动脱壳得几点小结:      引子:20...
  • hu0406
  • hu0406
  • 2009年11月09日 09:11
  • 1367

OD map text

  • 2015年03月04日 11:02
  • 994KB
  • 下载

用IDA导出map文件时的注意事项

在不需要Label信息的情况下,不要选中"dummy names"选项,否则在Ollydbg中使用LoadMapEx(by forever)加载时,会将OD的注释替换掉...
  • cnbragon
  • cnbragon
  • 2010年09月04日 20:15
  • 2584

OllyDbg完全教程

OllyDbg完全教程 目录 第一章概述.................................................................. 1 第二章组件.....
  • zang141588761
  • zang141588761
  • 2016年08月15日 09:20
  • 2772

ollydbg设置断点总结

下面的这些宝贵知识来自看雪论坛。 第一 寻常断点  Ollydbg中一般下中断的方法,就是在程序的地址处用鼠标选择这一行。然后按F2键,这时被选择的那一行的地址会变成别的颜色,就表示这个地址处下了...
  • HK_5788
  • HK_5788
  • 2015年04月13日 18:14
  • 1869

OllyDBG完美教程(超强入门级)

OllyDBG完美教程(超强入门级)   2013-05-12 22:10:43|  分类: 工具|举报|字号 订阅      ...
  • metasearch
  • metasearch
  • 2016年10月20日 22:35
  • 803

note : OD操作整理-API断点的设置;寄存器的修改;数据的查看

中断的设置 断点列表和代码的切换 断点的操作与切换 转到表达式, 用于在汇编窗口直接查找API 查找程序中使用的API,并对关注的API下端点. 确定在程序领空内. 需要在主程序领空查看AP...
  • LostSpeed
  • LostSpeed
  • 2013年05月04日 13:01
  • 2899

OllyDBG完美教程(超强入门级)

OllyDBG完美教程(超强入门级)   class=”bct fc05 fc11 nbw-blog ztag”> 一、OllyDBG 的安装与配置 OllyDBG 1.10 版的发布版本是个 ZIP...
  • SnailCpp
  • SnailCpp
  • 2017年04月16日 09:22
  • 521

OllyDBG完美教程(超强入门级)

网易  博客  GACHA-紧身衣美少女诱惑 LOFTER-高清美女私房一网打尽 印像派-定制照片书   注册 登录    加关注 ...
  • threshold1980
  • threshold1980
  • 2016年11月14日 22:13
  • 4804
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OllyDbg完全教程 内存映射窗口[Memory map window]
举报原因:
原因补充:

(最多只允许输入30个字)