网站大量收购闲置独家精品文档,联系QQ:2885784924

Windbg命令详解..docx

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windbg命令详解.

一、1、 !address eax查看对应内存页的属性?2、 vertarget显示当前进程的大致信息3 !peb显示process Environment Block??4、 lmvm可以查看任意一个dll的详细信息例如:我们查看cyusb.sys的信息5.reload /!sym 加载符号文件6、 lmf列出当前进程中加载的所有dll文件和对应的路径7、 r命令显示和修改寄存器上的值r命令显示和修改寄存器上的值0:018 r eax=0 修改了寄存器,把eax的值修改为0x08、 d命令显示esp寄存器指向的内存如下用dd命令直接指定054efc14地址注意:第二个d表示DWORD格式,此外还有db(byte),du(Unicode),dc(char)等等。数据查看指令 d{a|b|c|d|D|f|p|q|u|w|W}d{b|c|d|D|f|p|q}分别是显示:byteASCII, double-wordASCII,double-word,double-precision,float,pointer-sized,quad-word数据;DA用于显示ASCII,DU用于显示UNICODE;BYB,BYD,显示binary和Byte及binary和DWORD补充一个DV,用于查看本地变量用的9、 e命令可以用来修改内存地址跟d命令一样,e命令后面也可以跟类型后缀,比如ed命令表示用DWORD的方式修改。下面的命令把054efc14地址上的值修改0:018ed 054efc14改后可以用dd命令来查看内存。0:018dd 0543fc14 L4 L4参数指定内存区间的长度为4个DWORD,这样输出只有1行,而不是8行了。10、s命令用来有哪些信誉好的足球投注网站内存具体见help文档11!runaway 可以显示每一个线程的cpu消耗0:018 !runaway 结果如下:0:83c 0 days 0:00:00.40613:bd4 0 days 0:00:00.04610:ac8 0 days 0:00:00.04624:4f4 0 days 0:00:00.031上面输出的第一列是线程的编号和线程ID,后一列对应的是该线程在用户态模式中的总的繁忙时间。在该命令加上f参数,还可以看到内核态的繁忙时间,当进程内存占用率比较高的时候,通过该命令可以方便的找到对应的繁忙线程。12、 ~???? 命令是用来切换目标线程0:018 ~ 可以显示线程的信息0:018 ~0s?? 把当前的线程切换到0号线程,也就是主线程,切换后提示符会变为0:000.13 、~* 命令列出当前进程中的所有线程的详细信息14、~*kb??? 命令列出所有线程的堆栈15、 k???? 命令用来显示当前线程的堆栈,如下0:018 k跟d命令一样,k后面也可以跟很多后缀,比如kb kp,kn,kv,kl等,这些后缀控制了显示的格式和信息。栈指令k[b|p|P|v]这四条指令显示的内容类似,但是每个指令都有特色;KB显示三个参数;Kp显示所有的参数,但需要Full Symbols或Private PDBSymbols支持。KP与Kp相似,只是KP将参数换行显示了;Kv用于显示FPO和调用约定;KD,用于显示Stack的Dump,在跟踪栈时比较有用。这些指令区分大小。16 、u?? 命令把指定地址上的代码翻译成汇编输出0:018 u 7739d023?USER32!NtUserWaitMessage:7739d023 b84a120000 mov eax,0x124a7739d028 ba0003fe7f mov edx,0x7ff02d ff12 call dword ptr [edx]7739d02f c3 ret如果符号文件加载正确,可以用uf命令直接反汇编整个函数,比如uf USER32! NtUserWaitMessage17 、x?? ?查找符号的二进制地址如下0:018 x msvcr!printf77bd27c2 msvcrt!printf =?上面的命令找到了printf函数的入口地址在77bd27c20:001 x ntdll!GlobalCounter7c99f72c ntdll!GlobalCounter =?上面的命令表示ntdll!GlobalCounter这个变量保存的地址是7c99f72c。注意:符号对应的是变量和变量所在的地址,不是变量的值,上面只是找到GlobalCounter这个变量的值是7c99f72,要找到变量的值,需要用d命令读取内存地址来获取。X命令还支持通配符,比如x ntdll !*命令列出ntdll模块中的所有的符号,以及对应的二进制地址。18、 dds 打印内存地址上的二进制值

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档