如何在打开任何一个“记事本txt”文件之前做一个判断后再打开这个记事本文件
------------------------------------------------------------------------
我现在使用C#编写一个“文件加解密程序”,可以对一些文件加密(OFFICE文件、WPS文件、记事本、图片),
加密文件后打开是乱码,再通过“文件加解程序”解密后,文件内容显示可以“正常显示原始内容”,
------------------------------------
我想使用C#编程一个程序实现功能:
比方说,打开一个“记事本txt”文件之前,我的程序“钩住”notepad.exe,在这个之前发出一个“指令”,
检测这个“记事本txt”是否加密,
如何加密了,解密出来,再使用notepad.exe打开这个“记事本txt”,保存后加密这个“记事本txt”文件
如何没有加密的,直接使用notepad.exe打开这个“记事本txt”,保存后 加密保存这个“记事本txt”

解决方案 »

  1.   

    你应该先编写一个 windows 磁盘驱动程序。编写了吗?贴出来!
      

  2.   

    ”钩住“这个词儿让一些人疯狂。hook是有严格的、脆弱的条件的,所以根本不合适。而且现在一旦 hook 就很容易被判定为流氓软件,立刻产生警报。
      

  3.   

    hook 就好象一个人拿刀子去 ATM 机那里去抢钱,一个 hook 通常都会把同一地点的其它的 hook 给搞垮,所以当你用这个当作自己在家里”玩儿的“程序时可以,当作产品你就等着上法庭没钱了。你想,假设你”加密了“一堆文件,然后这些文件在你脆弱的系统上面再也”解不开了“,用户必定告你。所以不要把做这类软件想简单了。
      

  4.   

    ------------------------------------------------------------------------------------
    声明一下:我将 加密保存到 服务器电脑的MSSQL数据库中,客户端读取 服务器电脑的MSSQL数据库表中的信息后再进行解密的,文件一编辑完成并退出就 自动加密了,格式:  钩住打开notepad.exe之前,先判断加密标志,有就直接解密,没有标志,就直接打开,关闭notepad.exe后就直接加密
    ----------------------
     windows 磁盘驱动程序   我不会
    HOOK钩子,了解一点点,还请高手赐教一二
      

  5.   

    这种程序是 windows 磁盘驱动开发、ring-0 内核级程序开发的事情。不是皮毛的 hook 做的。当然你”玩一玩儿“可以玩儿 hook,这就好像许多人穷5年甚至更长时间还是在那里纠结”用 winform 来进行 GDI+ 绘图“那类语句,而脑子里以为自己越来越接近开发一个上图系统的水平了。而我们当年训练的 wpf、silverlight 程序员只用3个月就达到真正的上图系统开发水平了,因为开发工具本身就是专业针对 2-3/3-d 图形系统开发工具。不是说不可以用初级工具来开发,关键是你要知道中间需要越过哪些门槛。很多年以前,我们当时一个同行软件公司,跑到人家的设计院里边去推销一套文件加密软件(远比你这些复杂几十倍,因为要保证安全不仅仅要对磁盘和 windows 内存缓存里地文件加密,还要动态根据下发策略来杀掉”非法“的小偷进程),结果回去之后人家系统里边总有些文件不能解密了,于是订单就砸了。如今这类安全公司,基本上没有敢真正提供底层加密功能的。因为技术不过关,因为就是弄点 hook 来”报警“之类的去糊弄用户。真正的底层加密功能,甚至是在 windows 系统下层把操作系统”托起来“,隔离windows 系统,这样才能保证快速对数据进行核心处理。
      

  6.   

    hook 对于这种需求,就好像是抗日神剧里边的大英雄去打鬼子,真的要上战场了就会造成尴尬结果,最终破坏了人家的重要文件还得被告上法庭陪钱。
      

  7.   

    谢谢赐教,请推荐一些关于 windows 磁盘驱动开发 吧
      

  8.   

    TrueCrypt 是个开源的磁盘加密软件,虽然现在安全性不好了,但是你参考的问题还是不大的。