阅读:1214回复:11
楚老师书中的代码?这样的代码行吗??
在sfread中用下面的代码行吗???????
{// while KEVENT waitEvent; KeInitializeEvent( &waitEvent, NotificationEvent, FALSE); IoCopyCurrentIrpStackLocationToNext(Irp); IoSetCompletionRoutine( Irp, SpyReadCompletion, &waitEvent, TRUE, TRUE, TRUE); Status = IoCallDriver(DevExt->NLExtHeader.AttachedToDeviceObject, Irp); if(STATUS_PENDING == Status) { Status = KeWaitForSingleObject( &waitEvent, Executive, KernelMode, FALSE, NULL); ASSERT(STATUS_PENDING == Status); } // 以上是等待读完成函数完成. // 以下是异或加密过程 Length = IrpSp->Parameters.Read.Length; if (Irp->MdlAddress) { OldBuffer = MmGetSystemAddressForMdl(Irp->MdlAddress); } else { OldBuffer = Irp->UserBuffer ; } { // by me NumofBlock = Length / FILE_BUFFER; if((Length % FILE_BUFFER) != 0) NumofBlock++; for(i = 0 ; i < NumofBlock; i++) { if(i == NumofBlock - 1) BlockLength = Length - i*FILE_BUFFER; else BlockLength = FILE_BUFFER; ilen = (i*FILE_BUFFER); for( j = 0; j < BlockLength; j++ ) *(((PCHAR)OldBuffer)+ilen+j) = *(((PCHAR) OldBuffer)+ilen+j) ^ 0XFF;// 异或 } } } while (FALSE); //Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); |
|
沙发#
发布于:2007-07-06 16:02
是不是很简单啊?
|
|
板凳#
发布于:2007-07-09 00:34
简单的解密方式,不知道行不行???
我只测试过txt文件,可以 |
|
地板#
发布于:2007-07-09 20:48
大文件测过没有?
比如大过10M的 |
|
|
地下室#
发布于:2007-07-09 20:50
|
|
|
5楼#
发布于:2007-07-10 09:54
email: zuhong_weng@yahoo.com.cn
多多联系啊,互相学习。。。 |
|
6楼#
发布于:2007-07-10 14:35
他说的当然上 楚狂人 楚大侠了
|
|
7楼#
发布于:2007-07-10 14:38
hehe,地球人都知道
可是,例程都没有的文字拿来作商业用途,是一个缺陷啊,楚老师是否应该。。。 |
|
8楼#
发布于:2007-07-10 15:34
|
|
|
9楼#
发布于:2007-07-11 14:40
>2M就蓝屏拉,哈哈
|
|
10楼#
发布于:2007-09-29 10:12
我是胡,谈不上老师,有问题尽管问,不知道的我就跟你说不知道
|
|
11楼#
发布于:2007-09-29 16:54
|
|