前年编的一个单机数据库程序(基于BDE的),原程序找不到了,现在客户要求修改一个数据,不知哪位大虾可以告诉我怎么直接修改可执行文件?(100分)

  • 主题发起人 主题发起人 ndch
  • 开始时间 开始时间
N

ndch

Unregistered / Unconfirmed
GUEST, unregistred user!
我还记得这个参数是以常量方式定义的,不知能不能以修改可执行文件来达到目地?如果
分不够,可以再加。
 
各位,到是帮帮我啊!!
 
DFW的人呢?版主呢???!!!怎么无人回应啊!在下可以心急如焚啊!!!
 
兄弟,如果是个常量的话,或许可以,比如说:xxx公司改为yyy公司……

但是我没有把握,思路我可以告诉你,打过游戏么?一定打过吧,那改过游戏么?
没有?就免谈了……
我记得当年打《风云》时,把步惊云改为自己的大名,很爽吧,原理是一样的,找个
二进制文件编辑器,FPE2000也行,搜索到你要改的字符串,(有可能要用二进制代码)
改掉他就行了,提醒你两点:
1、不知道汉字的二进制代码就用金山词霸查吧
2、你要改的字符串一定要河原字符串一样长,不能多也不能少,否则……你就死的很难看。
另外,记得一定要备份!!改不了的话,不要找程序员,找个骨灰级玩家就搞定了……
^_^
 
to cx139:游戏我也改过啊,但查找这个字符串就是找不到,找其中一部分到是找到一些,但都是其它地
方用的,我就是想把程序以前定义的常量300.0定义成500.0,但找不到这些东西。现在我在猜
测DELPHI是不是将常量优化处理过了,以至于找不到!你可以自己新建一个Project,在里面定
义一个常量,编译后,自己用二进制编辑器搜索,看看。BTW:我用的是UltraEdit。
 
明确地告诉你,可以改。如果汇编功力深厚,代码都可以改,甚至给程序添加功能。如果不会用调试
工具跟踪,而且要修改的地方合适的话,用cx139的方法是最方便不过了,且几乎没什么危险。
 
不知道你怎么查找的,300换成十六进制要查012C,不能按十进制找。
 
to zfh:应该是2c 01吧?
 
是的,2c01
 
我曾经用exescop更改了可执行文件中table中的field字段值,你可以试试。
 
还是一无所获,我新建了一个工程,也定义一个常量,改来改去,就是找不到,我猜测,可
执行文件的常量应该是在文件前面吧?
 
如果你愿意,可以把程序发给我试试。
 
"300.0"和“300”可不是同一个概念啊!
 
to zfh:其实你自己也可以试验,新建一个新工程,然后,在全局变量区定义一个常量,比如
CONST cPerMan =300.0,然后,加一个button,在它的click事件可显示这个常量的值,这
样可以试试是不是改成功了,但我改来改去,都没改对,所以,我怀疑,DELPHI是不是对常
量进行了优化?
 
哈哈,找到了~!
倒着看~!
比如:
300改成500
01 2C 查找 2C 01
500 改成 F4 01
找找,如果只有一个300应该只有一个 2C 01 才对。
 
浮点数的确不能如此找。
 
对,应该怎么找浮点数的二进制?
 
正在帮你问破解论坛上的人。
 
我不知道
关注


 
靠~我自己写了个工程,实验的~!
搞定了~!
你还在考虑什么?!
 
后退
顶部