轩辕春秋文化论坛 » 设计与修改 » shunet兄请进,关于修改的问题


2003-9-22 10:26 旖旎从风
我想现在最重要的应该是如何进行EXE启动文件的修改。
但PK版已经不象从前了,以前的很简单,搜一下即可找到,最多是重复一下就成了。
可是现在似乎是加密过了,我根据以前的地址进去一看全然不对,多看几个本应是相同内容的地址现在也是完全不同了,再看整个文件格式感觉是被加密过的,否则不可能乱得这么厉害啊。
有没有办法解密?或者是否有这方面的软件提供一个,知道你很忙,如果你能来做是最好了,否则我们用软件来自己试试,不知有没有机会

2003-9-22 17:15 shunet
修改PE文件,狠!呵呵
要想修改代码段还是数据段?
有值得改的数据?

2003-9-22 17:37 ericdr
若想改加強版的金錢和糧食上限呢?

2003-9-22 17:44 千山我独行
[quote]原帖由[i]shunet[/i]于2003-09-22, 17:15:54发表
修改PE文件,狠!呵呵
要想修改代码段还是数据段?
有值得改的数据? [/quote]
原来的san9.exe文件里有很多数据值得改,如钱粮增长率,四夷初始兵力,开发收益上限,军团钱粮存储上限等,但是san9pk.exe文件里的数据跟原来的原来完全不同了,似乎被加密过,还有加强版的磨练剧本根普通剧本的数据存储方式也差距很大,似乎是加密过

2003-9-22 17:57 旖旎从风
这几个数据是非常必要修改的:
1、每个军团的钱粮最大值。修改了这一项电脑不容易出现因粮太少逃兵现象,这个数值只能在EXE文件中修改;  
2、每次钱粮收入加倍,或者钱不加倍粮加倍,甚至加到四倍。修改了这一项后电脑肯定不会出现粮食不足啦  ;
3、城市的最高收入收益加高。原版的EXE文件可以加到1300左右,现在的不知是多少,一般也是这么多吧;  
4、兵役减少。因为太多了电脑狂征兵,一下子就没粮了。。。;  
5、其它的偶一时想不出,以上各项是根据原版三九首屠对EXE文件修改的项目来说明的。但如果大哥您能改个AI方面的某个数值那真是太好了!说句实话,修改器固然重要,但一个EXE文件足以让所有的三九玩家感谢你呀!  
现在的EXE文件我看了一下,很可能是加密过了,否则不至于什么都没法看出来,兄若搞定,教点儿给偶哦。

2003-9-22 21:17 小月刀锋
光荣被首屠气晕了
乱改我的EXE文件,砸我饭碗,可恨,所以,现在PK版都加密了!
不过PK版的电脑似乎还会统筹,不会胡乱征兵,所以很少出现粮草问题。
不过,这样的话,电脑就被弱化了,兵不多啊!

2003-9-22 22:15 旖旎从风
还是会有这个问题的,偶现在玩的剧本就是电脑粮食没了,或者说快没了吧.
因为偶全国只设了一个城有常驻商人...
如果能改,有改总比没改好.

2003-9-22 22:48 shunet
存档和磨练剧本是做过一些简单编码,存档中甚至把某些区段做了一定的偏移,区段的标记行同虚设.还谈不上是加密.如果执行文件中的数据段真正做了某种加密是很难弄的,如果只是简单编码还有点可能.不过也不容易,毕竟这个文件是固定不变的,不象存档可以随意改变,而且每次测试需要启动一次游戏,这个很费劲的.
偶是没那精力搞它了,不过可能的话可以协助你.
可以把原版的部分数据组织方式发给我瞧瞧.

