微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当我加载我的filedisk驱动程序,我得到了ERROR_PROC_NOT_FOUND127错误代码

我想开发一个基于Filedisk-17 opensource项目的encryption虚拟磁盘 。

这是我的解决scheme:

在IPR_MJ_READ ,当ZwReadFile返回时,我使用函数DecryptData来解密ZwReadFile读取的数据。

在IPR_MJ_WRITE ,在调用ZwWriteFile之前,我使用函数“ EncryptData ”来encryption将要写入磁盘的数据。

为Windows开发自定义打印机驱动程序

Creative Ziio和android开发,adb

自动化Win32驱动程序testing

Wcsstr不区分大小写

如何写一个简单的USB驱动程序?

我把EncryptData & DecryptData函数放在一个C源文件中。

问题是; 当我加载我的驱动程序时,我得到每次ERROR_PROC_NOT_FOUND(127)错误代码,即使EncryptData或DecryptData函数中只有一行。

谁能告诉我是什么原因造成的以及如何解决

filedisk.c

switch (io_stack->MajorFunction) { case IRP_MJ_READ: system_buffer = (PUCHAR) MmGetSystemAddressForMdlSafe(irp->MdlAddress,normalPagePriority); if (system_buffer == NULL) { irp->IoStatus.Status = STATUS_INSUFFICIENT_RESOURCES; irp->IoStatus.@R_365_4045@ion = 0; break; } buffer = (PUCHAR) ExAllocatePool(PagedPool,io_stack->Parameters.Read.Length); if (buffer == NULL) { irp->IoStatus.Status = STATUS_INSUFFICIENT_RESOURCES; irp->IoStatus.@R_365_4045@ion = 0; break; } ZwReadFile( device_extension->file_handle,NULL,&irp->IoStatus,buffer,io_stack->Parameters.Read.Length,&io_stack->Parameters.Read.ByteOffset,NULL ); *if(bEncrypt) { cipher = (PUCHAR)ExAllocatePoolWithTag(NonPagedPool,irp->IoStatus.@R_365_4045@ion,'TAG'); if(cipher) { **DecryptData**(buffer,cipher,irp->IoStatus.@R_365_4045@ion); RtlcopyMemory(system_buffer,irp->IoStatus.@R_365_4045@ion); ExFreePool(cipher); } else { irp->IoStatus.Status = STATUS_INSUFFICIENT_RESOURCES; irp->IoStatus.@R_365_4045@ion = 0; break; } }* else { RtlcopyMemory(system_buffer,io_stack->Parameters.Read.Length); ExFreePool(buffer); }

crypto.c

VOID EncryptData(PUCHAR src,PUCHAR dst,ULONG length) { BF_LONG data[2]; BF_KEY key; BF_set_key(&key,pCrypto@R_365_4045@ion->CryptoKey,sizeof(pCrypto@R_365_4045@ion->CryptoKey)); } VOID DecryptData(PUCHAR src,sizeof(pCrypto@R_365_4045@ion->CryptoKey)); }

为什么没有Linux的DirectX API?

控制audio/videostream媒体服务器的stream

Ndis 5/6中级filter驱动程序

Windows驱动可以用Python编写吗?

你能推荐一个适合新手的有趣的驱动程序吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