需要找到程序用来写入firebird DB的用户名/密码

时间:2013-03-18 23:05:14

标签: passwords firebird credentials username

我有一个访问本地firebird数据库的程序。它具有对此数据库的写入权限,我们需要能够写入此数据库,但不知道用户名/密码。

显然,PC中的某个地方是一个连接字符串/用户名/密码,可以连接到该数据库。我可以用什么方法来找到它?

我已经尝试了进程监视器,看它是否访问任何注册表项但看不到任何注册表项。 我检查了安装目录中的配置文件。 我已经反编译了一些DAL DLL,但无法在任何地方看到任何硬编码!

供应商不再,所以我们不能去找他们。

任何建议表示赞赏!

2 个答案:

答案 0 :(得分:2)

如果使用“local”表示嵌入式,那么您实际上不需要知道密码 - 嵌入式版本不会检查密码。引自“README_embedded.txt”文件,“2.3。身份验证和安全性”一章:

  

安全数据库(即security2.fdb)未在嵌入式服务器中使用,因此不是必需的。任何用户都可以附加到任何数据库。由于服务器和客户端都在相同的地址空间中运行,因此安全性只是双方之间的协议,很容易受到损害。

所以你实际上只需要用户名,为此你可以使用SYSDBA - Firebird的超级用户。请注意,即使使用嵌入式,仍会检查用户名,以分配用户SQL权限。

答案 1 :(得分:0)

除了 ain 关于嵌入式使用的answer之外,Firebird中的身份验证由服务器及其关联的安全数据库处理。这意味着如果您将Firebird数据库复制(或更好:备份和恢复)到您知道SYSDBA密码的其他服务器,则只需访问数据库即可。

但是,如果您希望从不同进程对嵌入在用户应用程序中的Firebird服务器使用的数据库进行连续写入访问:您不能。嵌入式服务器(至少在Windows上)不允许外部连接。