Windows平台的Windbg/x64dbg/OllyDbg/VisualGDB调试器简介以及符号文件*.pdb总结(2)(★firecat推荐★)

二、OllyDbg(简称OD)


OllyDbg是用户态调试器,具有一定的智能分析能力,但与IDA(智能反汇编分析器)的分析能力相比,不是一个量级的。但它的调试器功能非常完善。所以通常用IDA来阅读代码,而用Olly来动态跟踪程序。


OllyDbg:3级调试工具,与当年的TRW2000(RING 0级调试工具)齐名,用的人很多。上手容易,教程如牛毛。只能用来搞32位程序,作者已不再更新。

x64dbg:新型的调试工具32位/64位都能搞,相对bug多,教程少;但是越来用的人越多。周更新。


WinDbg:一般调试微软内存/蓝屏工具,一般人玩不动。

IDA:可动态、静态、流程图式分析与调试,占用资源也最多。


OllyDbg v1.10


https://www.52pojie.cn/thread-350397-1-1.html 52pj-Ollydbg


三、x64dbg


x64dbg是Windows下的32/64位调试器,开源。x64dbg采用 QT 平台编写,支持多国语言。熟悉OllyDbg的用户应该很容易上手。x64dbg整体前景比较乐观,功能有待加强,但界面简洁明晰、操作方便快捷,设计人性化等。通过这款调试工具用户可以分析64位的应用,这是OllyDbg所不能做到的,它只能分析32位应用,所以想要分析64位应用,你可以使用小编带来的这款调试工具,是一款专门用于分析64位应用的调试软件。支持类似C的表达式解析器、全功能的DLL和EXE文件调试、IDA般的侧边栏与跳跃箭头、动态识别模块和串、快反汇编、可调试的脚本语言自动化等多项实用分析功能,可以帮助你完成64位应用的分析。


x64dbg


https://github.com/x64dbg/x64dbg


https://github.com/mrexodia/TitanHide


https://github.com/mrexodia/WorkraveQt


https://www.52pojie.cn/thread-1094207-1-1.html


https://www.lanzous.com/i8mzfrc 原版+插件下载,52pj


四、VisualGDB


VisualGDB - Serious cross-platform support for Visual Studio


在Linux下调试工程是一件很苦逼的事情,不像在Windows下用Visual Studio那样简便,但是最近发现一件神器可以让Linux下的程序一样可以在Windows下的Viusal Studio中调试起来。VisualGDB通过SSH使得Windows下的VS能够连接到Linux的环境,只要配置好头文件以及库文件等相关目录即可。


x.微软符号文件


Symbol information


1、下载方法


方法1:  使用vs进行下载,当然必须是vs2003以后的版本,通过attach到一个进程中或者启动一个程序进行调试。


Windows平台的Windbg/x64dbg/OllyDbg/VisualGDB调试器简介以及符号文件*.pdb总结(2)(★firecat推荐★)


Windows平台的Windbg/x64dbg/OllyDbg/VisualGDB调试器简介以及符号文件*.pdb总结(2)(★firecat推荐★)


方法2: 使用Windbg进行下载,同样是attach或run一个程序,Ctrl+S设置一下符号路径,然后使用命令.reload


2、设置调试器Symbols路径

WinDBG、VC.Net及以上版本都可以通过设置环境变量指定Symbols路径,并都能根据环境变量设置自动去微软服务器拉取window系统symbols。


右键我的电脑—〉“属性”—〉“高级系统设置”—〉“高级”—〉“环境变量”—〉“系统变量”,新建两个环境变量:


_NT_SYMBOL_PATH和_NT_ALT_SYMBOL_PATH


_NT_SYMBOL_PATH=C:\Symbols;srv*C:\Symbols*http://msdl.microsoft.com/download/symbols

_NT_ALT_SYMBOL_PATH=cache*C:\Symbols

_NT_SYMBOL_PROXY=127.0.0.1:8100

这样设置后,调试器首先会到_NT_ALT_SYMBOL_PATH指定的共享路径中去寻找pdb文件,并把找到的文件缓存到C:\Symbols目录下,下次访问时就不用到共享目录中查找,这样可以提高速度。当在_NT_ALT_SYMBOL_PATH中找不到时会查看路径_NT_SYMBOL_PATH,接着自动从微软官方网站下载windows系统的pdb文件,并缓存到共享目录C:\Symbols中,缓存的好处是下次直接从共享目录拉取,不用再跳到微软网站拉取。

注意:设置以上变量后第一次使用Windbg或者VS调试时,因为要下载windows系统的pdb文件,可能要等待一段时间(Windbg会在命令行窗口右下角显示“BUSY”状态,但也有可能不显示状态,VS在状态栏会显示Loading symbols for XXX),并且pdb文件都相对比较大,视网速快慢,可能要等待十几分钟到几个小时。另外在测试中发现,WinDbg下载symbols的速度比VS快得多。


上一篇:【Kernel】内核同步


下一篇:make mrproper时make[1]:***Documentation/Kbuild:是一个目录;停止;