日期:2014-05-16 浏览次数:20531 次
解决Windows DdbPrint输出消息不全的方法——by 飞尘
widows的DbgPrint用于输出消息,但是它一次只能输出512字节。
因此,当做了个小驱动让它输出我的大名时,结果是这样的:
kd> g
load me
                                       ***       
          ***                          ***        
         *****                          ***        
        ******                          **         
      ********                          **    *    
     ********  *                       ***    **   
   ****** *** ***                    ** **   ****  
 ******* ***  ***                * ***  **  *****  
  *****  ***  ***               **** *  ** ****    
   ***   *** ***                ****  *******      
         *** ***                ****   *

既然它一次输出512字节,我们想让它完整地输出,就必须加一点
自己的动作了。
计算需要输出的缓冲区是512的N倍,分配相应的空间,复制到新
空间中去,循环输出每512字节即可。
结果如下:
kd> g
load me
                                       ***       
          ***                          ***        
         *****                          ***        
        ******                          **         
      ********                          **