我有一个无法重新编译的Delphi应用程序。
在将数据库移动到新的SQL Server版本的过程中,我想更改数据库密码,使其不再为空。问题是应用程序具有嵌入在.exe。
中的数据库凭据是否有任何方式可以更改密码?
服务器名称和数据库名称是可配置的。
答案 0 :(得分:16)
如果连接字符串在设计模式下保存在TADOConnection
组件中,您最好选择使用资源编辑器,例如Resource Hacker。
表格或数据模块DFM可在RCData
部分找到。只需更改连接字符串并使用“编译脚本”。
这会将您的更改保存回EXE文件,而不必担心损坏EXE。
我认为你的EXE没有打包(PE打包器)或数字签名。
答案 1 :(得分:5)
下面是我的D7 .Exe部分屏幕截图,显示了其Ado ConnectionString的相关部分。
我使用了古老的文件查看器(来自旧TurboPower库附带的示例应用程序)来截取屏幕截图。我只是将文件加载到其中,输入“persist”作为搜索字符串并跳过几个TPersistent实例来定位它。
当然,您可以使用任何旧的hex文件编辑器来执行类似操作并进行更改,前提是.Exe不会被压缩或受到保护,不会被校验和等篡改。
你可能需要尝试一下,&与另一个具有非空密码的应用程序进行比较,以便您可以提供一些适合.Exe磁盘映像中可用空间的新凭据。