2011-12-13 114 views
1

我有一个应用程序,数据库在Access中。我的软件保护高度依赖于我为我的数据库设置的密码。如果有人获得密码,您可以破解应用程序。隐藏数据库格式

我刚刚发现一个应用程序通过互联网(免费软件,很容易下载),它给你的Access数据库密码。这对我来说真的很令人担忧。

有没有我可以隐藏我的数据库格式,那么,谁安装的应用程序无法知道这些文件是什么格式的用户什么办法?

+4

您不能在本地硬盘上使用Access作为您的数据库,并期望它100%安全。正如你发现的那样,它可能被黑客打开。 – LarsTech

+1

默默无闻的安全性根本就没有安全性。 – JohnFx

+1

如果您将密钥保存在应用程序中,那么无论您如何混淆数据库格式都无所谓 - 黑客只会从应用程序中选取密钥。 –

回答

1

无论您使用的数据库类型如何,事实上密码都会在您的应用程序的某处。当然,需要多一点的挖掘,但有很多人喜欢这样做的“乐趣”。

这意味着,只要该数据是本地那么这将是任何中途确定黑客访问。是的,有很多网站提供了关于如何从编译的二进制文件中提取秘密信息的步骤。

所以,这会让你陷入困境。只要该应用程序在本地安装,您就必须想出一个理由,让他们不打扰或检测未经授权的使用情况。前者一般比后者容易。

-1

最显而易见的方法来混淆数据库格式将改变文件扩展名,但正如我在我的评论依靠模糊的保安说是不是有效。麻烦的是,如果你进一步模糊数据库格式,那么你有可能无法通过Jet数据库驱动程序读取它,从而无法使用。总之,你在吠叫错误的树。

您需要可以使用不同的数据库,如果你不是在Access安全信心或找到一种方法,使密码更难以利用这些工具来破解。

不知道你说的是哪个工具,但我发现有一个快速谷歌搜索的人有一定的局限性,你可以利用的从使用该工具的固定DB:

  • 在Access 2000/XP文件中,该实用程序无法恢复包含超过18个字符的密码。
  • 此实用程序只显示主数据库密码。它无法恢复用户级密码。

你有没有考虑只是让一个很长的密码,看看您是否仍然可以与你所担心的工具破解呢?

另外,我建议使用较新的ACCDB格式而不是MDB的安全性已经有所硬化。

-1

我建议加密和签名/散列你把分贝寄托都,你的应用程序之外的一切都将很容易被破坏,如果有一些利益的“他们”,即使你的应用程序可以被反编译。

+0

把PW放在文件上会自动加密数据库,所以这会将加密嵌入到加密中,但我确实看到了你要去的地方。出于性能方面的原因,他可能会更好地加密数据库中的敏感内容,但内层却是如此。 – JohnFx

+0

Yo dawg,我听说如果你把你的加密和加密,然后你可以解密,而你解密。我也给你一个-1,因为你不知道你在暗示什么。这不是密码学可以解决的问题。 – rook

+0

@Rook是的,随时可以对任何听起来很愚蠢的事情投降。你想在这里帮助我们广泛的知识吗?看来我的浏览器未能在这个主题上显示你的完美答案... –