逗游網(wǎng):值得大家信賴(lài)的游戲下載站!
發(fā)布時(shí)間:2021-05-12 11:56 來(lái)源:NGA 作者:琉璃雪羽
愛(ài)夏的煉金工房目前已經(jīng)推出DX加強(qiáng)版,游戲中如何更改時(shí)間?下面給大家分享一個(gè)愛(ài)夏的煉金工房DX CE修改教程
Part.1 你需要準(zhǔn)備工具
(大名鼎鼎的CheatEngine,下文簡(jiǎn)稱(chēng)CE),官網(wǎng)在這里
注意,如果你不是在patreon上贊助過(guò)作者的話,直接下載的安裝包會(huì)捆綁2個(gè)軟件,安裝的時(shí)候注意跳過(guò)安裝推廣軟件。或者自行尋找其他安裝包。
Part.2 定位時(shí)間地址
先吐槽一句,Gust的程序員腦洞十分之大。目前測(cè)試的A14。
A14工坊世界的的日歷算法類(lèi)似日本公司的財(cái)年。每年4月1日到本年3月30日為一年(是的,工坊世界先過(guò)4月,然后到12月,再到1月2月3月,3月30日后是第二年,非常反直覺(jué)),一年12個(gè)月,每個(gè)月固定30天。
但是年份在內(nèi)存中的記錄方式卻是按照自然年開(kāi)始記錄的,并且包含了最開(kāi)始并不能游玩的1月1日也就是第零年1月1日,它在內(nèi)存中被記錄第0天,第一年4月1日則是第90天。
雖然作為玩家,你根本不能游玩第0天到第89天的內(nèi)容。
第一步:
在開(kāi)啟游戲的情況下打開(kāi)CE,在CE中選擇你的游戲進(jìn)程
第二步:
根據(jù)我在吐槽中給出的信息,計(jì)算出當(dāng)前日期在內(nèi)存中實(shí)際儲(chǔ)存的值。在CE中搜索該值,會(huì)有多個(gè)結(jié)果。
第三步:
睡一覺(jué),改變?nèi)掌谥?,再次搜索。?shí)際上老手這時(shí)候已經(jīng)能看出應(yīng)該用哪個(gè)地址了。
第四步:
再一次篩選出3個(gè)地址,對(duì)于新手來(lái)說(shuō),最簡(jiǎn)便的辦法就是試錯(cuò)法。在地址上雙擊,逐個(gè)更改這3個(gè)地址,看哪個(gè)地址能順利變更游戲里的日期就行。
當(dāng)然風(fēng)險(xiǎn)就是如果游戲內(nèi)置檢測(cè)(比如DOMO做的軒轅劍就會(huì)內(nèi)置檢測(cè),你改錯(cuò)內(nèi)存被抓到就會(huì)被DOOM工作室拒之門(mén)外)會(huì)被抓小辮子,就算不內(nèi)置檢測(cè),改了錯(cuò)誤的地址也可能會(huì)導(dǎo)致游戲意外跳出,所以務(wù)必存好檔再改。
如果你不想手工試錯(cuò),請(qǐng)接著往下看進(jìn)階處理辦法:
右擊地址,把篩選出的3個(gè)地址,全部附加監(jiān)視器,看是什么改寫(xiě)了這個(gè)地址。
第五步:
可以看到可以看到036A3308這個(gè)地址,哪怕在游戲中不操作的情況下,依舊被改寫(xiě)到起飛。那么這多半不是存儲(chǔ)日期信息的實(shí)際地址,而是一個(gè)用于顯示日期信息的地址或者是暫存的地址。排除。
第六步:
保持監(jiān)視開(kāi)啟,再睡一天。
睡完之后,左側(cè)的監(jiān)視器開(kāi)始檢測(cè)到內(nèi)存被修改的情況,先看左下方的036A3310,因?yàn)?36A3308已經(jīng)被猜測(cè)為不可靠,所以附近的036A3310有沒(méi)有可能就是真實(shí)地址呢?但是睡了一天就讓036A3310被修改了3次,也有點(diǎn)懸。一般來(lái)說(shuō)睡覺(jué)這種簡(jiǎn)單的日期+1動(dòng)作,應(yīng)該只變動(dòng)1次。
雙擊036A3310的監(jiān)視信息,查看詳情。這里需要一點(diǎn)點(diǎn)匯編基礎(chǔ),沒(méi)有基礎(chǔ)也沒(méi)事,直接百度/谷歌就行。我也不是學(xué)程序的,全靠搜索。
可以看到是2個(gè)mov指令,來(lái),百度關(guān)鍵詞:匯編 mov指令,[https://baike.baidu.com/item/MOV/56228441] 在這查到MOV指令的例子:[MOV EAX,#050aH ;將十六進(jìn)制數(shù)050a 傳送到通用寄存器eax中]
那紅框部分的意思就是:
1402B56F8 - mov eax,[rdi+48]//把[rdi+48]地址里的數(shù)傳遞到eax寄存器。
1402B56FB - mov [rdi+50],eax//把eax寄存器里的數(shù)傳遞到[rdi+50],這就是我們檢測(cè)到036A3310內(nèi)存改動(dòng)的地方。
那rdi是多少呢,看下面的表,RDI=036A32C0。所以[rdi+48]=36A 3308,[rdi+50]=36A 3310
那完?duì)僮恿耍瑒倓偡治隽?6A3308很可能是個(gè)臨時(shí)寄存,這下好了36A3310是從這個(gè)臨時(shí)寄存?zhèn)鬟f來(lái),所以36A3310這個(gè)地址,很可能也不是存放日期信息的原始地址。
排除036A3308和036A3310之后,那就只剩141B5CA00一棵獨(dú)苗了。如果是單純的想要調(diào)整日期,修改141B5CA00這個(gè)地址就可以了,但是都到這一步了,不繼續(xù)往下學(xué)學(xué)嗎?? 要在此止步煉金術(shù)的研修嗎? ...
右擊需要修改的地址,選擇修改數(shù)值
輸入92,即為調(diào)整到第一年4月2日
調(diào)整完成
第七步:
現(xiàn)在看141B5CA00的兩條寫(xiě)入。可以看到這兩條命令的位置非常接近,一個(gè)操作是1403610C0,一個(gè)操作是1403610CC,非常接近。雙擊這兩條修改記錄,看修改的詳細(xì)信息。其實(shí)詳細(xì)信息里基本就能看到,1403610C0往下走幾條就是1403610CC了。
先看第一條[1403610C0 - add [rcx],edx],右擊他,選擇在在反匯編程序中顯示地址。開(kāi)啟反匯編。畫(huà)橙色框框的地方就是從1403610C0到1403610CC
來(lái)看看這堆指令大概的意思(我也是猜的,誰(shuí)讓我是個(gè)財(cái)務(wù),并不懂計(jì)算機(jī)。)
Atelier_Ayesha.exe+3610C0 - 01 11 - add [rcx],edx 在[rcx]地址的數(shù)據(jù)上加上edx
Atelier_Ayesha.exe+3610C2 - BA 00000000 - mov edx,00000000 將edx改為0
Atelier_Ayesha.exe+3610C7 - 8B 01 - mov eax,[rcx] 在[rcx]地址的數(shù)據(jù)寫(xiě)入eax寄存器
Atelier_Ayesha.exe+3610C9 - 0F48 C2 - cmovs eax,edx 看不懂……
Atelier_Ayesha.exe+3610CC - 89 01 - mov [rcx],eax 在eax寄存器寫(xiě)入[rcx]地址
這里的[rcx]可以參考右邊監(jiān)視器中的數(shù)據(jù),在指令執(zhí)行的時(shí)候,這個(gè)[rcx]實(shí)際上就是我們正在監(jiān)視的內(nèi)存地址141B5CA00。
那么到這就可以猜測(cè)了,add命令很明顯是游戲變動(dòng)日期的操作,edx寄存器中很可能是選擇的睡覺(jué)天數(shù),如果睡1天,edx就是1,睡2天edx就是2。
那么,只要我們劫持[Atelier_Ayesha.exe+3610C0 - 01 11 - add [rcx],edx ]這條指令,把他替換成nop,就可以讓日期永遠(yuǎn)不前進(jìn)。
替換后的指令明細(xì)可以在這里查詢(xún)
-----------------------完結(jié)的分割線-------------------------------
有的新同學(xué)可能要問(wèn)了,哎我既然能找到地址,為什么要費(fèi)盡去劫持替換程序的匯編碼呢?
因?yàn)樵诖蠖鄶?shù)的游戲里,內(nèi)存地址是動(dòng)態(tài)分配的,每一次運(yùn)行游戲,存儲(chǔ)日期的內(nèi)存地址都不一樣。如果你只保存內(nèi)存地址信息,下一次再想修改日期時(shí),需要重新定位內(nèi)存地址。
而匯編碼是游戲程序的底層,只要游戲主程序不更新,匯編修改永遠(yuǎn)有效,你大可以把修改后的匯編導(dǎo)出,留待下一次需要的時(shí)候使用。
甚至你可以把匯編修改導(dǎo)出為腳本,做出一個(gè)小程序,CE本身就內(nèi)置了一個(gè)導(dǎo)出腳本程序的功能。沒(méi)錯(cuò),你也可以當(dāng)楓靈月影,做自己的修改器。
《罪惡都市》決定版數(shù)據(jù)在Steam后臺(tái)更新
《Apex英雄》日蝕戰(zhàn)斗通行證預(yù)告 全新傳說(shuō)皮膚等
《霍格沃茨之遺》登上Steam愿望單排行榜榜首
《布蘭博:山丘之王》試玩Demo上線 2023年發(fā)售
《刀劍神域》“今日正式發(fā)售” 官方發(fā)布周年紀(jì)念禮盒
《七龍珠:破界斗士》公布賽季更新路線圖
《獵天使魔女3》通過(guò)NS模擬器 在PC上以4K/60幀運(yùn)行
《刺客信條:幻景》樂(lè)曲“Into the light”欣賞
《獵天使魔女3》首日更新 改進(jìn)防走光模式調(diào)整平衡
《生化危機(jī)8》云游戲版發(fā)售預(yù)告公布 今日登陸Switch
解謎探險(xiǎn)游戲《艾瑞克與破碎王國(guó)》6月30日正式發(fā)售
《午夜殺生重制版》吸血鬼獵人克里斯托夫預(yù)告片公開(kāi)
《美國(guó)卡車(chē)模擬》新DLC“內(nèi)布拉斯加”公開(kāi)發(fā)行日期
《開(kāi)拓者:正義之怒》最終DLC假面之舞六月正式上線
復(fù)古動(dòng)作《GladMort》開(kāi)啟眾籌 致敬經(jīng)典游戲魔界村
《東京料理》即將登陸Switch平臺(tái) 模擬經(jīng)營(yíng)壽司店
玩家自制《光環(huán)》大型戰(zhàn)役模式MOD 支持最多4人合作
Switch重制版《路易鬼屋2HD》開(kāi)場(chǎng)動(dòng)畫(huà)視頻公開(kāi)