学数学!

科学家都是数学家
 
数学是自然科学的根本
 
我得学数学了,tmd三角函数都要忘了

奇怪声卡故障的解决办法

今晚装错了显卡驱动导致BSOD,重启之后声卡光驱都罢工了!
 
删除光驱声卡之后,扫描硬件改动,Windows发现硬件并安装了驱动,重启之后,光驱正常了可声卡依然是哑巴!上网找到最新的Sb Live!驱动,安装之后依然无声,设备管理器里面一个问号和惊叹号都没有,但是声卡设备上面写着:驱动程序已启用但尚未开始使用
 
ft……下面是解决办法:
进入控制台(run cmd.exe)
 
cd
md c:tempa
cd tempa
copy %windir%infmachine.inf .
copy %windir%system32driversswenum.sys .
copy %windir%system32streamci.dll .
 
然后编辑machine.inf,在第20行下
[ControlFlags]
ExcludeFromSelect=*
 
删除ExcludeFromSelect=*
 
在控制面版用添加新硬件功能选从磁盘安装:选tempa文件夹中的allmachine.inf
选择标准设备中的:plug and play software device enumerator 这个驱动,最后重新安装声卡驱动,声音回来了!

MMX写的memcpy测试

由于性能上的需要,不得不用MMX来优化速度
由于之前只是学过MMX,没实际写过,就从网上google了一下……
以“mmx 内存拷贝”为关键字,找到很多文章,都是互相抄的,例如第一个结果:
 
【内存拷贝的优化方法】
内存拷贝的优化方法. [本页面推荐在1024×768分辩率下浏览] 文章类别:Visual C++.
恩……看起来不错,于是我就复制下来,结果不能用,bug阿bug……晕倒!
 
看来国人抄袭的水平见涨,真本事倒不见得有什么进步,只好自己修改一下了!文章里面是nsam,我把它改成了Visual C++的内联汇编同时改正了bug,添加了必要的指令,就是下面这样,有兴趣的朋友可以和原来的代码比较一下:
 
void _fast_memcpy6(void* dst, void* src, int len)
{
 _asm
 {
  push esi
  push edi
  push edx
  mov esi, [src] ; source array
  mov edi, [dst] ; destination array
  mov ecx, [len] ; number of QWORDS (8 bytes) assumes len / CACHEBLOCK is an integer
  shr ecx, 6
  mov edx, 0
  nop;lea esi, [esi+ecx*8] ; end of source
  nop;lea edi, [edi+ecx*8] ; end of destination
  neg ecx ; use a negative offset as a combo pointer-and-loop-counter
  
copyloop:
  movq mm0, [esi+edx*8]
  movq mm1, [esi+edx*8+8]
  movq mm2, [esi+edx*8+16]
  movq mm3, [esi+edx*8+24]
  movq mm4, [esi+edx*8+32]
  movq mm5, [esi+edx*8+40]
  movq mm6, [esi+edx*8+48]
  movq mm7, [esi+edx*8+56]
  movq [edi+edx*8], mm0
  movq [edi+edx*8+8], mm1
  movq [edi+edx*8+16], mm2
  movq [edi+edx*8+24], mm3
  movq [edi+edx*8+32], mm4
  movq [edi+edx*8+40], mm5
  movq [edi+edx*8+48], mm6
  movq [edi+edx*8+56], mm7
  add edx, 8
  add ecx, 1
  jnz copyloop
  emms
 
  pop edx
  pop edi
  pop esi
 }
}
实际结果却没有那么令人振奋,用Visual C++自带的memcpy,复制256000字节,速度大约是
QueryPerformanceFrequency 3579545
QueryPerformanceCounter Before 84359650011
QueryPerformanceCounter After 84359651509 (delta 1500)
 
用这个MMX的,速度大约是
QueryPerformanceFrequency 3579545
QueryPerformanceCounter Before 84503893730
QueryPerformanceCounter After 84503894930 (delta 1200)
 
也就是有20%左右的提高

Windows 安全性编程

今天买了一本《Windows 安全性编程》
 
说实话,讲 Windows 安全体系的书很少,我只听某前辈介绍过的一本《Programming Server Side Applications》中的某一章讨论过这个话题。而这本《Windows 安全性编程》(中国电力出版社)是我见过的唯一一本全面讲解Windows安全体系的中文版图书,毫不犹豫就买下来了,而且其价格也不到40元。
 
看看目录:
第1章角色
第2章环境
第3章执行
第4章登录会话
第5章窗口工作站和描述文件
第6章访问控制和权限
第7章网络认证
第8章文件服务器
第9章COM(+)
第10章Internet消息服务器
 

不就是连蓝4道么

昨晚研究挂Ring 0 API Hook,由于以前只做过Ring 3的API Hook,所以有点不适应。
 
– -b 内核里面写代码果然BT,因为字符串的问题连蓝4道,由于设置上的关系SoftICE都没拦下来!
不过今天请教了大牛,晚上回家继续研究。
 
CNNIC中文上网你丫洗干净脖子等我吧!

猫猪 2006

今天把儿子扔卫生间洗了,白白净净
 
欧也~~
 
新版本猫猪2006诞生