请教张老师,关于内核重载后的线程创建。
Windows内核调试
请教张老师,关于内核重载后的线程创建。
古典概型
2013-05-05, 13:04 下午
第一次发帖。。。话说怎么插入图片?
问题产生的前提/环境(XP/32BIT):
我重载了ntoskrnl.sys和win32k.sys,并inline hook了pspcreatethread,成功将_KTHREAD
::
ServiceTable调整为新加载的内核的服务表。
问题情况1:
以OllyIce为例,该程序在未加载驱动时,将产生两个线程,如:
TID .... Start Address
608 OllyIce.exe+0x1000
1040 LoadDll.dll +0x108d
在加载该驱动后,OllyIce只能产生一个线程,如:
TID .... Start Address
608 OllyIce.exe+0x1000
不过OllyIce在加载驱动后可以正常启动。
问题情况2:procexp.exe,界面显示,但是极短时间将以某处内存不可写的错误崩溃。
调试发现该进程的_EPROCESS::ActiveThread为8。。。
请教张老师,能否根据您的经验对这两种情况出现的原因做一下判断
Re: 请教张老师,关于内核重载后的线程创建。
格蠹老雷
2013-05-05, 22:23 下午
软件的行为千变万化,一向不喜欢“猜”,挂调试器看就是了...
Re: 请教张老师,关于内核重载后的线程创建。
古典概型
2013-05-05, 23:26 下午
好吧....我试试,可惜我调试的技术实在是比较差劲...试试吧