设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: roych
打印 上一主题 下一主题

[加解密/安全] 有没有用MSysObjects找不到的表?

[复制链接]
21#
发表于 2011-1-13 20:04:23 | 只看该作者
本帖最后由 todaynew 于 2011-1-13 20:09 编辑

目前的进展有点意思了,呵呵。总结一下:

一、十段同志以很大度谦虚的姿态应对挑战,并积极做答,反映了骨灰级版友的风采。由此继续批评roych 同志,没有对文字中稍有过分的语言进行修正。不过对roych 的穷追不舍的精神继续赞赏。在我看来,十段与roych 讨论问题的基点可能已经不同,正是这种不同才有利于从思维的岔路上找到更多的东西。

二、t小宝版主也许说的比较全面,不过我对此问题没有研究,不能过多评价。十段同志说我的方法可能是比较彻底的方案,不过我说的是从红尘那里剽窃来的,至于红尘从何处偷来的,就不得而知了,呵呵。这样看来,学习都是相互借鉴的一个过程,这个过程中可能有虚心求教,也可能暗自瞟学,现在又出现了一种争执辩论。怎么说都是一件好事。

三、总的说来,就此问题探讨的氛围还是和谐的。我想只要是针对问题不针对人,探讨可以再尖锐一些,激烈一些。在此对红尘同志提出一个批评,对chaosheng 同志提出一个表扬,因为二人的态度不同。也请其他对该问题有兴趣的版友,发表意见和看法,这个时候已经没有了版主,不讲了规矩,按照江湖乱套的方法行事即可。
22#
 楼主| 发表于 2011-1-13 21:59:57 | 只看该作者
huangqinyong 发表于 2011-1-13 16:06
实现的方法肯定是有多种,但我用的都不是你所述的那些方法,真心希望你通过研究也能取得收获,不过我那个插件 ...

这次把实例修改后,在取消表的隐藏属性后再取消启动属性,就好了。这是按9L的例子修改后的:

这是按链接表的形式做的,方法其实都一样,对应的是12L的实例。

回复13L LJB,这个不是MDE文件。只是禁用了某些属性。如果想隐藏表,把我的实例换个方向来思考,大体是可以隐藏的,前面也说了,在表名称加前缀,或者把表的Attributes属性设置为真就可以了。

说句题外话,学这个时间还不是很长,我在日记里也写了:http://www.office-cn.net/home-space-uid-179386-do-blog-id-14842.html
在跟师傅学习的日子里,——可惜太短了,只有一个月左右的时间,——他把软件交付给我时说过,一切程序都没有万无一失的安全,我们能做的只是提高破解的成本而已。一般来说谨防两种人就够了,一种是菜鸟,另一种是高手。这两种人搞破坏的区别只是在于无意和有意而已。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
23#
 楼主| 发表于 2011-1-13 22:02:56 | 只看该作者
回复 todaynew 的帖子

我的妈呀,刚刚还在研究代码,这就给批评了……
老哥哥,先别急着总结啊。俺不能轻易认输~~
1、当然,如果需要更严谨点就需要把这三种情况的代码进行重组了。
2、此外,由于对错误代码不太熟悉,所以没有进行错误处理。
3、本来打算用copyobject方式来做,不过有些东西没调试好,结果……(见第一段,O(∩_∩)O~)
4、最后一点,欢迎大家一起来拍。
24#
发表于 2011-1-14 10:02:12 | 只看该作者
  帮十段同志驳斥一下roych、t小宝和andymark 的看法,呵呵。

  先奠定一下驳斥的公理与假设。要奠定驳斥的公理与假设,先要说道说道公理与假设。建立一套理论、说明一个问题、阐述以个观点、告诉一件事情,都是有公理、有假设、有语境的。这种公理、假设、语境可能是显见的也可能是隐形的。显见的说者与听众没有什么太大的障碍,即使有障碍是非的判定也是有充分标准的。隐形的就比较麻烦了,说者与听众就可能产生理解上的不同。大多数情况下,公理、假设、语境是隐形的,否则的话语言和文字就非常的罗嗦,就像我现在这样,必须在得出结论之前,做若干公理、假设、语境的铺垫。

  我不是十段同志,不可能知道他在论述问题时候真实的公理、假设、语境是什么。不过这不要紧,我们可以从常理来推导他的公理、假设、语境是什么。先做一个正向的推论,我们从目的开始回推。隐藏表的目的是什么?最主要的目的是为了避免菜鸟由于误操作删除了数据表、查询、窗体等对象。基于这个目的,越不容易得到文件名,并且(注意这个并且)可用右键、快捷键、工具栏工具、菜单栏命令进行删除的隐藏技术越是高明。由此可以看出这里说的隐藏其实不是文件名、也不是数据,而是尽可能的屏蔽掉对对象的删除操作,这应该是十段同志示例合理的公理、假设和语境。反向推论一下,假设我们说十段同志的公理、假设、语境就是文件名,我们甚至进一步扩大到记录层面的话,那就出现了一个不可调和的矛盾,隐藏的结果是我们看不见了对象也看不见了他的子集,这就与数据库要完成的任务背道而驰了。

  这么一说就大体清晰了,这里存在两个假设,其一是隐藏是相对于菜鸟而言的,我们假设了他们不会用VB进行对象的删除操作;其二是我们隐藏的不是文件名和记录,隐藏的是对文件的非代码删除操作。用这个公理、假设和语境来看看roych、t小宝和andymark三同志的观点,就不难发现他们的结论是有问题的了。

  说这么一大段的意思,其实不是要真的反驳谁,也不是真的要为谁辩护。我想说明的一个问题是,看来是Access的问题,其实不一定是Access的问题,看来需要从Access技术手段上论证的问题,其实不需要从Access技术手段上论证。就十段同志与roych争论的问题来看,分歧实际上不是技术问题,是公理、假设、语境不一致的问题。这种争论只要达不成公理、假设、语境上的一致,就永远区别不了是非,判定不了胜负。唯一能实现的,就是找到不同公理、假设、语境下,实现隐藏的Access技术,仅此而已。
