ander5115
驱动牛犊
驱动牛犊
  • 注册日期2009-12-23
  • 最后登录2012-08-17
  • 粉丝6
  • 关注3
  • 积分76分
  • 威望681点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
40楼#
发布于:2010-08-07 12:27
Re:回 62楼(ander5115) 的帖子
引用第89楼Lynnre于2010-07-31 09:49发表的 回 62楼(ander5115) 的帖子 :
你好!我在你的程序中加入了CTR模式的DES算法,启动服务后新建文件,保存时会提醒“提供给请求操作的用户缓冲区无效”,从而无法保存文件。选择不保存,关闭服务后发现文件头写入了。还有就是,我想把密钥导出存到移动介质中,需要使用通信端口与应用层的程序通信。我先把你的通信端口给注释掉,测试,发现对文件的操作没被驱动拦截。因为接触驱动开发不多,对这些问题都很困惑,希望得到你的指点,谢谢你,期待回复~



        不好意思,最近忙,没上来看,
    关于你的第一个问题,应该是你加密算法的问题,非缓存读写及分页读写是按页大小来整页读写的,也就是说通常读写大小都是512的整数倍来读写,如果你是分组加密的话,要考虑能够加密还要在当应用读取文件的时候能够正确解密。
    关于第二个,我的驱动实行的是需要应用来启动,如果只是启动驱动,不会执行过滤操作,需要应用发送命令启动才会进入过滤模式,这个主要是考虑到在启动过滤之前会有一些参数初始化工作,应该等初始化工作完成之后才开始过滤。

    如果对附件的通讯DLL有疑问,请使用下面的方式,不需要那个DLL也可以通讯:
    1、声明:
    function FilterConnectCommunicationPort(lpPortName: PWideChar;
    dwOptions: DWORD; lpContext: Pointer; dwSizeOfContext: Word;
    lpSecurityAttributes: PSECURITY_ATTRIBUTES;
    hPort: PHandle): HRESULT; stdcall; external 'fltlib.dll';
function FilterSendMessage(hPort: THandle; lpInBuffer: Pointer;
    dwInBufferSize: DWORD; lpOutBuffer: Pointer;
    dwOutBufferSize: DWORD; lpBytesReturned: PCardinal
    ): HRESULT; stdcall; external 'fltlib.dll';
        2、将之前的DLL内接口函数修改为下面的实现:
    function NPSendMessage(InputBuffer: Pointer; InputBufferSize: DWORD;
    OutputBuffer: Pointer; OutBufferSize: DWORD): HRESULT;

function InitialCommunicationPort(): HRESULT;

var  h               : THandle;

function InitialCommunicationPort(): HRESULT;
var
    pn              : WideString;
begin
    pn := '\S_MiniPort';
    Result := FilterConnectCommunicationPort(PWideChar(pn), 0, nil, 0, nil, @h);
end;

function NPSendMessage(InputBuffer: Pointer; InputBufferSize: DWORD;
    OutputBuffer: Pointer; OutBufferSize: DWORD): HRESULT;
var
    bytesReturned   : DWORD;
begin
    Result := FilterSendMessage(h, InputBuffer, InputBufferSize,
        OutputBuffer, OutBufferSize, @bytesReturned);
end;

后面的发送通讯消息直接用NPSendMessage函数即可
xtmzl
驱动牛犊
驱动牛犊
  • 注册日期2003-05-21
  • 最后登录2017-01-24
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望141点
  • 贡献值0点
  • 好评度55点
  • 原创分0分
  • 专家分0分
  • 社区居民
41楼#
发布于:2010-08-06 13:25
又一个版本的刷缓存.
HOHO
shenhui
驱动小牛
驱动小牛
  • 注册日期2006-05-11
  • 最后登录2023-02-10
  • 粉丝14
  • 关注11
  • 积分142分
  • 威望1314点
  • 贡献值1点
  • 好评度146点
  • 原创分0分
  • 专家分1分
  • 社区居民
42楼#
发布于:2010-08-06 12:52
1. 这个程序 编译安装能不能用的?
>>能运行

2. 直接用这个程序,是不是加密解密没有作用?
>>不能,代码中没有加密算法

