主要记录一些在应用层调试漏洞的技巧,不会写一些基本的命令,只记录比较有用的平时难以想到的调试方法。

  

1、!address eax

查看对应内存页的属性,如果poc触发异常之后就可以用这个指令看一下触发异常的内存地址的情况

2、dc 0x4232390

以DWORD为组织单位查看内存,比dd命令的优点是可以显示ascii码的情况。

3、 ub 0x532930

反汇编给定地址之前的指令,一般对于栈回溯中得到的地址使用这一条命令。因为可以看到回溯函数的调用

4、kb、kv和kp

都是栈回溯,但是kb只显示3个参数,而kp显示所有参数。kv则有额外的调用约定

5、x 函数名

匹配指定模板的符号,可以用来搜索函数

6、断点命令之bp、bu、ba

bp是对地址下断点、bu是对符号下断点。如果符号位置变了(比如在一个dll中),bu会随符号而改变bp不会。ba是对数据下断点,指定访问模式e执行、w写、r读,支持对1、2、4、8个字节,格式为 ba 访问模式 字节数 地址。

bl列出断点、bc删除断点。

7、针对模块的sxe ld:和lmm

lmm可以搜索模块的信息,sxe ld:当模块加载后断下。

8、dds 地址

以地址为基准搜索附近的函数地址,如果有则显示符号和地址。

9、设置记录断点

bp xxxx ".echo 'Here: ';r eip ;gc"  这样断在XXXX的时候就会输出你指定的寄存器的值

10、ln列出附近的符号

在不知道中断处的含义时,可以用ln查看该地址或附近的地址符号。(因为虚函数表是有符号的,所以用来分析对象类型有奇效)

11.在满足条件时中断下来

".if(){}.else{g;}"

12.jscript与jscript9

jscript9!Js::Math::Cos是jscript9的

jscript!Cos

!heap也有一些很好用的命令
!heap -stat 显示进程中所有堆的信息,通过这个命令可以找到堆喷分配内存块所属的堆
!heap -a HEAP_HANDLE 显示指定句柄的堆的情况
!heap -stat -h HEAP_HANDLE 可以看到堆中块的分布情况
!heap -flt s size 显示所有指定大小的块
!heap -p -a 堆分配记录

Windbg在应用层调试漏洞时的应用的更多相关文章

  1. 在windbg调试.net时遇到的问题

    调试.net应用程序时,有时会在windbg中收到错误消息.以下是我最常遇到的几个问题. Failed to start stack walk---启动堆栈遍历失败 如果你运行sos命令!clrsta ...

  2. VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)

    ------------VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)------------- WIN10已上线,随之而来的是VS2015:微软在 "WDK760 ...

  3. Windbg在软件调试中的应用

    Windbg在软件调试中的应用 Windbg是微软提供的一款免费的,专门针对Windows应用程序的调试工具.借助于Windbg, 我们常见的软件问题:软件异常,死锁,内存泄漏等,就可以进行高效的排查 ...

  4. 【旧文章搬运】Windbg+Vmware驱动调试入门(四)---VirtualKD内核调试加速工具

    原文发表于百度空间,2009-01-09========================================================================== 今天又想起 ...

  5. 【旧文章搬运】Windbg+Vmware驱动调试入门(一)---Windbg的设置

    原文发表于百度空间,2009-01-08========================================================================== Windb ...

  6. 转载(sublime text 2 调试python时结果空白)

    sublime text 2 调试python时结果空白 之前用的时候都一切正常,今天突然就出现了这个问题.按ctrl+b执行的时候结果只有空白,查了很多文章都只提到了中文路径.系统路径等等,没有解决 ...

  7. gdb调试运行时的程序小技巧

    使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/bl ...

  8. Windbg驱动双机调试环境配置

    [由于进入了Windows驱动编程领域第一步就是搭建环境,整个环境来说说难也不难,只是比较麻烦.文章有些地方比较繁琐的,而且别人写的比较好,作为引用参考直接贴连接了.如果你按照我写的一步步完成,很快就 ...

  9. 关于调试WCF时引发的异常XmlException: Name cannot begin with the '<' character, hexadecimal value 0x3C” on Client Side

    问题描述:在使用VS2015调试WCF时,偶遇抛出异常名称不能以“<”字符(十六进制0x3c)开头,平时运行时(不调试)没有问题的. 解决方法:检查后发现为了检查异常的位置,勾选了引发通用语言运 ...

随机推荐

  1. mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式)

    mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式) 首先将要导入的数据文件top5000W.txt放入到数据库数据目录/var/local/mysql/data/${d ...

  2. Docker应用二:docker常用命令介绍

     Docker常用命令使用介绍 docker中常用的命令: 1.docker search image_name:搜查镜像 2.docker pull image_name:从镜像库中拉去镜像 3.d ...

  3. kaggle竞赛

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  4. P1783 二分并查集写法

    并查集 + 二分 我是 并查集 + 二分 做的QVQ 思路:两两枚举点之间的距离,sort排序,使距离有序.二分答案,每次判断是否符合条件,然后缩小查询范围,直到满足题目要求(保留2位小数精度就为 0 ...

  5. Django分别使用Memcached和Redis作为缓存的配置(Linux环境)

    1 使用memcached 1.1 安装memcached 安装(Linux) sudo apt install memcached 启动 #方式一: service memcached start ...

  6. [JSOI2007]字符加密Cipher

    bzoj 1031:[JSOI2007]字符加密Cipher Time Limit: 10 Sec  Memory Limit: 162 MB Description 喜欢钻研问题的JS同学,最近又迷 ...

  7. pandas基础整理

    用jupyter写好,直接放到GitHub上面了→_→ 博客链接:https://douzujun.github.io/page/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%9 ...

  8. 从零搭建SSM框架(一)搭建工程

    工程结构 一.cnki-parent 1.新建maven project  2.pom.xml <project xmlns="http://maven.apache.org/POM/ ...

  9. Spring MVC表单防重复提交

    利用Spring MVC的过滤器及token传递验证来实现表单防重复提交. 创建注解 @Target(ElementType.METHOD) @Retention(RetentionPolicy.RU ...

  10. 【leetcode 简单】 第九十二题 第N个数字

    在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字. 注意: n 是正数且在32为整形范围内 ( n < 231). 示例 1: ...