MS Access DB密码中是否允许使用非字符?

时间:2015-03-03 08:55:17

标签: .net ms-access enterprise-library

我的任务是将丢失的密码检索到一个软件附带的MS Access数据库。

我为此尝试了一个工具,但返回的字符串看起来已损坏,包括“字符”,如:†‡Δ和其他根本不接缝成为实际字符的字符。但是db文件没有损坏,因为它附带的软件从该db获取数据没有问题。

然后我尝试在加载并建立与db的连接后在运行时注入应用程序。该应用程序使用Enterprise Library,因此在我注入的有效负载中,我调用:

new DatabaseConfigurationView(ConfigurationManager.GetCurrentContext())

从中我设法获得了db密码,因为它在应用程序内存中,我知道(通过分析反编译代码),它与app成功从db中获取数据的内容相同。事实证明,这是工具给我的同样腐败的字符串。

如果我尝试使用Microsoft Access应用程序(Office)打开数据库,则密码窗口甚至不会接受该字符串。 Ctrl + v被忽略但在粘贴有效字符串时起作用。

包含非字符的字符串是否可能是实际密码,或者我在这里遗漏了什么?

请记住,我以前没有使用Enterprise Library或Access数据库的经验。

1 个答案:

答案 0 :(得分:0)

按照Panagiotis Kanavos的保证和建议我写了一个独立的连接到db使用这个奇怪的密码,它工作。然后我用:

更改了密码
OleDbCommand command = conn.CreateCommand();
command.CommandText = @"ALTER DATABASE PASSWORD [newpass] [oldpass]";
command.ExecuteNonQuery();

现在我可以用MS Access打开数据库。

感谢您的帮助。