02 - Machine to Machine - 自动化WinDBG分析过程

挖坑,说不定哪天心血来潮不填了呢。

既然我们有了源源不断的DUMP,那么再找个方法自动看一看,这种事肯定不能是人工去做,人工的话,这得搭上我所有的时间,还不如让我老老实实对着IDA一个个函数去逆向呢。

Windbg其实是cdb的GUI版本。使用cdb,应该可以达到同样的效果。cdb位于Windows SDK Debugging Tools目录下。

使用cdb -y SymbolPath -i ImagePath -z DumpFileName可以打开dump文件,然后就和windbg的操作一模一样了。

cdb.png

那这还得手动操作啊,如何自动化?简单,使用管道。linux下大家已经玩的熟练了,类似ps aux|grep xx,在windows也是一样。 echo .ecxr;k;| cdb -z C:\xx.dmp 试一试?你会惊奇的发现,连.detach都不需要。分析完,程序就退了。留下一屏幕的分析结果。

有了这个管道信息,剩余的大家也都明白,要不就读( ReadConsoleOutput or GetStdHandle + GetConsoleScreenBufferInfo whatever)一下这里输出的东西,要不就使用输出重定向>>

echo .ecxr;k;| cdb -z C:\xx.dmp >> c:\a.txt
more c:\a.txt

这样一切都搞定了(上面只是例子,注意权限。c:\根目录不一定写的进去)。

这是要做什么?下一章再说吧。在下一章开始之前,我们再简单修改一下语句

.foreach(place {s -[1]u 0 L?80000000 "http"}){du /c100 ${place}}

这样,我们看起来是不是清爽多了?所有字符都在一行了。

0:012> .foreach(place {s -[1]u 0 L?80000000 "http"}){du /c100 ${place}}
0080dc9c  "https://fonts.googleapis.com/css?family=PT+Sans"
00815c24  "http://***.com/includes/js/virtualpaginate.js"
00815e82  "http://***.com/download.php?id=584CE4A51..."

接下来,将所有内容输出。到文件也好,到你的自动化处理程序也好,这都是我们下一篇文章要说的事情了。

(作者 blast,CH 02 完)

标签:none

添加新评论

captcha
请输入验证码