windbg调试相关命令

 

  1. windbg
  • 查找函数:x exe!main*
  • 条件断点打印字符:bp 7199a2b0 ".printf \"message:%ma\", poi(@esp+8);.echo;g"//
  • 搜索内存:s -a 0000000000780000  L8000000  "This is a test2"
  • !address,可以查看进程的堆布局,堆属性。!address my_addr,直接查看具体地址。
  • bp  myexe+0x85d01 ".echo abc;r r8;r rcx;dc myexe+1000;gu;g"//直接使用偏移,gu运行到当前函数结束。.echo abc打印abc字符串。
  • bu myexe+0x800;设置全局断点,下次重启时还存在;bm myexe!myclass::*,对myclass类所有函数下断点。
  • p相当于f10,t相当于f11,trace
  • ?c-1,用来计算公式。
  • gflags.exe  /i a.exe +hpa +ust.
  • call指令相当于push eip(esp也会增加4),retn相当于pop eip
  • 修改寄存器命令:r @eax=1
  • 修改内存命令:ed (esp+8)  0xffffffff
  • !heap -flt s 8010    //列出 所有指定大小的分配块
  • 命令行下载符号表

这里可以使用 SymChk.exe 实用程序验证符号并以方便、非入侵性的方式生成本地符号高速缓存。SymChk.exe 实用程序随 Debugging Tools for Windows 软件包提供。SymChk.exe 是一种命令行工具。

比如要使用 SymChk.exe实用程序下载 Windows\System32 文件夹中所有组件的符号文件,使用以下命令行即可:

symchk /r c:\windows\system32 /s SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols

c:\progra~1\debugg~1\symchk.exe /r c:\progra~1\mozill~1\* /s SRV*C:\symcache\*http://symbols.mozilla.org/firefox

在此示例中,其中“/r c:\windows\system32”表示查找System32文件夹和所有子文件夹中的所有符号文件。“/s SRV*c:*http://msdl.microsoft.com/download/symbols”指定用于符号解析的符号路径。在此例中,“c:\symbols”是将在其中从符号服务器复制符号的本地文件夹。

  1. ida:在使用IDA对二进制文件进行逆向分析的时候,将基址修改为指定值:Edit->Segements->Rebase program
  2. 虚函数
  3. windbg线程
    • ~               简洁地显示当前进程的所有线程,  
    • ~.              表示当前线程  
    • ~#              表示异常或者产生调试事件的线程  
    • ~*              表示所有线程  
    • ~1              表示一号线程  
    • ~2 s            表示选择2号线程作为当前线程  
    • ~3 f            冻结三号线程  
    • ~3 u            解冻三号线程  
    • ~2 n            挂起二号线程  
    • ~2 m            恢复二线程  
    • ~*e !clrstack   遍历每个线程, 依次输出它们的托管调用栈.  
    • !threads        查看所有的托管线程
    • 在多线程排除问题中,通过线程转换(~2),查看每个线程的栈(k),分析其在那里堵塞。然后结合源码分析。

3.windbg常见符号表地址

Microsoft – http://msdl.microsoft.com/download/symbols

Firefox   – http://symbols.mozilla.org/firefox

Chrome    – http://chromium-browser-symsrv.

Citrix    – http://ctxsym.citrix.com/symbols

Safari     --http://developer.apple.com/internet/safari/windows_symbols

调试firefox为例,设置多符号表情况:

SRV*c:\symcache\*http://msdl.microsoft.com/download/symbols;SRV*c:\symcache\*http://symbols.mozilla.org/firefox

转载于:https://www.cnblogs.com/studyskill/p/7697677.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零基础学python,看完这篇文章,你的python基础就差不多了!干货【1】

2019独角兽企业重金招聘Python工程师标准>>> Python基础语法和面向对象(下一篇分享面向对象) Python基础语法 1. 认识Python 1.1 Python 简介 Python 的创始人为吉多范罗苏姆(Guido van Rossum)。 Python 的设计目标&a…

消费类电子认证测试资料清单

消费类电子上市前必须取得相关认证,其中最常见的有3C、SRRC和CTA等强制性认证,还有类似TUV和Rohs等自愿性认证,现将常见认证测试资料清单小结如下: CCC测试认证: 测试项:EMC、安规和随机等。 SRRC核准&am…

SVG 相关整理

1. 中文参考手册: http://www.runoob.com/svg/svg-reference.html SVG HTML5 资源教程 http://www.html5tricks.com/tag/svg/ 2.SVG 入门到精通 http://www.w3cplus.com/blog/tags/411.html 3.SVG开发包整理 http://www.oschina.net/project/tag/420/svg http://www…

液晶拼接控制器

液晶拼接墙系统是由液晶拼接显示单元、液晶拼接支架、液晶拼接控制器器和信号源组合而成的。液晶拼接控制器则是液晶拼接系统的重要组成部分。 液晶拼接控制器一般分为两种:内置嵌入式液晶拼接器、外置液晶拼接控制器。 内置嵌入式液晶拼接器 内置嵌入式液晶拼接器只…