2003-9-22 22:57 旖旎从风
数据组织方式......偶,偶不知道.如果兄是说原版中是如何改的的话,偶提供首屠的帖子:
[url=http://www.xycq.net/forum/index.php?showtopic=619]http://www.xycq.net/forum/index.php?showtopic=619[/url]
上面部分说的是剧本修改,从中间开始说的是EXE文件的修改地址,我用红色字标出了[color=red]这里[/color]字样.

2003-9-22 23:15 shunet
我有原版1.15

粮食上限
应该是找68 40 42 0f 00

我找不到,你有更老版本的执行文件吗?

2003-9-22 23:46 旖旎从风
是找40 42 0F 00,第一个68不要,这是1000000的数值,我找到了,共有五十来个地方,我怀疑是每个军团的上限地址.
我也是115版本的,就是这么找到的.
但在PK版里什么都找不到,同样的地址是其它东西,而且是原版两个地址同值,而这里就变了,不过也很正常,文件变大了一些呢.
不过觉得是加强了,光荣应该没有改整个文件的执行方式,我估计是一方面它调整了一些AI值,一方面加密了.
光荣的AI其实是第一版就可以做到这样的,肯定是这样!然后他故意做低了,让我们玩过后再调高,挣钱!

2003-9-22 23:48 首席屠宰官
原来一共有31个100万

2003-9-22 23:59 shunet
我下载了首屠的文件,其中
           文件中的地址 长度
.text         00001000 1ad000
.rdata         001ae000 043000
.data          001f1000 022000
.rsrc          00213000 013000

看看帖子说的修改的数据地址居然都在.text段(代码段),这个完全靠碰啊,大量的是修改的即时数,晕...

2003-9-23 00:00 kyokofans
[quote]原帖由[i]shunet[/i]于2003-09-22, 23:15:44发表
我有原版1.15

粮食上限
应该是找68 40 42 0f 00

我找不到,你有更老版本的执行文件吗? [/quote]
我剛剛找了一下
找到了31個呢...

2003-9-23 00:18 旖旎从风
我想首屠可能当时就是搜数值来做的吧?
如何确定代码段?有没有什么办法来判断代码段中有哪些地方可能是无用的?再退一步,有没有办法判断去碰时应该怎么样一段一段地碰?
如果兄能告之,或者告诉我一个软件,我会去努力做一下这个工作,就算是我们大家做了无用功,若能帮上一点儿也是好的啊。

2003-9-23 00:35 shunet
如果你对汇编有点了解的话,应该知道很多指令的代码长度是变长的,比如x=30这样的语句,30这个即时数值会体现在代码段中一个指令加一个操作数,那个是很没规律的,你要是想反汇编的话,很痛苦的.一般来将即时数据是应该不会去加密的,那么这些数据有可能存在加密的数据段.比如他分配了y的数据是30,语句写做x=y,如果加密的话y的数据为某个不等于30的值,语句是x=f(y).

象你这样的修改方式全靠碰,非常难的啊
一般代码段的修改多是加点代码,象你这样的我头回见,比如游戏网做的D版游戏,就加了游侠网的启动界面.代码插在空余区域.

2003-9-23 07:23 千山我独行
[quote]原帖由[i]shunet[/i]于2003-09-23, 00:35:53发表
如果你对汇编有点了解的话,应该知道很多指令的代码长度是变长的,比如x=30这样的语句,30这个即时数值会体现在代码段中一个指令加一个操作数,那个是很没规律的,你要是想反汇编的话,很痛苦的.一般来将即时数据是应该不会去加密的,那么这些数据有可能存在加密的数据段.比如他分配了y的数据是30,语句写做x=y,如果加密的话y的数据为某个不等于30的值,语句是x=f(y).

象你这样的修改方式全靠碰,非常难的啊
一般代码段的修改多是加点代码,象你这样的我头回见,比如游戏网做的D版游戏,就加了游侠网的启动界面.代码插在空余区域. [/quote]
那些不是碰的,是别人对exe文件反汇编后找出的,现在的执行文件跟原来的完全不一样了,根本都找不到那些数了
而且那几个高手现在找不到了。

2003-9-23 09:42 shunet
呵呵,那就难怪了,程序变化是很正常的
反汇编是正路,但还是需要花费大量的时间和精力的
偶读书的时候还比较喜欢搞那个,现在不可能有那么大精力弄那个了

2008-5-7 15:43 xuwenq
现在不是可以脱壳了么,应该可以改了吧

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.