ks12345
驱动小牛
驱动小牛
  • 注册日期2006-09-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望223点
  • 贡献值0点
  • 好评度189点
  • 原创分0分
  • 专家分0分
阅读:1528回复:6

什么操作会引起不确定进程 CPU 100%?

楼主#
更多 发布于:2007-07-03 10:02
我写了个驱动,配合 DLL 恢复 SSDT 和 SSDT Shadow。
SSDT 的地址通过 90210 的改进方法获取。
SSDT Shadow 地址通过分析 PE 格式偏移获取。

最近发现在双核的机器上,只要调用了驱动,即使还原了表,也会导致系统当机,总是有两个进程分别占掉 50% 的 CPU,杀掉还有别的进程顶上 ——;
Thinking
ks12345
驱动小牛
驱动小牛
  • 注册日期2006-09-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望223点
  • 贡献值0点
  • 好评度189点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-03 10:05
在同事的单核 CPU 也存在这种情况,总有一个进程 CPU 100%,,,,他的是克隆版的windows XP。。
Thinking
qiangguo64
驱动牛犊
驱动牛犊
  • 注册日期2005-01-12
  • 最后登录2009-08-28
  • 粉丝0
  • 关注0
  • 积分144分
  • 威望15点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-03 13:37
用调试工具看一看到底在哪儿死循环
ks12345
驱动小牛
驱动小牛
  • 注册日期2006-09-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望223点
  • 贡献值0点
  • 好评度189点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-07-03 15:34
偶就是不太会调试工具,,而且 softICE 经常装了用不了,,,汗~~

用什么调试工具好呢?
Thinking
ks12345
驱动小牛
驱动小牛
  • 注册日期2006-09-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望223点
  • 贡献值0点
  • 好评度189点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-07-04 11:05
有一次恰好一个进程死,双核还有 50% 的 CPU可以用,发现 csrss.exe 的一个线程死在 winsrv.dll + 0x1b84 的地方。。。。
Thinking
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
5楼#
发布于:2007-07-04 19:54
估计是处理做的有问题~
没有战争就没有进步 X3工作组 为您提供最好的军火
ks12345
驱动小牛
驱动小牛
  • 注册日期2006-09-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望223点
  • 贡献值0点
  • 好评度189点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-07-05 10:15
V 大好!

以前版本的驱动没有这个 BUG,出错版本的改变有:
1,在 DLL 中通过改进的 90210 方法获取 SSDT 原始地址。
2,直接调用了 SSDT 原始地址的整套注册表函数。(以前版本通过系统工作者线程调用)
3,各 SSDT 表的备份使用了动态分配的 NonPagedPool 内存。(以前版本静态数组)
Thinking
游客

返回顶部