17. Debuggers (调试器 5个)

反编译是安全研究的重要组成部分。 它将帮助您解剖Microsoft补丁,以发现他们无法告诉您的默认修复的错误,或更仔细地检查服务器二进制文件以确定为什么您的漏洞利用不起作用。 许多调试器都可用,但IDA Pro已成为分析敌意代码和漏洞研究的事实标准。 这种交互式,可编程,可扩展的多处理反编译器在Windows有图形界面、在Mac OS X上具有控制台界面。

OllyDbg是一个用于Microsoft Windows的32位汇编程序级分析调试器。 强调二进制代码分析使得在资源不可用的情况下特别有用。 OllyDbg具有直观的用户界面,能够识别流程,循环,API调用,开关,表,常量和字符串的高级代码分析,关联到正在运行的程序的能力以及良好的多线程支持。 OllyDbg可以免费下载和使用,但不提供源代码。

Immunity Debugger是一个调试器,其设计反映了需要编写漏洞,分析恶意软件和逆向工程二进制文件。 它建立在具有功能图形的坚实用户界面上,业界首创的专门用于堆创建的堆分析工具,以及一个庞大而且支持得当的Python API,从而实现了可扩展性。

GDB是GNU项目的调试器。 安全人员使用它来分析未知的二进制文件,通过指令进行拆卸和单步执行程序指令。 GDB可以调试用Ada,C,C ++,Objective-C,Pascal和其他语言编写的程序。

WinDbg是Microsoft的图形调试器。 它实际上只是Windows软件包调试工具的一个组件,它还包括KD,CDB和NTSD调试器。 它的声望是调试崩溃后生成的内存转储。 甚至可以在内核模式下进行调试。

时间: 2024-10-12 21:30:35

17. Debuggers (调试器 5个)的相关文章

[Win32]一个调试器的实现(三)异常

[Win32]一个调试器的实现(三)异常 作者:Zplutor 出处:http://www.cnblogs.com/zplutor/ 本文版权归作者和博客园共有,欢迎转载.但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 这回接着处理上一篇文章留下的问题:如何处理EXCEPTION_DEBUG_EVENT这类调试事件.这类调试事件是调试器与被调试进程进行交互的最主要手段,在后面的文章中你会看到调试器如何使用它完成断点.单步执行等操作.所以,关于这类调

【转】浅谈LLDB调试器

随着Xcode 5的发布,LLDB调试器已经取代了GDB,成为了Xcode工程中默认的调试器.它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能.LLDB为Xcode提供了底层调试环境,其中包括内嵌在Xcode IDE中的位于调试区域的控制面板,在这里我们可以直接调用LLDB命令.如图1所示: 图1:位于Xcode调试区域的控制台 在本文中,我们主要整理一下LLDB调试器提供给我们的调试命令,更详细的内容可以查看The LLDB Debugger. LLDB命令结构 在使用LL

学习笔记之--认识Xcode中的重要成员:lldb调试器

之前对lldb调试器了解比较少,平时主要用来打印日志和暂定时用鼠标查看属性数据以及使用p po一些简单的命令语句. 今天看了一些关于lldb的文章,顿时觉得之前对它了解太少了,原来它还有那么多的功能. 好记性不如烂笔头,我把方便易用的命令记录下来,方便以后查看. 一.ldb的语法结构 lldb的语法结构如下:<command> [<subcommand> [<subcommand>...]] <action> [-options [option-value]

与调试器共舞 - LLDB 的华尔兹

你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值? 1 NSLog(@"%@", whatIsInsideThisThing); 或者跳过一个函数调用来简化程序的行为? 1 NSNumber *n = @7; // 实际应该调用这个函数:Foo(); 或者短路一个逻辑检查? 1 if (1 || theBooleanAtStake) { ... } 或者伪造一个函数实现? 1 2 3 4 5 6 int calculateTheTrickyValue {   return 9;

简易调试器的实现(一)

看过SEH结构化异常处理,看了<软件调试>这本书,觉得调试真是一件特别棒的事情,于是在网上搜索调试器怎么做,跟着大牛的脚步慢慢的往前走,于是借用大牛提供的代码,自己也开始慢慢做一个调试器 前期基本按照这个大牛的思路 http://www.cnblogs.com/zplutor/archive/2011/03/04/1971279.html 前期的分析也照着来点0.0 这一部分实现的功能是显示寄存器状态.显示字节码(感觉有一些问题,以后再修正),处理异常,断点处理(本来想在OEP断下来的,结果不

手把手教你写Windows 64位平台调试器

本文网页排版有些差,已上传了doc,可以下载阅读.本文中的所有代码已打包,下载地址在此. -------------------------------------------------------------------------------------------------------------------------------------------------------------- 手写一个调试器有助于我们理解hook.进程注入等底层黑客技术具体实现,在编写过程中需要涉及大

@清晰掉 GDB调试器中的战斗机

GDB 的命令很多,本文不会全部介绍,仅会介绍一些最常用的.在介绍之前,先介绍GDB中的一个非常有用的功能:补齐功能.它就如同Linux下SHELL中的命令补齐一样.当你输入一个命令的前几个字符,然后输入TAB键,如果没有其它命令的前几个字符与此相同,SHELL将补齐此命令.如果有其它命令的前几个字符与此相同,你会听到一声警告声,再输入TAB键,SHELL将所有前几个字符与此相同的命令全部列出.而GDB中的补齐功能不仅能补齐GDB命令,而且能补齐参数. 本文将先介绍常用的命令,然后结合一个具体的

[Win32]一个调试器的实现(十)显示变量

[Win32]一个调试器的实现(十)显示变量 作者:Zplutor 出处:http://www.cnblogs.com/zplutor/ 本文版权归作者和博客园共有,欢迎转载.但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 上回介绍了微软的符号模型,有了这个基础知识,这回我们向MiniDebugger中添加两个新功能,分别是显示变量列表和以指定类型显示内存内容.显示变量列表用于列出当前函数内的局部变量或者全局变量:以指定类型显示内存内容用于读取指定

转:iOS LLDB调试器和断点调试

本文转自:http://www.cnblogs.com/wfwenchao/p/3991060.html?utm_source=tuicool&utm_medium=referral 技巧一:运行时修改变量的值 你以前怎么验证是不是某个变量的值导致整段程序不能正常工作?修改代码中的变量的值,然后cmd+r重新启动app?现在你不需要这么做了,只需要设置一个断点,当程序在这进入调试模式后,使用expr命令即可在运行时修改变量的值. 假如有一个loginWithUsername:方法,需要两个参数: