50.windbg-.foreach循环输入(windbg script)
来源:互联网 发布:帝国cms文章模板 编辑:程序博客网 时间:2024/05/16 19:06
.foreach
.foreach 关键字分析一个或多个命令的输出并将该输出中每一个值作为另一个或多个命令的输入
.foreach [Options] /s ( Variable "InString" ) { OutCommands }
.foreach [Options] /f ( Variable "InFile" ) { OutCommands }
Options
可以是下面选项的任意组合:
/pS InitialSkipNumber
使得开头的一些符号被跳过。InitialSkipNumber 指定不传递给OutCommands 的输出关键字的数量。
/ps SkipNumber
每次执行命令时都会跳过一些符号。每次将符号传递给OutCommands 之后,SkipNumber 个数的符号都会被忽略
我们首先搜索下带字符T的地址有哪些:
0:000> s -[1]a 0029eeec L1000 "T"0x0029eefb0x0029ef030x0029ef0b0x0029ef150x0029f0340x0029f06a0x0029f07a0x0029f08a0x0029f09e0x0029f3560x0029f7f00x0029f9890x0029fa50
然后我们用.foreach把它们da出来
0:000> .foreach(place{s -[1]a 0029eeec L1000 "T"}){da ${place}} ^ Syntax error in '.foreach(place{s -[1]a 0029eeec L1000 "T"}){da ${place}}'0:000> .foreach(place {s -[1]a 0029eeec L1000 "T"}){da ${place}}0029eefb "Tencent\TSVulFw\TSVulFW.DAT"0029ef03 "TSVulFw\TSVulFW.DAT"0029ef0b "TSVulFW.DAT"0029ef15 "T"0029f034 "T"0029f06a "T"0029f07a "T"0029f08a "T"0029f09e "T"0029f356 "TxSignDemo"0029f7f0 "T.)"0029f989 "Ti.."0029fa50 "T.)"
注意place和{之间必须有空格!
现在从第三个开始,每隔一个显示一个:0:000> .foreach/pS3 /ps1(place {s -[1]a 0029eeec L1000 "T"}){da ${place}}0029ef15 "T"0029f06a "T"0029f08a "T"0029f356 "TxSignDemo"0029f989 "Ti.."
InFile
和/f 一起使用。指定要解析的文本文件;结果会传递给OutCommands 。文件名InFile 必须用引号括起来我们在C盘建立个2.txt,内容为:
0x0029eefb0x0029ef030x0029ef0b0x0029ef150x0029f0340x0029f06a0x0029f07a0x0029f08a0x0029f09e0x0029f3560x0029f7f00x0029f9890x0029fa50
运行命令:
0:000> .foreach/f (place "c:\2.txt"){da ${place}}0029eefb "Tencent\TSVulFw\TSVulFW.DAT"0029ef03 "TSVulFw\TSVulFW.DAT"0029ef0b "TSVulFW.DAT"0029ef15 "T"0029f034 "T"0029f06a "T"0029f07a "T"0029f08a "T"0029f09e "T"0029f356 "TxSignDemo"0029f7f0 "T.)"0029f989 "Ti.."0029fa50 "T.)"
当InCommands 的输出、InString 字符串或InFile 被解析时,任何数量的空格、tab符或回车都将会被当作单个分隔符。文本被分隔成的小片段被用来替换OutCommands 中的Variable
和/s 一起使用。指定一个要解析的字符串;结果会传递给OutCommands
0:000> .foreach/s (place "0029ef03;0029ef0b"){da ${place} }0029ef03 "TSVulFw\TSVulFW.DAT" ^ Syntax error in 'da 0029ef03;0029ef0b '0:000> .foreach/s (place "0029ef03 0029ef0b"){da ${place}}0029ef03 "TSVulFw\TSVulFW.DAT"0029ef0b "TSVulFW.DAT"
所以,只是把空格,tab当成分隔符,不是分号!此原则适用于string和file
- 50.windbg-.foreach循环输入(windbg script)
- WINDBG Script简易教程
- 8.windbg script-.cmdtree
- 46.windbg-条件断点(windbg script)
- 46.windbg-条件断点(windbg script)
- WinDBG
- windbg
- WINDBG
- windbg
- WinDBG
- WinDbg
- WinDbg
- Windbg
- WinDBG
- WinDbg
- WinDBG
- windbg
- WinDbg
- UVAlive 6040 Stop Growing! 解题报告
- 如何在项目中正确添加汇编代码
- 黑马程序员--网络编程(一)
- iOS cocos2d-X之游戏开发环境搭建(一)
- 王家林“云计算分布式大数据Hadoop实战高手之路---从零开始”的第一讲Hadoop图文训练课程:10分钟理解云计算分布式大数据处理框架Hadoop
- 50.windbg-.foreach循环输入(windbg script)
- Got fatal error 1236 from master when reading data from binary log
- UVALive 6044 Unique Path 解题报告
- XP硬盘读写速度很慢的解决方法
- VMware Workstation 9.0.2 Build 1031769 完整汉化注册版
- 程序员的七个坏习惯
- LevelDb日知录之七:读取记录
- 大学所做项目总结
- JexcelApi和POI导入Excel日期识别成数字的解决方案