想修改以前编译的一个EXE文件的一个常量的值?? 没有源码了 ( 积分: 20 )

  • 主题发起人 主题发起人 agai
  • 开始时间 开始时间
A

agai

Unregistered / Unconfirmed
GUEST, unregistred user!
没有源码了,只有一个EXE,
谁能帮帮我,
 
用二进制编辑器
 
我看不懂二进制啊,怎么找到那个常量啊
 
那只能请人帮忙了。
 
你可以用16进制编辑器搜索这个常量,但是搜到的也可能是其它数据或者指令,
要前后汇编来仔细分清,如果搜到的数量不多,就玩碰碰车,一个一个改着试。
 
用游戏修改器什么的应该能改吧,我又猜了,呵呵
 
http://www.51zhan.com 最好的网址站
http://www.51zhan.com 最好的网址站
http://www.51zhan.com 最好的网址站
 
我是这样想的,既然写程序的时候把数据放到不同的可见性区域是为了保障数据的安全性,那么PUBLIC里的数据肯定是可以被其他的应用程序所调用或修改,
难道只能通过二进制或十六进制修改么??

注:我的那个常量是个全局的
 
常量是数据是好多,转成16进制,注意高 低 顺序
 
推荐使用ULTRAEDIT,可以查看、搜索、修改文件的内容,比较有名。
 
全是不认识的东东,我找不到那个常量啊....

如果想看懂(能找到那个常量),我都需要学习什么东西???
 
哈哈,连UE都不认识
这个程序是以前编的,现在你不会重新编吗?我想不太复杂吧,别偷懒了[:)]
 
你知道你用的这个常量的值和类型吧?
打个比方,常量是 INT类型 5000(0)=1388(H) 要改成6000 = 1770(H)
用ULTRAEDIT打开你的EXE文件,搜索这样的字节:88 13 00 00(INT占32位,4字节),把找到的这个数改成 70 17 00 00,就行了。
如果你很不幸,找到了不止一个 88 13 00 00,那么就一个地方一个地方修改看看,是否符合要求,有时候会修改到执行死机,没关系,把改的那个给恢复回来就行,记得拿稿纸记下最后修改的地址,因为死机了你改到哪个地方都没保存....

程序是你自己做的,相信很容易找到的。
 
TO: jenhon
谢谢!好了
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
881
DelphiTeacher的专栏
D
D
回复
0
查看
851
DelphiTeacher的专栏
D
后退
顶部