如何更改无法重新编译的Delphi程序的硬编码数据库密码?

时间:2015-07-09 09:32:51

标签: sql-server delphi executable credentials hex-editors

我有一个无法重新编译的Delphi应用程序。

在将数据库移动到新的SQL Server版本的过程中,我想更改数据库密码,使其不再为空。问题是应用程序具有嵌入在.exe。

中的数据库凭据

是否有任何方式可以更改密码?

服务器名称和数据库名称是可配置的。

2 个答案:

答案 0 :(得分:16)

如果连接字符串在设计模式下保存在TADOConnection组件中,您最好选择使用资源编辑器,例如Resource Hacker

表格或数据模块DFM可在RCData部分找到。只需更改连接字符串并使用“编译脚本”。 这会将您的更改保存回EXE文件,而不必担心损坏EXE。

我认为你的EXE没有打包(PE打包器)或数字签名。

enter image description here

答案 1 :(得分:5)

下面是我的D7 .Exe部分屏幕截图,显示了其Ado ConnectionString的相关部分。

我使用了古老的文件查看器(来自旧TurboPower库附带的示例应用程序)来截取屏幕截图。我只是将文件加载到其中,输入“persist”作为搜索字符串并跳过几个TPersistent实例来定位它。

当然,您可以使用任何旧的hex文件编辑器来执行类似操作并进行更改,前提是.Exe不会被压缩或受到保护,不会被校验和等篡改。

你可能需要尝试一下,&与另一个具有非空密码的应用程序进行比较,以便您可以提供一些适合.Exe磁盘映像中可用空间的新凭据。

enter image description here

相关问题