社区
C#
帖子详情
急求文件高级加密,重开贴!
Doublehappywolf
2009-12-04 03:22:58
现在有个项目要做文件加密工作。把文件转换成二进制加密实现了。
现在要做的是,对已加密过的文档,当点击打开时要弹出解密的对话框进行解密怎么做;
还有一个更重要的问题是,打开的文件如果是关闭了或者是另存了也要是处于加密状态。
我打开文件调用的是系统自带的软件!
望高手赐教,有多少分可以给多少分!
...全文
249
32
打赏
收藏
急求文件高级加密,重开贴!
现在有个项目要做文件加密工作。把文件转换成二进制加密实现了。 现在要做的是,对已加密过的文档,当点击打开时要弹出解密的对话框进行解密怎么做; 还有一个更重要的问题是,打开的文件如果是关闭了或者是另存了也要是处于加密状态。 我打开文件调用的是系统自带的软件! 望高手赐教,有多少分可以给多少分!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
32 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cnzdgs
2009-12-05
打赏
举报
回复
这种功能通常是用文件系统驱动程序来实现,C#做不了。
此外,也可以用应用程序通过API Hook来实现,不过这种做法效果很差,而且很可能被认作是病毒。
cnzdgs
2009-12-05
打赏
举报
回复
写错了,更正一下,是每年几千块。
cnzdgs
2009-12-05
打赏
举报
回复
驱动程序一般用C或C++写,很少用汇编,不过需要系统地学习驱动程序开发,至少也要几个月时间。
Vista x64以上版本的系统才要求一定要签名,有几家专门提供签名的组织,不用找微软,但要花钱,大约每天几钱块。
vrhero
2009-12-05
打赏
举报
回复
[Quote=引用 13 楼 doublehappywolf 的回复:]
谢谢大家的回复,能给点具体的建议嘛?
[/Quote]
具体建议就是去找个精熟Windows底层写汇编的吧...还得去微软申请个数字签名,这个就难了,要通过微软技术中心一系列严格的检验测试,不是短期能搞定的...
波导终结者
2009-12-05
打赏
举报
回复
这类软件有,我们公司前段时间刚上的加密软件,叫“铁券”,公司叫大成天下,我记得超级巡警虚拟机脱壳工具也是他们出的。
软件直接接管打开、保存、复制等其他操作,存在硬盘上的文件永远是加密的,打开自动解密,保存自动加密,不是临时文件转存形式,技术非常复杂。
如果你想自己做的话,还是省省吧,最难的地方就是“接管打开和保存”,我有和他们技术支持聊过,大量的Ring0级和驱动级代码,想自己做几乎不可能。
dqw120
2009-12-05
打赏
举报
回复
在学习中........
dqw120
2009-12-05
打赏
举报
回复
吾所学之浅
Doublehappywolf
2009-12-05
打赏
举报
回复
谢谢大家的回复,能给点具体的建议嘛?
Doublehappywolf
2009-12-05
打赏
举报
回复
哈哈,在注册表的问题解决了。虽然离我初衷的问题还差很远,但是还是十分感谢回帖的朋友们!谢谢
l171147904
2009-12-05
打赏
举报
回复
顶。。。。
xpolice_wj
2009-12-05
打赏
举报
回复
学习
周公
2009-12-05
打赏
举报
回复
这种功能相当于在文件底层接管了,接管打开和保存,不但用C#难以实现,用C++之类也难以实现,目前好像也没有见到市面上有这类软件。
要想实现,除非你自己完全开发一个软件,能够实现对所有或者指定文件类型(看你自己的要求)的打开和关闭操作。相当于是用你自己的格式来保存文件内容。
Doublehappywolf
2009-12-05
打赏
举报
回复
哈哈,这个小问题解决了,是我的注册里没有hkey_classes_root\*\shell的shell,为什么没有我也不知道,于是我就自己手动建了一个shell,然后就可以运行了。那在程序里怎样判断hkey_classes_root\*下有没有shell呢?
vrhero
2009-12-05
打赏
举报
回复
对了...刚想起来你这功能Windows就有内置的,NTFS的EFS和Vista开始有的BitLocker都是集成的加解密功能...
vrhero
2009-12-05
打赏
举报
回复
[Quote=引用 28 楼 doublehappywolf 的回复:]
运行到第二句时提醒为创建实例,就是shell是空的,该怎么修改?
[/Quote]
注册右键菜单要简单得多了,但还是有些地方要注意的...
1.从Windows2000开始注册表和NTFS文件系统一样是有权限系统控制的,对ClassesRoot这种系统级的注册项都是需要System级或管理员级写入权限的,Vista和Windows7更是加上了UAC控制...去看看MSDN中CreateSubKey两个重载方法的用法...
RegistryKey.CreateSubKey(String, RegistryKeyPermissionCheck)
RegistryKey.CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)
2.不同版本Windows注册右键菜单方法也是有可能有差异的,尤其是对不同注册目标,最好去查一下SDK...如下...
HKEY_CLASSES_ROOT\*\shell
HKEY_CLASSES_ROOT\*\shellex
HKEY_CLASSES_ROOT\Folder\shell
HKEY_CLASSES_ROOT\Folder\ShellEx
HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex
HKEY_CLASSES_ROOT\Drive\shell
Doublehappywolf
2009-12-05
打赏
举报
回复
[Quote=引用 24 楼 hetl_1985 的回复:]
你写了框架了?
[/Quote]
您可能还没明白我的意思!我是意思就是和解压缩软件那样,在安装后出现在系统的右键菜单中,我对哪个文件加密只要右击该文件,然后选择加密选项就可以执行我写的加密程序。
搜了一下,有这个实例但是运行有错,我把它的代码贴出来帮我看看
string menuName="解加密";
RegistryKey shell = Registry.ClassesRoot.OpenSubKey(@"*\shell", true);
RegistryKey custom = shell.CreateSubKey(menuName);
RegistryKey cmd = custom.CreateSubKey("command");
cmd.SetValue("", Application.ExecutablePath + " %1");
cmd.Close();
custom.Close();
shell.Close();
运行到第二句时提醒为创建实例,就是shell是空的,该怎么修改?
tbinjiayou
2009-12-05
打赏
举报
回复
帮顶……
Doublehappywolf
2009-12-05
打赏
举报
回复
[Quote=引用 25 楼 skyworth98 的回复:]
自定义扩展名,并将该扩展名关联到你的程序上。
就自动用你的程序打开了,至于加解密,应该不是什么问题了吧?
[/Quote]
不是很明白你的意思!你是说对加过密的文件给特定的扩展名?然后解密时吧给扩展名去掉,还原成远文件是吧?但是如果把扩展名不小心给去掉了那文件就毁了!有什么什么特定属性来表明该文件是经过加密了?
skyworth98
2009-12-05
打赏
举报
回复
自定义扩展名,并将该扩展名关联到你的程序上。
就自动用你的程序打开了,至于加解密,应该不是什么问题了吧?
悔说话的哑巴
2009-12-05
打赏
举报
回复
[Quote=引用 23 楼 doublehappywolf 的回复:]
谢谢各位的指点,我想我还是放弃吧!
再请教一个问题,怎样将我写的程序在安装后加载到系统的右键菜单中?
[/Quote]
你写了框架了?
加载更多回复(11)
Android
高级
篇之
加密
解密
前段时间要用到Android客户端和服务器端要进行
加密
解密,所以收集了一下关于
加密
解密的文档 跟我一起念:公(gong)钥(yue) 一、实例教程 Android
加密
解密 http://www.eoeandroid.com/thread-66236-1-1.html Android
加密
解密字符串 http://www.eoeandroid.co
我在CSDN参与的3000个帖子
今日偶然翻到,感慨万千 1:申述:版主,是否扣了我的专家分? 2:100分
急求
,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望高手帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,常用软件、游戏、精美图库下载,希望对网友有帮助!顺便散分! 6:VBA请教怎
Android
高级
篇之编译及反编译
本索引整理了论坛中关于android 应用编译、混淆、
加密
解密、安全机制 、优化、移植等多方面的资料。通过这些内容,我们可以对android应用程序的构成有更深层的一个了解。只有这样我们才能让自己的代码性能更上一层楼,能更更加明白自己的代码的运作。 此处的编译说的是针对应用方面的编译,不是源码方面的编译,想了解源码编译的童鞋请移步http://www.eoeandroid.com/thread-
微信公众平台开发
微信公众平台开发(80) 上传下载多媒体
文件
摘要: 微信公众账号在回复图片、语音、视频的时候,将使用media_id来调用相关
文件
,很多朋友咨询这个如何开发实现。本文将介绍在微信公众平台开发过程中,如何上传下载多媒体
文件
。一、上传多媒体
文件
公众号可调用本接口来上传图片、语音、视频等
文件
到微信服务器,上传后服务器会返回对应的media_id,公众号此后可根据该media_id来获取多
[上线前的准备及注意事项]
上线前的准备 需要提供的材料 二进制
文件
文件
zip压缩,小图标57*57,和114*114,格式为png 512*512像素的大型图标 格式可以是png或者jpg(图标需要满足:不要简单的将小图片放大,这样会导致图像像素化从而影响视觉效果) 屏幕截图 此屏幕截图将会是程序产品页面上的主要屏幕截图,最好不要包括状态栏;图像不支持zi
C#
111,094
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章