峥嵘岁月

joshua_yu的网络空间

用户操作
[即时聊天] [发私信] [加为好友]
joshuaID:joshua_yu
106406次访问,排名851好友6人,关注者16
人生总有些阶段,新的起点,新的心情,没有好也没有坏,生活总是辩证而真实地存在,感谢所有人!
joshua_yu的文章
原创 44 篇
翻译 2 篇
转载 42 篇
评论 32 篇
joshua的公告
联系方式: QQ:404271575 MSN:joshua_yu@263.net
最近评论
TE:安高科技:http://www.amgotech.com
bluehouse1985:Linux 环境下的多核调试
— Intel + Totalview 强强联合!
目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Total……
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
wBlf_www:请问我在过滤函数中截获所有收发数据包,会否有漏包的现象,我发现通过web发邮件,截获的数据不能恢复出邮件发出的状态(邮件包括内容和多个附件)。
wBlf_www:请问我在过滤函数中截获所有收发数据包,会否有漏包的现象,我发现通过web发邮件,截获的数据不能恢复出邮件发出的状态(邮件包括内容和多个附件)。
文章分类
收藏
    相册
    08年第一期儿子照片
    过年
    交大新面貌
    我的可爱儿子
    周末烧烤之众生相
    关注的Blog
    EVA的回收站
    joyfire的space
    Kendiv的专栏
    PJF的Blog
    WebCrazy的Blog
    孟言的blog
    野路子(http://wulujia.com)
    铁卷大成天下
    网络收藏夹
    China CISSP论坛(文档保护)
    China Uniix
    developerWorks Linux 专栏
    docshow
    linux伊甸园
    OSR在线论坛
    PKI论坛
    reactos
    rootkit论坛
    Sysinternals论坛
    中国Linux公社
    中国Linux论坛
    协议分析网论坛
    安全焦点
    看雪技术学院论坛
    驱动开发网
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 用SoftICE调试DriverEntry收藏

    新一篇: Windows内核调试器原理浅析 | 旧一篇: 利用VMWare构建SoftICE调试环境

    在做Windows内核驱动程序调试的时候,经常遇到需要以Boot模式启动的驱动程序,虽然将内核调试器SoftICE的启动模式设置为Boot(早期Boot)时能够拦截到驱动程序的DriverEntry执行入口(不过据我的经验,好像并不能成功的拦截到DriverEntry,而需要将INT 3中断硬编码到驱动程序中,不过不管怎样,总有办法让程序停在DriverEntry的入口处),但是此时看到的调试界面全部都是汇编模式,对于象我这样对汇编语言不熟悉的人来说,调试这样的程序成为一种痛苦。

    不过,SoftICE调试工具提供了一种称为符号驱动程序(Siwsym)的东东,也就是将我们希望源码调试的驱动程序的符号文件*.NMS加载到这个驱动程序当中,即可以实现在系统Boot阶段对驱动程序的源码级调试。

    1.安装Siwsym

    为了那些boot模式驱动程序的开发人员调试DriverEntry,开发了一个SoftICE符号驱动程序(SIWSYM,SoftICE Symbol Driver )。这个驱动程序在操作系统boot过程中早于SoftICE加载,这个驱动程序包含了一个可以丢弃的INIT段,这个段包含了一些SoftICE需要使用的文件的内存映像。

    当SoftICE启动时,它定位SIWSYM驱动程序并且申请文件映象表的地址。只要SoftICE需要打开文件,它将首先检查包含在SIWSYM文件映像区所包含的文件。如果文件存在,SoftICE将使用这个文件在内存中的拷贝,如果文件不在SIWSYM文件映像区,SoftICE将会利用标准的方式请求文件访问。

    如果需要安装SIWSYM,则首先需要将siwsym.sys从ntice的安装目录拷贝到你的系统目录:%SystemRoot%\System32\Drivers。然后将下面的文本保存成.reg注册表格式文件:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Siwsym]
    "Type"=dword:00000001
    "Group"="NTICE"
    "ErrorControl"=dword:00000001
    "Start"=dword:00000000
    "Tag"=dword:00000001

    对于W2K系统,Group项的值应该为"System"而不是"NTICE"

    并将该注册表项导入注册表。然后需要修改服务组顺序(service group order),插入NTICE组到下面注册表键值的“List”项的最前面:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder

    2.运行icepack.exe and reboot.

    SoftICE通过命令行程序所需要的文件是通过ICEPACK.EXE加入SIWSYM驱动程序中的。这个工具在SoftICE的安装目录下面,该工具将自动的载入SoftICE需要的文件,例如WINICE.DAT和所有被这个文件引用的文件(在LOAD=和EXP=行)。注意,一定要保留足够的符号文件缓冲区空间,另外,如果你修改了驱动程序的符号文件或者源文件,一定要重新运行这个程序以保证SIWSYM.SYS的同步更新!

    3.实例

    例如,你想在SoftICE初始化的时候加载MySys.sys驱动程序的符号文件MySys.nms,则需要在SoftICE的符号加载器Loader32.exe的配置界面中做如下配置:

    Edit -> SoftICE Initialization Settings... -> Symbols中将你的MySys.nms添加进去,并且增加符号缓冲区的大小,因为带源码的符号文件NMS一般都比较大,然后运行icepack.exe,重启系统,这样你就可以在系统Boot阶段对驱动程序做源码级的调试了。如果你修改了源码并且重新生成了MySys.nms文件,不要忘了再次运行icepack.exe进行同步更新。

    发表于 @ 2006年02月04日 17:33:00|评论(loading...)|编辑|收藏

    新一篇: Windows内核调试器原理浅析 | 旧一篇: 利用VMWare构建SoftICE调试环境

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © joshua