25#
 楼主| 发表于 2011-1-14 10:28:50 | 只看该作者
回复 todaynew 的帖子

       不妨说下从师傅那里学到的一些关于安全方面的东西,就拿我目前维护的这个数据库来说吧。为了防止用户直接接触到数据表,我们做了这些东西:
       1、删除系统自带的工作组文件,自定义一个带密码的用户组。为了隐藏这个工作组,引进了江羽版主的VB封装思想,把文件改为dll格式。
       2、链接后台数据库,设置后台数据库的相应密码。设置后台数据库的读写权限,禁止用户删除后台数据。
       3、屏蔽shift键和设计模式。设置登录窗体,在登录窗体上用shell函数来前台。
       不能说这个就是无懈可击的安全防范,在未得知后台数据库所在的文件夹之前,用户想要破解或者破坏后台数据库并非易事。很显然,您是不可能直接用破解工具来破解的,因为您不知道哪个才是真正的工作组文件,相信没有哪个高手会逐个去把dll文件改成mdw文件来调试吧?
       如果出于安全的考虑,隐藏表到底有没有用?到底有多大用处?我觉得这是我们需要考虑的。

点击这里给我发消息

26#
发表于 2011-1-14 11:29:20 | 只看该作者
我觉得ACCESS保护数据最好的办法是对后台数据库文件加密,程序运行时自动解密,关闭时再加密。
当然,针对一般不懂ACCESS的人,改个后缀名就行了,要再进一步可加个密码,设置一下启动属性并禁用SHIFT键已经很保险了
27#
发表于 2011-1-14 11:47:47 | 只看该作者
我好像没说什么坏话呀,咋被老汉点名批评了捏,难道被老汉认为我有煽风点火的嫌疑?疑罪从无哈,再说俺可真没什么意思,我比窦娥还冤
28#
发表于 2011-1-14 12:11:40 | 只看该作者
晕死,我好像没站在谁的观点上去
ACCESS不安全那是公认的,安全不安全不能靠假设
菜鸟,不等于不会在群里发问,不等于不会百度找答案
不需要安全文件的一样可以破解打开,还有什么做得到

点击这里给我发消息

29#
发表于 2011-1-14 13:26:09 | 只看该作者
andymark 发表于 2011-1-14 12:11
晕死,我好像没站在谁的观点上去
ACCESS不安全那是公认的,安全不安全不能靠假设
菜鸟,不等于不会在群里 ...

呵呵...
我想问一下,最后一句什么意思:“不需要安全文件的一样可以破解打开,还有什么做得到”
是说指定了工作组文件的MDB,如果没有工作组文件仍然可以破解吗?
30#
发表于 2011-1-14 13:45:09 | 只看该作者
红尘、andymark 同志:
对红尘的批评是说其做壁上观。对andymark 同志的反驳是这对其对t小宝同志的观点持赞成态度。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 08:52 , Processed in 0.096858 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表