3. 这个加密解密是不是在驱动里面做的?需不需要自己修改程序做进程监控,比如记事本进程,word进程等等.
>>是在驱动中做的,但需要自己添加监控。
作一名真实,诚实,优秀的科技工作者!
xfdh1983
驱动牛犊
驱动牛犊
  • 注册日期2010-08-03
  • 最后登录2010-08-24
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
43楼#
发布于:2010-08-06 11:23
安装测试结果
我在windows xp 3上编译安装这个驱动,然后自己建了一个text.txt,写了一些东西保存,然后把这个text.txt拷贝到另一台机器上仍然可以看见明文的。

问题
请问这个代码
1. 这个程序 编译安装能不能用的?
2. 直接用这个程序,是不是加密解密没有作用?
3. 这个加密解密是不是在驱动里面做的?需不需要自己修改程序做进程监控,比如记事本进程,word进程等等.
xfdh1983
驱动牛犊
驱动牛犊
  • 注册日期2010-08-03
  • 最后登录2010-08-24
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
44楼#
发布于:2010-08-05 14:36
我在windows 2000  上面用 windows 2003的DDK3790_1830 build这个工程,出错了

BUILD: Adding /Y to COPYCMD so xcopy ops won't hang.
BUILD: Object root set to: ==> objchk_w2K_x86
BUILD: Compile and Link for i386
BUILD: d:\workdoc\atpass\atpass_server\trueencrypt\encryption_on-the-fly\engine\
sources(0): Unknown TARGETPATH value
BUILD: Examining d:\workdoc\atpass\atpass_server\trueencrypt\encryption_on-the-f
ly\engine directory for files to compile.
BUILD: Compiling (NoSync) d:\workdoc\trueencrypt\encryption
_on-the-fly\engine directory
errors in directory d:\workdoc\trueencrypt\encryption_on-th
e-fly\engine
e:\progra~1\ddk379~1\bin\makefile.new(1082) : error U1050: Your .\sources. file
must define the TARGETPATH= macro
BUILD: nmake.exe failed - rc = 2
BUILD: Compile errors: not linking d:\workdoc\trueencrypt\e
ncryption_on-the-fly\engine directory
BUILD: Done

    0 files compiled - 1 Error
请问这个是什么原因?
xfdh1983
驱动牛犊
驱动牛犊
  • 注册日期2010-08-03
  • 最后登录2010-08-24
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
45楼#
发布于:2010-08-04 14:40
我也是新手开发的,怎么测试的这个东东,不懂的了,需要什么开发工具VC,DDK?
Lynnre
驱动牛犊
驱动牛犊
  • 注册日期2010-05-23
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
46楼#
发布于:2010-07-31 09:49
回 62楼(ander5115) 的帖子
你好!我在你的程序中加入了CTR模式的DES算法,启动服务后新建文件,保存时会提醒“提供给请求操作的用户缓冲区无效”,从而无法保存文件。选择不保存,关闭服务后发现文件头写入了。还有就是,我想把密钥导出存到移动介质中,需要使用通信端口与应用层的程序通信。我先把你的通信端口给注释掉,测试,发现对文件的操作没被驱动拦截。因为接触驱动开发不多,对这些问题都很困惑,希望得到你的指点,谢谢你,期待回复~
harrysucceed
驱动牛犊
驱动牛犊
  • 注册日期2010-05-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
