windbg dds、dps、dqs
dds、dps和dqs命令显示给定范围内存的内容,它们是把内存区域转储出来,并把内存中每个元素都视为一个符号对其进行解析,dds是四字节视为一个符号,dqs是每8字节视为一个符号,dps是根据当前处理器架构来选择最合适的长度。
比如要看看当前stack 中保存了哪些函数地址,就可以检查ebp 指向的内存:
- :> dds ebp
- 0007fdfc 0007ff1c
- 0007fe00 010021b0 calc!WinMain+0x25f
- 0007fe04 0007fee8
- 0007fe08
- 0007fe0c
- 0007fe10
- 0007fe14 7c80b741 kernel32!GetModuleHandleA
- 0007fe18 000a232f
- 0007fe1c
由于 COM Interface 和C++ Vtable 里面的成员函数都是顺序排列的,所以这个命令可以方便地找到虚函数表中具体的函数地址。比如用下面的命令可以找到OpaqueDataInfo 类型中虚函数对应的实际函数地址:
- :> x ole32!OpaqueData*
- 76aa6a41 ole32!OpaqueDataInfo::GetOpaqueData = <no type information>
- 76aa6b3b ole32!OpaqueDataInfo::UnSerialize = <no type information>
- 76aa6c16 ole32!OpaqueDataInfo::SerializableQueryInterface = <no type information>
- 76aa5748 ole32!OpaqueDataInfo::QueryInterface = <no type information>
- 76aa6393 ole32!OpaqueDataInfo::CopyOpaqueData = <no type information>
- 76aa5757 ole32!OpaqueDataInfo::AddRef = <no type information>
- 76a57107 ole32!OpaqueDataInfo::UnSerializeCallBack = <no type information>
- 76aa5766 ole32!OpaqueDataInfo::Release = <no type information>
- 769a697c ole32!OpaqueDataInfo::`vftable' = <no type information>
- 76aa69cb ole32!OpaqueDataInfo::AddOpaqueData = <no type information>
- 769bfae2 ole32!OpaqueDataInfo::GetOpaqueDataCount = <no type information>
- 76aa6b24 ole32!OpaqueDataInfo::Serialize = <no type information>
- 769c9df3 ole32!OpaqueDataInfo::AddRef = <no type information>
- 769c9ebc ole32!OpaqueDataInfo::Release = <no type information>
- 76aa6a97 ole32!OpaqueDataInfo::DeleteOpaqueData = <no type information>
- 76aa6bc9 ole32!OpaqueDataInfo::GetCLSID = <no type information>
- 76aa57c0 ole32!OpaqueDataInfo::OpaqueDataInfo = <no type information>
- 769c1cb0 ole32!OpaqueDataInfo::GetAllOpaqueData = <no type information>
- 76aa54b9 ole32!OpaqueDataInfo::~OpaqueDataInfo = <no type information>
- 76aa6be9 ole32!OpaqueDataInfo::SetParent = <no type information>
- 76aa5693 ole32!OpaqueDataInfo::`scalar deleting destructor' = <no type information>
- 76aa6b78 ole32!OpaqueDataInfo::GetSize = <no type information>
- 76aa6540 ole32!OpaqueDataInfo::QueryInterface = <no type information>
- 769a69a0 ole32!OpaqueDataInfo::`vftable' = <no type information>
- :> dds 769a69a0
- 769a69a0 76aa6540 ole32!OpaqueDataInfo::QueryInterface
- 769a69a4 769c9df3 ole32!InstanceInfo::AddRef
- 769a69a8 769c9ebc ole32!InstantiationInfo::Release
- 769a69ac 76aa69cb ole32!OpaqueDataInfo::AddOpaqueData
- 769a69b0 76aa6a41 ole32!OpaqueDataInfo::GetOpaqueData
- 769a69b4 76aa6a97 ole32!OpaqueDataInfo::DeleteOpaqueData
- 769a69b8 769bfae2 ole32!ServerLocationInfo::GetRemoteServerName
- 769a69bc 769c1cb0 ole32!CComProcessInfo::GetProcessName
- 769a69c0 76a57107 ole32!InstanceInfo::UnSerializeCallBack
- 769a69c4
- 769a69c8 76a2d73d ole32!CClassMoniker::QueryInterface
- 769a69cc 76a339fb ole32!CErrorObject::AddRef
- 769a69d0 76a0679a ole32!CClassMoniker::Release
- 769a69d4 76a06a39 ole32!CClassMoniker::GetUnmarshalClass
- 769a69d8 76a06a56 ole32!CClassMoniker::GetMarshalSizeMax
- 769a69dc 76a06a99 ole32!CClassMoniker::MarshalInterface
- 769a69e0 76a2d2b9 ole32!CClassMoniker::UnmarshalInterface
- 769a69e4 76a07099 ole32!CClassMoniker::ReleaseMarshalData
- 769a69e8 769e288e ole32!CDdeObject::COleItemContainerImpl::IsRunning
- 769a69ec 76a2d72e ole32!CClassMoniker::QueryInterface
- 769a69f0 76a339dd ole32!CErrorObject::AddRef
- 769a69f4 76a06ab8 ole32!CClassMoniker::Release
- 769a69f8 76a069d1 ole32!CClassMoniker::GetComparisonData
- 769a69fc
- 769a6a00 76a066c9 ole32!CClassMoniker::QueryInterface
- 769a6a04 76a05efd ole32!CSCMergedEnum<IEnumCATEGORYINFO,tagCATEGORYINFO>::AddRef
- 769a6a08 76a067a6 ole32!CClassMoniker::Release
- 769a6a0c 76a068f3 ole32!CClassMoniker::GetClassID
- 769a6a10 769acee9 ole32!CDdeServerCallMgr::AddRef
- 769a6a14 76a2d7f2 ole32!CClassMoniker::Load
- 769a6a18 76a06931 ole32!CClassMoniker::Save
- 769a6a1c 76a07055 ole32!CClassMoniker::GetSizeMax
windbg dds、dps、dqs的更多相关文章
- WinDbg常用命令系列---内存数据显示和对应符号显示d*s(dds、dps、dqs)
命令dds, dps, dqs显示给定范围内的内存内容.假定该内存是符号表中的一系列地址.相应的符号也会显示出来. dds [Options] [Range] dqs [Options] [Rang ...
- 物联网通信协议——比较-MQTT、 DDS、 AMQP、XMPP、 JMS、 REST、 CoAP
物联网通信协议——比较-MQTT. DDS. AMQP.XMPP. JMS. REST. CoAP AMQP & MQTT & DDS (https://www.youtube.c ...
- (DDS)正弦波形发生器——幅值、频率、相位可调(二)
(DDS)正弦波形发生器--幅值.频率.相位可调(二) 主要关于调相方面 一.项目任务: 设计一个幅值.频率.相位均可调的正弦波发生器. 频率每次增加10kHz 相位每次增加 PI/2 幅值每次增加两 ...
- (DDS)正弦波形发生器——幅值、频率、相位可调(一)
(DDS)正弦波形发生器--幅值.频率.相位可调 一.项目任务: 设计一个幅值.频率.相位均可调的正弦波发生器. 频率每次增加1kHz. 相位每次增加 2*PI/256 幅值每次增加两倍 二.文章内容 ...
- Python黑帽编程2.3 字符串、列表、元组、字典和集合
Python黑帽编程2.3 字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询 ...
- C/C++ 跨平台交叉编译、静态库/动态库编译、MinGW、Cygwin、CodeBlocks使用原理及链接参数选项
目录 . 引言 . 交叉编译 . Cygwin简介 . 静态库编译及使用 . 动态库编译及使用 . MinGW简介 . CodeBlocks简介 0. 引言 UNIX是一个注册商标,是要满足一大堆条件 ...
- Nginx Installation、Configuration、Rreverse Proxy、Load Balancing Learning
目录 . Nginx简介 . Nginx安装部署 . Nginx安全配置 . Nginx反向代理实践 . Nginx负载均衡实践 1. Nginx简介 0x1: Nginx的基本特性 Nginx(&q ...
- Native Application 开发详解(直接在程序中调用 ntdll.dll 中的 Native API,有内存小、速度快、安全、API丰富等8大优点)
文章目录: 1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Ap ...
- REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解
转载自处blog.csdn.net/tantexian. SOA: 维基百科解释:SOA:面向服务的软件架构(Service Oriented Architecture),是一种计算机软件的设计模式, ...
随机推荐
- Python机器学习——线性模型
http://www.dataguru.cn/portal.php?mod=view&aid=3514 摘要 : 最近断断续续地在接触一些python的东西.按照我的习惯,首先从应用层面搞起, ...
- css文件放在根目录之后不起作用原因
修改为
- 【转载】JAVA-dynamic web module与tomcat
大致因为java的web系统有多种类型,比如静态的和动态的,然后动态的java web project要设置dynamic web module,也就是动态网页模型,他必须要喝对应的服务器搭配好了才能 ...
- PDO 增删改查封装的类
Selecting Data 你在mysql_*中是这样做的 <?php $result = mysql_query('SELECT * from table') or die(mysql_er ...
- [PureScript] Introduce to PureScript Specify Function Arguments
JavaScript does its error-checking at runtime, but PureScript has a compiler, which makes sure that ...
- Try Before Choosing
 Try Before Choosing Erik Doernenburg CREATing An AppliCATion REquiRES MAKing MAny dECiSionS. Some ...
- 解剖 CPU(另)
http://itbbs.pconline.com.cn/notebook/11026377.html 话不多说,这个处理器,就是今天我们要厮杀的对象! 1. 案板上的她,静静等等手术的进行! 2. ...
- python 微信企业号
python 微信企业号 准备,如果没有微信企业号,可以先申请体验号记下CorpID和Secret(获取Token用) 发送消息首先可以在微信的开发者中心,查看接口文档 下面就是python代码:1. ...
- Mac WIn7 QQ聊天记录互导 聊天记录合并
也许等哪天老了回过头来看看.说不定还有一丝欢乐. 有几个方法可以实现 一.dropbox数据同步 二.QQ会员 三.下面方法 1.因为现在的Mac QQ还不支持聊天记录的导入导出.所以只能手动了 如果 ...
- JavaScript正则式入门
正则式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表通常被用来检索.替换那些符合某个模式(规 ...