《格蠹汇编》-第1章笔记
《格蠹汇编》
《格蠹汇编》-第1章笔记
烈火
2013-05-24, 23:30 下午
第一章 从堆里抢救丢失的博客
讲述内容:如何在内存中搜索数据
使用命令:
lm
列出进程使用的模块
~
列出该进程的所有线程
!heap
列出堆信息
!address
列出用户态空间所有区域
这个命令显示内容似乎随着版本不同有所变化,我所使用的6.2.9200显示的格式就与书中的不太一样。而且汇总功能需要加参数-summary。
s -u 10000 L8000000 "当年在交大"
s 搜索内存命令
-u 指定搜索类型为Unicode字符串
10000 搜索的起始地址,16进制。使用这个地址可能是因为在这个例子中,10000以前的地址都没有使用(free)。
L8000000 搜索的范围,16进制。需要注意的是它的单位是根据搜索的对象类型而变化,可以是字节、字、双字、四字。在本例中由于使用Unicode类型(似乎是使用UTF-16),长度为2个字节,所以实际范围是8000000x2=256MB。
ew 02c9ffcc
eb 001b5942-8 ff fe
e命令为内存编辑命令。
eb 按字节写入
001b5942-8 写入的起始地址。基地址+(-)偏移量
ff fe 写入的内容。如果忽略不写的话,WinDBG会启用交互式输入。(这个一试便知)
.writemem c:\gedu\blog.txt 001b5942-8 L1458
把内存内容写入文件。
L1458 长度。以字节为单位。其实本例中精确长度为 1b6d82+e - 1b5942 + 8 = 1456。