47楼#
发布于:2010-07-20 22:23
真诚的说声谢谢
liuchangdong007
驱动牛犊
驱动牛犊
  • 注册日期2010-04-15
  • 最后登录2011-07-12
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望511点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
48楼#
发布于:2010-07-17 17:09
回 86楼(yiyi507) 的帖子
我测试过35楼的代码,在虚拟机里面一切正常,但是在本机上面就蓝屏。楼主的代码看过代码,没有做过测试,这几天准备测试
yiyi507
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望313点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
49楼#
发布于:2010-07-16 13:38
回 84楼(liuchangdong007) 的帖子
你有测试过吗?我本机上测试office的很不稳定,有时可以有时不可以。。。
yiyi507
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望313点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
50楼#
发布于:2010-07-16 13:37
NTFS上测试word,加密正常,解密不可以。新建输入save保存关闭,终止驱动服务,打开密文。重启服务,打开还是密文...这就是本机上测试的错误
liuchangdong007
驱动牛犊
驱动牛犊
  • 注册日期2010-04-15
  • 最后登录2011-07-12
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望511点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
51楼#
发布于:2010-07-16 10:54
回 83楼(yiyi507) 的帖子
你在本机上面测试的话,有什么问题吗?
yiyi507
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望313点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
52楼#
发布于:2010-07-16 10:02
LS在否?NTFS上测试word,加密正常,解密不可以。新建输入save保存关闭,终止驱动服务,打开密文。重启服务,打开还是密文,这是为啥呢?而我在虚拟机上测试时可以的。。。虚拟机测试环境跟本机上有什么差别吗?
duzhanzhe
驱动牛犊
驱动牛犊
  • 注册日期2010-06-04
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
53楼#
发布于:2010-07-06 09:14
我现在正在为这个事情烦恼的,很想学习一下你的程序
方便的话谁把源码发到:147384180@qq.com
3KS
liuchangdong007
驱动牛犊
驱动牛犊
  • 注册日期2010-04-15
  • 最后登录2011-07-12
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望511点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
54楼#
发布于:2010-06-22 20:23
回 35楼(ander5115) 的帖子
我在代码里面加入RC4的加密算法,对于文本类的进程 来说,都是正确的,但是对于像word\ppt这些文件来说,却不行。在word里面,会出现一个“内存或磁盘不足”。
NTSTATUS
File_DecryptBuffer(
                   __in PVOID buffer,
                   __in ULONG Length,
                   __in PCHAR PassWord,
                   __inout PUSHORT CryptIndex,
                   __in ULONG ByteOffset
                   )
{
    PCHAR buf;
    rc4_context_t context;
    UNREFERENCED_PARAMETER(PassWord);

    buf = (PUCHAR)buffer;
    rc4_init(&context,Key,KEY_SIZE);
    rc4_encrypt(&context,buf,buf,Length);
    return STATUS_SUCCESS;
}
Tinark
驱动牛犊
驱动牛犊
  • 注册日期2009-11-12
  • 最后登录2011-04-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望131点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
55楼#
发布于:2010-06-17 12:14
谢谢分享,正在学习这方面的知识
kelan2002
驱动牛犊
驱动牛犊
  • 注册日期2010-05-06
  • 最后登录2010-11-02
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
56楼#
发布于:2010-06-13 11:22
错误包括一下这些
process.c
..\engine\process.c(68) : error C2065: 'try' : undeclared identifier
..\engine\process.c(68) : error C2143: syntax error : missing ';' before '{'
..\engine\process.c(109) : error C2703: illegal __leave statement
..\engine\process.c(147) : error C2703: illegal __leave statement
..\engine\process.c(164) : error C2703: illegal __leave statement
..\engine\process.c(173) : error C2065: 'finally' : undeclared identifier
..\engine\process.c(173) : error C2143: syntax error : missing ';' before '{'
..\engine\process.c(193) : error C2143: syntax error : missing ';' before '{'
..\engine\process.c(213) : error C2143: syntax error : missing ';' before '{'
..\engine\process.c(228) : error C2143: syntax error : missing ';' before '{'
kelan2002
驱动牛犊
驱动牛犊
  • 注册日期2010-05-06
  • 最后登录2010-11-02
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
57楼#
发布于:2010-06-13 11:11
为什么编译通不过啊。
winddk的头文件也加上去了。
还是报100多个错误。
请问lz在编译环境下有什么需要配置的啊?
lishen_1987
驱动牛犊
驱动牛犊
  • 注册日期2010-03-02
  • 最后登录2010-07-18
  • 粉丝1
  • 关注0
  • 积分14分
  • 威望131点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
58楼#
发布于:2010-06-07 20:54
回 76楼(liuhui19842003) 的帖子
还没传的 我急啊 兄弟 你要是有传我份啊
liuhui19842003
驱动牛犊
驱动牛犊
  • 注册日期2009-12-30
  • 最后登录2010-11-23
  • 粉丝1
  • 关注1
  • 积分52分
  • 威望481点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
59楼#
发布于:2010-06-07 19:23
回 75楼(lishen_1987) 的帖子
大牛传给你的话,能分享一份给我吗?谢谢!dongn0905@126.com
游客

返回顶部