03-类与对象——课后动手动脑

1.早期我们经常这样定义变量 int value100; 前面的示例中这样定义变量 MyClass obj new MyClass(); 这两种方式定义的变量是一样的吗? 这两种方式定义的变量是一样的,因为它们都是类的实例化,只是第一种是一个简便的写法&#xf…

IPython 使用记录

记录使用的一些技巧处理 1 自动重载修改的文件 局部的会话中使用 如果想在当前 ipython 会话中使用,则运行 ipython 后,依次键入下面语句即可 %load_ext autoreload %autoreload 2 全局使用如果想为了懒省事,我希望 IPython 一直会自动重载&a…

有道智能学习灯 初体验

有道词典笔在业内树立了一个标杆,自认为有道出品必须精品! 但是今天刚初步体验了一下有道智能学习灯,硬件方面说实话有点意外,猜测这应该不是有道词典 笔团队打造的硬件产品吧。 现在将个人体验感受表格化陈述如下:…

视频处理器

http://baike.baidu.com/link?url9Ql-myLXWgFtt8ItgnYe1suvbqU57tivB8WwTVHqNqGWKNQqgvkQ7uqYrw22I44LO-LCmjQuKAk-SGGWV8di4_

centos忘记root用户的密码

方法: 1.在开机启动的时候快速按键盘上的“E”键 或者“ESC”键(如果做不到精准快速可以在启动前一直按着或者不停的按),会进入如下界面。如果你的有多个操作系统就会出现多个内核,就会出现多个选项 2. 选择你忘记密码…

MySql(18)——Linux MySQL主从配置

MySQL 主从配置 Author:xushuyi 参照技术:http://www.cnblogs.com/kevingrace/p/6256603.html 1. 主从数据库 1、主库:192.168.56.100 2、从库:192.168.56.102 3、创建主从数据库一定要保证主从数据库字符集编码的一致性,否则主从…

linux之PHY

一.结构体 1.PHY设备 [cpp]view plaincopy struct phy_device { struct phy_driver *drv; //PHY设备驱动 struct mii_bus *bus; //对应的MII总线 struct device dev; //设备文件 u32 phy_id; //PHY ID enum phy_state state; //PHY状态 …

元器件 失效分析 过程介绍

硬件产品在使用过程中,常常会出现功能失效的情况。排除装配异常的话,功能失效一般是电路可能出现故障,具体可能是某个元器件损坏了。需要研发及时分析定位故障原因及时改善排除故障,尤其是在试产阶段,显得十分重要&…

OWI

2019独角兽企业重金招聘Python工程师标准>>> V$EVENT_NAME V$EVENT_NAME displays information about wait events. ColumnDatatypeDescriptionEVENT#NUMBERNumber of the wait eventEVENT_IDNUMBERIdentifier of the wait eventNAMEVARCHAR2(64)Name of the wait e…

201521123110《Java程序设计》第5周学习总结

1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点。 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误。并分析输出结果。不能编译通过,因为System.out.println…

Python中正则表达式讲解

正则表达式是匹配字符串的强大武器,它的核心思想是给字符串定义规则,凡是符合规则的字符串就是匹配了,否则就是不合法的。在介绍Python的用法之前,我们先讲解一下正则表达式的规则,然后再介绍在Python中如何运用。 如果…

电源适配器上各符号的意义都清楚吗?

现在家里的电子产品是越来越多了,比如:手机、平板、笔记本、智能电视、智能音箱、路由器、剃须刀等;机身或者充电器上都有很多符号标志。 有没有好奇过或者被小孩询问过,这些符号标志都是什么意思呢?只有读懂这些符号…

苏宁海量服务器自动化配置运维实践

运维的演进 人力运维阶段 在IT产业的早期,服务器运维是通过各种Ad Hoc命令或者Shell脚本来完成基础设施的自动化工作,这种方式对于简单,一次性的工作很方便,但是对于复杂和长期的项目,后期的脚本维护非常麻烦。自动化工…

JS小技巧

JS操作伪元素 CSS代码: #myId:before {content: "hello world!";display: block;width: 100px;height: 100px;background: red; } JS 代码: var myIdElement document.getElementById("myId"); var beforeStyle window.getCompute…

流媒体服务器

1 引言   随着互联网的飞速发展,流媒体技术的应用越来越广泛,从网上广播、电影播放到远程教学以及在线的新闻网站等都用到了流媒体技术。但现有公开文献所报道 的大多是利用现有的流媒体服务器来搭建一个流媒体服务系统,或者是针对流媒体数据的编码方式所进行的…

试产机器发现元器件损毁 风险排查过程

产品在试产阶段或者公测阶段,发现有个别机器功能异常,研发定位为个别元器件损坏; 定位过程大致有如下步骤: A-故障现象复现 B-输入输出检查 C-电源及管脚状态测量 D-交叉验证 E-基本外观观察和特性测量 然后将器件邮寄给原…