3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 9903|回复: 35
打印 上一主题 下一主题

[原创] [终于明白了祖传优化的意义][肯读汇编代码的萌新来辣][CT脚本(抛砖引玉砸人版)][请版主【不要】设置回复可见][请大家积极参与讨论,不要灌水,谢谢]

[复制链接]

65

主题

981

帖子

3405

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
431
金元
16506
积分
3405
精华
3
注册时间
2014-11-13

3DM MOD站(黄金)

跳转到指定楼层
#
发表于 2019-3-31 15:26 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 qweytr_1 于 2019-4-3 13:41 编辑

4c59fbb8

在开始之前,我希望解释一下我失败的经过,这款游戏真的不愧是祖传优化……
用imul计算整除除法我也是头一回见(原理,a/b=a*[b^(-1)],而[b^(-1)]mod 18446744073709551616是可以预先算出来存起来的,于是神奇的imul成功地将0x669C/0x21转化成了0x669C*0xF83E0F83E0F83E1)
以及,4c59fbb8是我追码时候做的esp记录,后来发现,手工记录显然不如CE记录有效,而x86的辣鸡结构不能直接内存对拷任你本事通天大都要过一遍寄存器——这就给CE的trace功能一个很强大的支持,你可以先trace,保存trace文本,然后用notepad++之类的工具打开,进行搜索

首先谢过fearlessrevolution.com的CT表,以及论坛@pad123 的无私汉化,没这些,我大概只能从头开始啃了

闲话少说,开始正文……

首先放一个“体验极差”:
81 FA 3F 42 0F 00 7E 4A C7 01 3F 42 0F 00
改成
81 FA 3F 42 0F 00 90 90 C7 01 3F 42 0F 00

nop掉一个jle,如果不出意外,四大源素会变成999999
仔细阅读这段代码,不难作出
物品不减:
<




这个CT表的目标是,提升临时帮工们的素质,每次只产出十几个也太无力了些,明明头像是辣么萌的妹纸,分明萌是第一生产力啊~
为了生产力,我们首先需要找到生产力的算法

尝试以通草产量搜索,未果,不得以,找出以前写CE炼金的精神,开始啃汇编码

注意到产量与适性应是正相关的,而本作适性又与基础数值挂钩,于是以基础数值为基础,开始读代码
于是,我读到了祖传优化……比如imul做除法,又比如,长长一大段不知所云,再比如,栈内元素从来不用,rsp常常括号内挂着+30标志……也没谁了

追码有一个特别技巧,右键,跟踪,然后让CE生成一串跟踪堆栈之类的东西,而后不要用CE,直接存起来。文本编辑器打开保存文件之后Ctrl+F比CE好用10000倍……

贴一下计算公式
这是一个从地址09BA结尾的程序里面读出来的,某次追码得到的花园产量计算公式:

xmm7=[4C59FA90+20](=0)
xmm6=某个奇怪的数字/100


xmm2=[4C59FA90+78](=1.00)
xmm2=xmm2*xmm7
xmm7=[4C59FA90+20](=0)
xmm1=(double)(edi(=00000007))
xmm2=xmm2*xmm6
xmm0=(double)ebx
xmm2=xmm2+xmm0
xmm3=(double)eax
xmm2=xmm2*xmm1
xmm3=xmm3+xmm2


最后,计算结果被存到了esi中,也就是,如果能改掉esi的值,emmm...
有爱自取整合随意,顺手抄上了GPL v3的license,反正大家也不可能用这个脚本卖钱嘛……
如果准备整合的话,记得在整合之后的脚本注明GPL许可(这是个人感觉GPL最好的一点,现在真心觉得开源程序都是良心程序)


<
另外,“翻译”了一下任务选项,找到了不少东西的含义,虽然还没胆子修主线任务以及加人口的国策任务,也没找到哪里能改任务种类,不过只要你把“需要几个才能完成任务”跟“已完成数量”都锁定成相同的数值,基本上任务是可以自动完成的
<

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

2

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-7-9 23:59 , Processed in 0.100810 second(s), 17 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表