首页
社区
课程
招聘
写了个小的 WinDbg 脚本,可以显示 SSDT
发表于: 2006-10-29 14:45 16206

写了个小的 WinDbg 脚本,可以显示 SSDT

2006-10-29 14:45
16206
$$ ntcall Script v0.1
$$ by 小喂 2006.10.29

aS ufLinkS "<u><col fg=\\\"emphfg\\\"><link name=\\\"%x\\\" cmd=\\\"uf 0x%x\\\">";
aS ufLinkE "</link></col></u>";

r $t1 = nt!KeServiceDescriptorTable;
r $t2 = poi(@$t1 + 8);
r $t1 = poi(@$t1);

.printf "\nOrd   Address   fnAddr   Symbols\n";
.printf "--------------------------------\n\n";

.for (r $t0 = 0; @$t0 != @$t2; r $t0 = @$t0 + 1)
{
    r $t3 = poi(@$t1);
    .printf /D "[%3d] %X: ${ufLinkS}%X${ufLinkE} (%y)\n", @$t0, @$t1, @$t3, @$t3, @$t3, @$t3;
    r $t1 = @$t1 + 4;
}

.printf "\n- end -\n";

ad ufLinkS;
ad ufLinkE;


点击链接会完整反汇编具体某个函数。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 7
支持
分享
最新回复 (12)
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
2
学习+收藏!
2006-10-29 14:53
0
雪    币: 44229
活跃值: (19960)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
欢迎小喂,论坛需要新鲜血液注入
2006-10-29 15:00
0
雪    币: 191
活跃值: (41)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
这个脚本里面用到了 WinDbg v6.6.7.5 版本引入的 Debugger markup language(DML),看了一点文档,还不会用,期待高手关于 WinDbg 的文章。
2006-10-29 15:24
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
5
诡异的语法
2006-10-29 16:41
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
6
aS ufLinkS "<u><col fg=\\\"emphfg\\\"><link name=\\\"%x\\\" cmd=\\\"uf 0x%x\\\">";
aS ufLinkE "</link></col></u>";

相当于VB的DIM UFLINKS,UFLINKE AS STRING
UfLINKs=<u><col fg="emphfg"><link name="%x" cmd="uf 0x%x">
ufLinke=</link></col></u>

这样就好理解多了,主要在""里面使用",需要在前面加\.UF是WINDBG的指令,汇编整个函数

按照楼主的思路,说不定也能用WINDBG的LOG读写功能来生成一个HTML的报告文件

原来还有Debugger markup language(DML),我之前发的教学看来要误导新手了,先去找文档学习一下,看看能不能写些实例
2006-10-30 11:34
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
7
在GOOGLE和MSDN搜索了一下。用了Debugger markup language和DML关键字。除了查到DML=data manipulation language (在MSDN中查到跟SQL有关的,一大堆)之外。。还查到一个网站,里面似乎有相关文章,但是收钱的。。。请问楼主能不能给出文档相关连接?

http://www.1bit.com.br/content.1bit/weblog/windbg_dml
我只找到这个。。。还不知道是哪国的文字。。

http://www.priorartdatabase.com/IPCOM/000136606/
这个似乎是卖文章的。。
2006-10-30 15:16
0
雪    币: 1695
活跃值: (993)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个东西不错,学习
2006-10-30 16:01
0
雪    币: 214
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
最初由 笨笨雄 发布
在GOOGLE和MSDN搜索了一下。用了Debugger markup language和DML关键字。除了查到DML=data manipulation language (在MSDN中查到跟SQL有关的,一大堆)之外。。还查到一个网站,里面似乎有相关文章,但是收钱的。。。请问楼主能不能给出文档相关连接?

http://www.1bit.com.br/content.1bit/weblog/windbg_dml
我只找到这个。。。还不知道是哪国的文字。。

........

windbg根目录下的dml.doc。
2006-10-30 16:13
0
雪    币: 191
活跃值: (41)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
10
最初由 笨笨雄 发布
在GOOGLE和MSDN搜索了一下。用了Debugger markup language和DML关键字。除了查到DML=data manipulation language (在MSDN中查到跟SQL有关的,一大堆)之外。。还查到一个网站,里面似乎有相关文章,但是收钱的。。。请问楼主能不能给出文档相关连接?

http://www.1bit.com.br/content.1bit/weblog/windbg_dml
我只找到这个。。。还不知道是哪国的文字。。

........

我也是看了 WinDbg 目录下的 dml.doc。你搜到的链接里面好像也是啊!
2006-10-30 19:57
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
11
谢谢楼上两位拉

我的观察不够仔细



我试试能不能把它翻译了,方便大家看
2006-10-30 21:19
0
雪    币: 191
活跃值: (41)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
12
最初由 笨笨雄 发布
谢谢楼上两位拉

我的观察不够仔细


........

绝对支持
2006-10-30 21:57
0
雪    币: 114
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
Connected to Windows 2000 2195 x86 compatible target, ptr64 FALSE
Kernel Debugger connection established.  (Initial Breakpoint requested)
Symbol search path is: srv*d:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 2000 Kernel Version 2195 UP Free x86 compatible
Kernel base = 0x80400000 PsLoadedModuleList = 0x8046e8f0

kd> db nt!KeServiceDescriptorTable
8047cb60  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
8047cb70  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
8047cb80  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
8047cb90  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................

系统服务描述表怎么是空的?
2007-3-7 17:15
0
游客
登录 | 注册 方可回帖
返回
//