修改没有源代码的旧Win32应用程序(可能使用Borland工具编写)

时间:2011-01-05 18:56:00

标签: delphi resources c++builder decompiling

我有一个很旧的Windows应用程序(1998),不再由作者维护,我没有它的源代码。该应用程序在其中一个窗口中有一个下拉列表小部件,用户可以从中选择4个预定义值(数字)中的一个。我需要在那里添加新的预定义值或将小部件更改为允许我引入任何值的内容(某些编辑字段或可编辑的组合框)。

有关该应用程序的其他一些数据:

  • 可能使用一些Borland工具编写,我猜它使用BDE和Paradox作为其数据库。
  • 目录中有一个.mme扩展名的文件。我解压缩它包含5个文件:.data,.rdata,.rsrc,.sdata,.text。我在十六进制编辑器中查看它们并且它们包含一些文本数据但我不知道如何查找这些预定义值。由于它们是数字,我很可能会找到其他一些数字。

我尝试使用RedEdit和XN资源编辑器,但它们只显示图标和版本信息。

我知道我的问题有点模糊,但如果我找不到任何解决方案,我将不得不重写整个程序,所以我要求以防万一有解决方案。

2 个答案:

答案 0 :(得分:1)

可能会编写另一个查找此程序的应用程序,获取拥有下拉框的窗口的句柄(如果是本机Windows组件),然后获取下拉框的句柄,使用Windows SendMessage API来操作下拉框的内容。

http://msdn.microsoft.com/en-us/library/ms632595(v=VS.85).aspx

http://msdn.microsoft.com/en-us/library/ms644950(v=vs.85).aspx

可能需要付出很多努力才能重写应用程序!

答案 1 :(得分:0)

如果是用Borland工具编写的,你可以通过在EXE中搜索字符串“Borland”来找出哪一个 - 在某处应该有一个版权字符串。

一旦你知道,找到一个具有Borland工具经验的人,并让她知道下拉列表中的这些数字是否恰好来自数据库表。如果他们这样做,尝试修改该表,如果没有,重写应用程序:)