Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]如何在数据库中埋下一个自我毁灭程序?

马山杨梅  发表于:2009-10-06 14:53:52  
复制

一数据库,存于U盘,随身携带。因担心此U盘不慎丢失后数据库遭别人打开。后果虽不如冠希那台电脑这么严重,但存有秘方,密码等重要信息,不想让他人得到。所以抛出此帖,希望得到一个良策。
数据库设有密码(是Access菜单/工具/安全/设置数据库密码里设置的那种)
期待效果:
1.在这个密码框连续输错2次密码后立刻删除整个数据库文件。
2.若行不通则退而求其次,立刻删除所有表。
谢谢!

 

Top
马山杨梅 发表于:2009-10-07 22:08:04

但如果在Access自带的密码框输入阶段插不进代码,而要动用Access以外的程序,那就太复杂了,还是自己建登陆窗口吧。

本帖意在抛砖引玉,和老师们探讨一种Access数据库的主动防御的另类方法。



麥田 发表于:2009-10-08 11:29:19

andymark老师的示例  你看看能不能程序自杀成功  哈哈

[分享]程序自杀演示

http://www.accessoft.com/article-show.asp?id=3890



点燃一支烟 发表于:2009-10-08 12:29:58

这个演示基本原理是一样的,是利用批处理,呵呵



点燃一支烟 发表于:2009-10-08 12:52:26
"不小心自己就炸了"? 不会的,示例只是提供你如何程序"自杀"的一条思路,你当然要条件"引爆"啊?这个条件你可以结合自己需求去设定啊!示例并没给你预设条件的,呵呵

andymark 发表于:2009-10-08 12:53:19

做了一个示例

 

数据库密码:123

 

增加一个验证窗口,有2次输入的机会,如果用户输入验证的资料有误

 

此时无论退出或取消,程序都会执行自杀

 

 

楼主可在此基础上继续完善,禁用shift键 ...验证提示...等等

 

 

 

点击下载此附件

马山杨梅 发表于:2009-10-08 15:51:32

andymark老师的示例还是没有做在Access自带的密码框输入阶段。数据库灰飞烟灭的效果和邓老师昨天做的确实一样。不知弹出2次密码框时是否进入了该数据库。

是否一定要进入数据库才能嵌入满足它自杀的一系列条件呢?



andymark 发表于:2009-10-08 15:59:11

数据库输入密码是在系统自带的,同一个数据库是无法捕足到这个事件的

 

只能用自定义登陆窗口

 



点燃一支烟 发表于:2009-10-08 16:58:36

跟你说了不要去用系统自带的那个加密的东西啊,你想想,对于使用者来说,看到这个系统自带的密码要求输入的窗口的话,他立马能明白你对数据库加了密,首先想到的不是尝试输入密码,而是去清除你的这个自带的系统加密的登陆,而这样的清除用软件是很容易做到的,这个系统密码本身就很脆弱的

 



点燃一支烟 发表于:2009-10-08 17:06:10
再说那个要求输入密码的窗口是你采用系统加密后内嵌的,是access内嵌的,至于能否捕捉,我目前没发现,不好下结论,这要问微软的技术人员了或到微软的相关网站咨询一下

点燃一支烟 发表于:2009-10-09 09:10:15

综述:1、不要寄希望于access自带的加密,稍有使用经验的人一下就明白你采用了这种加密方式,首先就会想到去下载破解软件去解开这个脆弱的密码,所以这个密码形同虚设(除非骗骗不怎么熟悉access的人),而对这一事件的捕捉估计无法做到,内嵌的程序它是不会对使用者开放的;

2、使用自定义的带密码(密码要转换算法)的登陆窗口登陆,条件触发“引爆”效果,当然期待有更好的“引爆”自身的程式的写法,这种采用批处理删除的方式也有局限的;

3、转换成mde保护代码,禁用shift,隐藏表(隐藏成access的“系统对象”),启动时隐藏或最小化access自身窗口,在“启动”项里进行设置,不显示相关项目;

4、解禁用shift的方式也是有的,但以上措施应付一般对象来说足够了,也就是对保护你的所谓“机密”相对足够了,硬是碰上有备而来的“高手”那也是无奈的事情,因为安全措施总是相对的。

5、还是要管好你自己的U盘,把丢失的几率降到最低。



马山杨梅 发表于:2009-10-09 10:41:16

听了几位老师的回答,感到在Access自带的密码框输入阶段做文章是不太现实的。还是自己设计登陆框吧。
我现在重新设计一个方案:
1.双击该数据库文件,打开数据库。
2.弹出登陆密码框,框中设确定与取消两按钮,屏幕右上角不设Access关闭按钮或干脆暂时隐去Access主程序窗口,屏幕上只有光光的一个登陆密码框。
3.若第一遍密码正确,则打开该库,一切Access该有的菜单,工具,各种功能都恢复正常,没有丝毫限制。
4.若第一遍密码不正确或空值确定(回车)或按取消按钮都将弹出信息提示“密码错误,请重新输入”。
5.若第二遍密码正确,也能正常打开数据库使用。
6.若第二遍密码不正确或空值确定(回车)或按取消按钮都将引爆自身。

7.看了两位老师的例子,虽然文件自杀的效果惊心动魄,但考虑到这种做法的难度和实际情况,决定执行删除全部表和删除后用代码立刻执行压缩和修复数据库2个动作。即只咬舌自尽不求粉身碎骨,留个空壳全尸给他。

以上我的方案肯定还有可笑的地方,欢迎老师们修改完善。

基本条件是1.他是“君子”2.他无备而来



马山杨梅 发表于:2009-10-09 13:11:26

3.希望死在“君子”手上,等他交给“小人”来破译时,给的只是一具尸体。



马山杨梅 发表于:2009-10-10 11:08:44
我的新方案主要照顾到主人使用的安全便利,对于他人其实从双击开始就点燃了导火索。再有本人水平实在低,制作这个方案都如登珠峰,象2位老师那样要用到批处理,实在无法实现。既然老师们都没有提出改进意见,说明基本可行,那我赶紧去做吧。

总记录:33篇  页次:2/2 9 7 1 2 :