Tinark
驱动牛犊
驱动牛犊
  • 注册日期2009-11-12
  • 最后登录2011-04-15
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望131点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
80楼#
发布于:2010-06-17 12:14
谢谢分享,正在学习这方面的知识
liuchangdong007
驱动牛犊
驱动牛犊
  • 注册日期2010-04-15
  • 最后登录2011-07-12
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望511点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
81楼#
发布于: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;
}
duzhanzhe
驱动牛犊
驱动牛犊
  • 注册日期2010-06-04
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
82楼#
发布于:2010-07-06 09:14
我现在正在为这个事情烦恼的,很想学习一下你的程序
方便的话谁把源码发到:147384180@qq.com
3KS
yiyi507
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望313点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
83楼#
发布于:2010-07-16 10:02
LS在否?NTFS上测试word,加密正常,解密不可以。新建输入save保存关闭,终止驱动服务,打开密文。重启服务,打开还是密文,这是为啥呢?而我在虚拟机上测试时可以的。。。虚拟机测试环境跟本机上有什么差别吗?
liuchangdong007
驱动牛犊
驱动牛犊
  • 注册日期2010-04-15
  • 最后登录2011-07-12
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望511点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
84楼#
发布于:2010-07-16 10:54
回 83楼(yiyi507) 的帖子
你在本机上面测试的话,有什么问题吗?
yiyi507
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望313点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
85楼#
发布于:2010-07-16 13:37
NTFS上测试word,加密正常,解密不可以。新建输入save保存关闭,终止驱动服务,打开密文。重启服务,打开还是密文...这就是本机上测试的错误
yiyi507
驱动牛犊
驱动牛犊
  • 注册日期2008-10-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望313点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
86楼#
发布于:2010-07-16 13:38
回 84楼(liuchangdong007) 的帖子
你有测试过吗?我本机上测试office的很不稳定,有时可以有时不可以。。。
liuchangdong007
驱动牛犊
驱动牛犊
  • 注册日期2010-04-15
  • 最后登录2011-07-12
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望511点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
87楼#
发布于:2010-07-17 17:09
回 86楼(yiyi507) 的帖子
我测试过35楼的代码,在虚拟机里面一切正常,但是在本机上面就蓝屏。楼主的代码看过代码,没有做过测试,这几天准备测试
harrysucceed
驱动牛犊
驱动牛犊
  • 注册日期2010-05-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
88楼#
发布于:2010-07-20 22:23
真诚的说声谢谢
Lynnre
驱动牛犊
驱动牛犊
  • 注册日期2010-05-23
  • 最后登录2010-08-05
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
89楼#
发布于:2010-07-31 09:49
回 62楼(ander5115) 的帖子
你好!我在你的程序中加入了CTR模式的DES算法,启动服务后新建文件,保存时会提醒“提供给请求操作的用户缓冲区无效”,从而无法保存文件。选择不保存,关闭服务后发现文件头写入了。还有就是,我想把密钥导出存到移动介质中,需要使用通信端口与应用层的程序通信。我先把你的通信端口给注释掉,测试,发现对文件的操作没被驱动拦截。因为接触驱动开发不多,对这些问题都很困惑,希望得到你的指点,谢谢你,期待回复~
xfdh1983
驱动牛犊
驱动牛犊
  • 注册日期2010-08-03
  • 最后登录2010-08-24
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
90楼#
发布于:2010-08-04 14:40
我也是新手开发的,怎么测试的这个东东,不懂的了,需要什么开发工具VC,DDK?
xfdh1983
驱动牛犊
驱动牛犊
  • 注册日期2010-08-03
  • 最后登录2010-08-24
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
91楼#
发布于: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分
92楼#
发布于:2010-08-06 11:23
安装测试结果
我在windows xp 3上编译安装这个驱动,然后自己建了一个text.txt,写了一些东西保存,然后把这个text.txt拷贝到另一台机器上仍然可以看见明文的。

问题
请问这个代码
1. 这个程序 编译安装能不能用的?
2. 直接用这个程序,是不是加密解密没有作用?
3. 这个加密解密是不是在驱动里面做的?需不需要自己修改程序做进程监控,比如记事本进程,word进程等等.
shenhui
驱动小牛
驱动小牛
  • 注册日期2006-05-11
  • 最后登录2023-02-10
  • 粉丝14
  • 关注11
  • 积分142分
  • 威望1314点
  • 贡献值1点
  • 好评度146点
  • 原创分0分
  • 专家分1分
  • 社区居民
93楼#
发布于:2010-08-06 12:52
1. 这个程序 编译安装能不能用的?
>>能运行

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

3. 这个加密解密是不是在驱动里面做的?需不需要自己修改程序做进程监控,比如记事本进程,word进程等等.
>>是在驱动中做的,但需要自己添加监控。
作一名真实,诚实,优秀的科技工作者!
xtmzl
驱动牛犊
驱动牛犊
  • 注册日期2003-05-21
  • 最后登录2017-01-24
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望141点
  • 贡献值0点
  • 好评度55点
  • 原创分0分
  • 专家分0分
  • 社区居民
94楼#
发布于:2010-08-06 13:25
又一个版本的刷缓存.
HOHO
ander5115
驱动牛犊
驱动牛犊
  • 注册日期2009-12-23
  • 最后登录2012-08-17
  • 粉丝6
  • 关注3
  • 积分76分
  • 威望681点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
95楼#
发布于: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函数即可
xfdh1983
驱动牛犊
驱动牛犊
  • 注册日期2010-08-03
  • 最后登录2010-08-24
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
96楼#
发布于:2010-08-09 14:19
我按照帖子上的方法测试下,但是安装驱动后还是测试txt文件没有什么反映。不知道是哪里出问题。

问题
1. 不知道那个加密和解密的代码具体在什么地方,我看很多"///"注释的地方,不知道是哪个地方?
2. 这个驱动是不是对所有文件都加密的,还是对监控的程序进行加密和解密?
3. 我看有人说在DriverEntry中添加监控的代码,具体那个代码能不能给个例子的?
liuhui19842003
驱动牛犊
驱动牛犊
  • 注册日期2009-12-30
  • 最后登录2010-11-23
  • 粉丝1
  • 关注1
  • 积分52分
  • 威望481点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
97楼#
发布于:2010-09-04 08:40
回 89楼(Lynnre) 的帖子
您好,我是新手,能不能把你加入了加密算法的代码传我一份学习?测试代码该如何写,能否也传我一份,谢谢!dongn0905@126.com
hfz8867879
驱动牛犊
驱动牛犊
  • 注册日期2010-07-31
  • 最后登录2021-03-06
  • 粉丝0
  • 关注0
  • 积分286分
  • 威望321点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分4分
  • 社区居民
  • 忠实会员
98楼#
发布于:2010-09-05 14:41
能否传一个给我,谢谢啦,新手学习下~
306142767@qq.com
lsfwd
驱动牛犊
驱动牛犊
  • 注册日期2010-08-11
  • 最后登录2010-10-22
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
99楼#
发布于:2010-09-06 15:08
我是新手,谁有测试代码呀?能够发给我一份吗?happy.wd10@163.com  262772639@qq.com
游客

返回顶部