lavenders
驱动牛犊
驱动牛犊
  • 注册日期2005-08-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分495分
  • 威望54点
  • 贡献值0点
  • 好评度43点
  • 原创分0分
  • 专家分0分
阅读:1373回复:3

tooflat加密代码里,SfEncryptDecryptFileByFileObject在哪定义

楼主#
更多 发布于:2007-04-25 09:08
  我是个新手,看了tooflat的代码,加密似乎是在SfEncryptDecryptFileByFileObject里做的,
但这个函数在sfilter.c里没有实现,好像在ifs里也没有?有些奇怪。请指教,谢谢!
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
沙发#
发布于:2007-04-25 09:34
Re:tooflat加密代码里,SfEncryptDecryptFileByFileObj
下载的代码估计有缺失!

NTSTATUS
SfEncryptDecryptFileByFileObject(
    IN PDEVICE_OBJECT DeviceObject,
    IN PFILE_OBJECT FileObject
    )
{
    IO_STATUS_BLOCK IoStatus = {0};
    NTSTATUS Status;
    UCHAR Buffer[512] = {'\0'};
    LARGE_INTEGER ByteOffset;
    ULONG Offset = 0;
    BOOLEAN EndOfFile = FALSE;

    ByteOffset.QuadPart = 0;

    while (TRUE)
    {
        IoStatus.Status = STATUS_SUCCESS;
        IoStatus.Information = 0;

        Status = SfIssueReadWriteIrpSynchronously(
            DeviceObject,
            FileObject,
            IRP_MJ_READ,
            &IoStatus,    
            Buffer,
            sizeof(Buffer),
            &ByteOffset,
            0
            );
        if (!NT_SUCCESS(Status))
        {
            if (STATUS_END_OF_FILE == Status)
                Status = STATUS_SUCCESS;

            break;
        }

        if (0 == IoStatus.Information)
            break;

        if (IoStatus.Information < sizeof(Buffer))
            EndOfFile = TRUE;

        Status = SfIssueReadWriteIrpSynchronously(
            DeviceObject,
            FileObject,
            IRP_MJ_WRITE,
            &IoStatus,    
            Buffer,
            IoStatus.Information,
            &ByteOffset,
            0
            );
        if (!NT_SUCCESS(Status))
        {
            if (STATUS_END_OF_FILE == Status)
                Status = STATUS_SUCCESS;

            break;
        }

        if (EndOfFile)
            break;

        ByteOffset.QuadPart += sizeof(Buffer);
    }

    return Status;
}
人总在矛盾中徘徊。。。
strpic
驱动小牛
驱动小牛
  • 注册日期2006-11-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望238点
  • 贡献值0点
  • 好评度156点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-04-25 10:56
下载个全的,置顶帖子里就有。
lavenders
驱动牛犊
驱动牛犊
  • 注册日期2005-08-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分495分
  • 威望54点
  • 贡献值0点
  • 好评度43点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-04-25 14:38
thank you very much.
I re-downloaded the file and it seems well
游客

返回顶部