ddsdpsdqs命令显示给定范围内存的内容,它们是把内存区域转储出来,并把内存中每个元素都视为一个符号对其进行解析,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的更多相关文章

  1. WinDbg常用命令系列---内存数据显示和对应符号显示d*s(dds、dps、dqs)

    命令dds, dps,  dqs显示给定范围内的内存内容.假定该内存是符号表中的一系列地址.相应的符号也会显示出来. dds [Options] [Range] dqs [Options] [Rang ...

  2. 物联网通信协议——比较-MQTT、 DDS、 AMQP、XMPP、 JMS、 REST、 CoAP

    物联网通信协议——比较-MQTT. DDS. AMQP.XMPP. JMS. REST. CoAP   AMQP & MQTT & DDS (https://www.youtube.c ...

  3. (DDS)正弦波形发生器——幅值、频率、相位可调(二)

    (DDS)正弦波形发生器--幅值.频率.相位可调(二) 主要关于调相方面 一.项目任务: 设计一个幅值.频率.相位均可调的正弦波发生器. 频率每次增加10kHz 相位每次增加 PI/2 幅值每次增加两 ...

  4. (DDS)正弦波形发生器——幅值、频率、相位可调(一)

    (DDS)正弦波形发生器--幅值.频率.相位可调 一.项目任务: 设计一个幅值.频率.相位均可调的正弦波发生器. 频率每次增加1kHz. 相位每次增加 2*PI/256 幅值每次增加两倍 二.文章内容 ...

  5. Python黑帽编程2.3 字符串、列表、元组、字典和集合

    Python黑帽编程2.3  字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询 ...

  6. C/C++ 跨平台交叉编译、静态库/动态库编译、MinGW、Cygwin、CodeBlocks使用原理及链接参数选项

    目录 . 引言 . 交叉编译 . Cygwin简介 . 静态库编译及使用 . 动态库编译及使用 . MinGW简介 . CodeBlocks简介 0. 引言 UNIX是一个注册商标,是要满足一大堆条件 ...

  7. Nginx Installation、Configuration、Rreverse Proxy、Load Balancing Learning

    目录 . Nginx简介 . Nginx安装部署 . Nginx安全配置 . Nginx反向代理实践 . Nginx负载均衡实践 1. Nginx简介 0x1: Nginx的基本特性 Nginx(&q ...

  8. Native Application 开发详解(直接在程序中调用 ntdll.dll 中的 Native API,有内存小、速度快、安全、API丰富等8大优点)

    文章目录:                   1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Ap ...

  9. REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解

    转载自处blog.csdn.net/tantexian. SOA: 维基百科解释:SOA:面向服务的软件架构(Service Oriented Architecture),是一种计算机软件的设计模式, ...

随机推荐

  1. 用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践

    https://zhuanlan.zhihu.com/p/25928551 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总结下文本分类 ...

  2. List 多次排序

    List<Patientmain> list = patientmains.OrderBy(p => p.Firstname).ThenBy(p => p.Middlename ...

  3. Centos安装gcc及g++

    Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户. 按照这个思路,我想安装过程如下: 安装gcc:yum install gcc 安 ...

  4. Java-Shiro(四):Shiro

    https://blog.csdn.net/visket2008/article/details/78539334 不错的视屏教程,很实用:https://www.bilibili.com/video ...

  5. IE下推断IE版本号的语句

    样例: 1. <!--[if !IE]> 除IE外都可识别 <![endif]--> 2. <!--[if IE]> 全部的IE可识别 <![endif]-- ...

  6. Discuz常见小问题-如何人为地添加用户并分配小组

    进入后台,在用户-添加用户中可以人为添加用户并分配权限

  7. 【linux】ubuntu中上下左右键变为^[[A^[[B^[[D^[[C问题处理

    问题现象: 使用上下左右键时,结果为 ^[[A^[[B^[[D^[[C,如图: 原因在于ubuntu系统自带的 vi 不完整导致. 解决方法:安装完整的vi $ sudo apt-get instal ...

  8. Python+OpenCV实现FasterRcnn样本查看器

    一.上代码 import cv2 import os def get_samples(dir): datasets = [] files = os.listdir(dir) for file in f ...

  9. HttpClient Restful Post 请求

    public static void main(String[] args) { SbVo sb = new SbVo(); sb.setBusiness("SB"); sb.se ...

  10. 用python解析pdf中的文本与表格【pdfplumber的安装与使用】

    我们接触到的很多文档资料都是以pdf格式存在的,比如:论文,技术文档,标准文件,书籍等.pdf格式使得用机器从中提取信息格外困难. 为了解决这个问题,我找到了几种解决方案,最后选择了python上的p ...