Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

Windows内核调试

帖子发起人: xiaozhaoa   发起时间: 2011-02-22 15:43 下午   回复: 4

Print Search
帖子排序:    
   2011-02-22, 15:43 下午
xiaozhaoa 离线,最后访问时间: 2011/2/22 7:40:09 xiaozhaoa

发帖数前500位
注册: 2011-02-22
发 贴: 2
求助 关于 修改win32k.sys内存空间蓝屏?
Reply Quote
求问  
 我提升了irq 的等级(KeRaiseIrqlToDpcLevel) 和  关闭了系统内存保护(cli。。) 
为什么 总是蓝屏。  
蓝屏部分代码
DRIVER_IRQL_NOT_LESS_OR_EQUAL
****stop:0x000000D1(0xBF990A48,0x00000FF,0x00000001,0xb20b9504)
貌似意思就是写内存出错的;

请问如何 做   才能hook写入这个地址数据 ?
这块代码在win32k.sys 内


部分dump代码
------------------------------------------------------------------------------------------
CURRENT_IRQL:  ff

FAULTING_IP:
test+504
b1d7d504 c70220d5d7b1    mov     dword ptr [edx],offset test+0x520 (b1d7d520)

CUSTOMER_CRASH_COUNT:  1

DEFAULT_BUCKET_ID:  DRIVER_FAULT

BUGCHECK_STR:  0xD1

LAST_CONTROL_TRANSFER:  from 80582377 to b1d7d504

STACK_TEXT: 
WARNING: Stack unwind information not available. Following frames may be wrong.
f7d7bc84 80582377 824eff38 822d4000 00000000 test+0x504
f7d7bd54 80582487 8000059c 00000001 00000000 nt+0xaa377
f7d7bd7c 8053979d 8000059c 00000000 829b33c8 nt+0xaa487
f7d7bdac 805d0f62 f75b7cf4 00000000 00000000 nt+0x6179d
f7d7bddc 8054712e 805396ae 00000001 00000000 nt+0xf8f62
00000000 00000000 00000000 00000000 00000000 nt+0x6f12e


STACK_COMMAND:  kb

FOLLOWUP_IP:
test+504
b1d7d504 c70220d5d7b1    mov     dword ptr [edx],offset test+0x520 (b1d7d520)
///这个 edx就是  win32k.sys的地址, 我想修改i  总是蓝屏
SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  test+504

FOLLOWUP_NAME:  MachineOwner

IMAGE_NAME:  test.sys

BUCKET_ID:  WRONG_SYMBOLS

Followup: MachineOwner


IP 地址: 已记录   报告
   2011-02-22, 16:25 下午
WANGyu 离线,最后访问时间: 2012/9/10 3:34:00 王宇

发帖数前10位
男
注册: 2007-05-08
发 贴: 306
Re: 求助 关于 修改win32k.sys内存空间蓝屏?
Reply Quote
MmProbeAndLockPages 一下。
另外建议把 mov 改成 InterlockedExchange / InterlockedExchangePointer 的 xchg。
IP 地址: 已记录   报告
   2011-02-23, 18:14 下午
mmyaom 离线,最后访问时间: 2011/2/23 10:43:11 vitamin

发帖数前200位
注册: 2010-09-17
发 贴: 5
Re: 求助 关于 修改win32k.sys内存空间蓝屏?
Reply Quote

因为win32k.sy并不是每个进程空间都可以访问的,楼主可以尝试一下在system进程db win32k.sy模块的数据,会发现不能访问。

一般的做法是attach到csrss进程中再进行读写hook


IP 地址: 已记录   报告
   2011-02-23, 21:48 下午
xiaozhaoa 离线,最后访问时间: 2011/2/22 7:40:09 xiaozhaoa

发帖数前500位
注册: 2011-02-22
发 贴: 2
Re: 求助 关于 修改win32k.sys内存空间蓝屏?
Reply Quote
谢谢楼上2位的提醒。问题已经解决。  AttachProcess进  csrss.exe进程 以后再操作 解决了。

IP 地址: 已记录   报告
   2011-02-24, 10:38 上午
WANGyu 离线,最后访问时间: 2012/9/10 3:34:00 王宇

发帖数前10位
男
注册: 2007-05-08
发 贴: 306
Re: 求助 关于 修改win32k.sys内存空间蓝屏?
Reply Quote
呃.. 比较山寨,不建议在产品级代码里这么写,比如 Attach 的时候是否获取了 RundownProtect 等?

呃.. 算了 never mind..
IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » Re: 求助 关于 修改win32k.sys内存空间蓝屏?

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.