博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windbg学习----$$(注释说明符)和*(注释行说明符)和.echo
阅读量:5162 次
发布时间:2019-06-13

本文共 2570 字,大约阅读时间需要 8 分钟。

如果命令开头出现两个美元符号( $$ ),则该行剩下的部分被当成注释,除非碰到分号,$$ 关键字使得后面的文本被忽略掉,直到行末或者碰到分号。分号结束注释;分号后的文本被解析为标准的命令

如果命令开头带星号( * )字符,则行中剩下的部分被当成注释,即使中间有分号

0:000> r eax; $$ some text; r ebx; * more text; r ecxeax=00000000ebx=00000000
以下是显示eax,ebx,但不显示ecx

.echo命令显示注释字符串

.echo String 

.echo "String" 

1.两种形式都可以包含任意数量的空格,逗号,和单引号

0:000> .echo  hgy ,h'gyhgy ,h'gy0:000> .echo  "hgy ,h'gy"hgy ,h'gy
2.如果用双引号括起来,就可以包含分号,但不能包含其他双引号

0:000> .echo  "hgy ,h'gy"hgy ,h'gy0:000> .echo  "hgy ,h'gy;;"hgy ,h'gy;;0:000> .echo  "hgy ,h'gy;;""                         ^ Malformed string in '.echo  "hgy ,h'gy;;""'
3.如果不用双引号,可以在除了第一个字符的任意位置包含双引号(如果是第一个字符,那就成用双引号的表示形式了!),但是不能包含分号,分号是用来分隔.echo和后面命令的

0:000> .echo  hgy ,h'gy""hgy ,h'gy""0:000> .echo  hgy ,h'gy";"hgy ,h'gy"                         ^ Syntax error in '.echo  hgy ,h'gy";"'0:000> .echo  hgy ,h'gy"";hgy ,h'gy""
.echo 命令和 关键字以及 关键字不同,因为这些关键字会使得调试器忽略输入的文本而不会显示出来,而.echo会立即显示.

.echo可以用于条件语句中:

0:000> bu kernel32!LoadLibraryW "as /mu ${/v:$str} dwo(esp+4);.block{.if(1==$spat(@\"$str\", \"*mm*\")){.echo \"ok\";dds}.else{gc}}"breakpoint 0 redefined0:000> bl 0 e 7627ef42     0001 (0001)  0:**** kernel32!LoadLibraryW "as /mu ${/v:$str} dwo(esp+4);.block{.if(1==$spat(@\"$str\", \"*mm*\")){.echo \"ok\";dds}.else{gc}}" 2 e 014f418a     0001 (0001)  0:**** VerifyTxSignDemo!VerifyEmbeddedSignatureW+0xea0:000> g*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\COMCTL32.dll - ok7627ef42  8b55ff8b7627ef46  6a006aec7627ef4a  0875ff007627ef4e  ffffcce87627ef52  04c25dff7627ef56  909090007627ef5a  25ff90907627ef5e  76231b54 kernel32!_imp__FreeLibrary7627ef62  909090907627ef66  55ff8b907627ef6a  eb5dec8b7627ef6e  909090ed7627ef72  ff8b90907627ef76  5dec8b557627ef7a  909005eb7627ef7e  ff9090907627ef82  2318d4257627ef86  909090767627ef8a  25ff90907627ef8e  76231d1c kernel32!_imp__GetEnvironmentVariableW7627ef92  909090907627ef96  55ff8b907627ef9a  b70fec8b7627ef9e  c9330c457627efa2  0f084d397627efa6  ff2d73847627efaa  0fc13bff7627efae  ff2d6b847627efb2  ffff3dff7627efb6  0a7400007627efba  040c45f67627efbe  2d4d850feax=00000001 ebx=00000001 ecx=77da6833 edx=77c87094 esi=77da67cf edi=00000000eip=7627ef42 esp=001bf958 ebp=001bf978 iopl=0         nv up ei pl nz na po nccs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202kernel32!LoadLibraryW:7627ef42 8bff            mov     edi,edi0:000> du dwo(esp+4)750c4e00  "imm32.dll"

转载于:https://www.cnblogs.com/hgy413/archive/2013/06/13/3693412.html

你可能感兴趣的文章
KnockOut循环绑定
查看>>
Windows API封装:LoadLibrary/FreeLibrary
查看>>
web配置详解
查看>>
git+TortoiseGIT+github/码云
查看>>
解决Hibernate保存到数据时中文乱码问题
查看>>
跳转作业
查看>>
Hibernate简单实例
查看>>
ATL ActiveX全屏
查看>>
Linux下安装渗透测试框架Metasploit
查看>>
机器学习常见算法分类汇总
查看>>
Git——开启区分大小写
查看>>
使用jekyll在GitHub Pages上搭建个人博客【转】
查看>>
java之struts2的数据处理
查看>>
java之struts框架入门教程
查看>>
B. An express train to reveries(Round 418)
查看>>
不要逼孩子考100分
查看>>
Python(四)
查看>>
Symbols of String Pattern Matching
查看>>
如何判断一个人的能力
查看>>
【学习笔记】 狄利克雷与莫比乌斯
查看>>