科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道从Ollydbg说起-----WinDbg用户态调试教程(2)

从Ollydbg说起-----WinDbg用户态调试教程(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

我假设你已经掌握Ollydbg的使用,并且希望用WinDbg进行内核级的调试。这篇教程将会以Ollydbg为线索,帮助你尽快掌握WinDbg的使用,并简单介绍它的一些特性。

作者:论坛整理 来源:zdnet网络安全 2008年1月9日

关键字: 破解 加密 OllyDBG

  • 评论
  • 分享微博
  • 分享邮件


1.3  调用栈窗口

在WinDbg中没有堆栈窗口,取而代之的是调用栈窗口(ALT+6)。下面让我们来看看怎么用。

 
如图,我以号码为04的调用来说明。“ntdll!RtlReleasePebLock+0x2d”调用函数的名称,77fa15d3是函数返回地址,0012fd30是函数第一个参数,如此类推。这里其实是将堆栈横排,也就是说当你进入ntdll!RtlReleasePebLock+0x2d,该窗口就会生成一个项目,并且把堆栈中的内容横排,其实就是下面的数据:

77fa15d3 
0012fd30 
77f80000 
00000000 

调用窗口中最左边的0012fd1c=ESP。

在命令窗口输入kb,然后你会看到跟调用栈窗口一模一样的内容。最后,此窗口功能同样没有Ollydbg强大。

1.4  内存窗口

按ALT+5,然后你会看到下图所示的窗口:

 
它提供多种风格的显示,可惜它仍然是一个文本框,你只能复制粘贴,不能象Ollydbg那样能下断点,也能直接改内存。
同样地,你可以使用d*指令来达到同样多样化的内存显示。例如db address,将会以内存窗口的默认风格显示给出地址的数据。

要改变内存数据,你需要使用e*命令,格式如下:

e Address [Values] 
例如改变00100000的数据
Eb 00100000 01 02 03 04      数据类型为BYTE
Ed 00100000 0201 0403       数据类型为DWORD
Ea 00100000 ‘hello’           数据类型为ASCII
Eu 00100000 ‘你好’           数据类型为UNICODE

1.5  命令窗口

在Ollydbg中,命令行只是一个默认插件。这也是WinDbg唯一比Ollydbg好的界面了。它的快捷键是alt+1。

由于是文本框,所以你可以很容易就翻查当前调试记录。例如单步到某一步的时候,想知道之前经过的某一条指令的某个寄存器的值,向上滚动窗口就可以了,你甚至可以CTRL+F打开查找窗口,并按F3查找下一个。同时因为是文本框的关系,把整个过程复制下来,做点文字编辑,就可以成为一篇破文了。而且WinDbg也提供了把命令窗口内容保存到文件的功能,你可以通过菜单“EDIT=>Write windows text to file”。假如你需要重复使用某一命令,也可以通过上箭头或者下箭头翻查历史记录。按ENTER则自动重复上一条指令的操作。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章