红色警戒2修改器原理百科(四)
(九)重置超級武器CD——額外核彈帶來的驚喜2
??? 跟入上一個調整核彈CD的CALL 0069CCF0后,會發現一些有意思的偏移。
字節,+3C=CD就緒后,提示文字的顏色
字節,+55=該選項是否存在。貌似修改沒什么用
字節,+56=標志是否是一次性機會。上面使用CALL獲得的額外核彈=1,改成0,發射核彈無效果
字節,+57=就緒標志。修改成1直接可以使用超級武器,倒計時文字還在倒計時
字節,+58=等待標志。直接修改成1顯示等待,實際卻還在冷卻,大概還有一個暫停標志配合
以上紫色文字是確定部分,具體效果,請自測。
??? 然后跟蹤程序往下走,在返回前有一個CALL,是真正用來重置CD的。0069CCF0這個位置的函數,更確切的說是用來初始化CD的,因為初次建造超武會來到這里,使用完超武進入CD或重新就緒不進入這里。
立即刷新超武CD的腳本
//重置超級武器CD pushad mov eax,2 //超武編號 push eax mov edx,[00A35DB4] mov ecx,[edx+1A0] mov ecx,[ecx+eax*4] call 0069D690 popad ret進入0069D690,會發現一些字符串,就是超武編號,包括傘兵哦~~
??? 由此,就得到了重置超級武器CD的方法:可以用CALL,這樣右下角的倒計時也會就緒,缺點是每次重置CD都要建新線程;也可以用Timer更改偏移+57的位置=1,可以一勞永逸無限使用超級武器。到這里,由額外核彈帶來的一些驚喜也就完了。
(十)小地圖雷達——完善地圖全開
??? 直接找雷達存在標志,搜索字節(這樣,如果是4字節也能搜到),存在雷達=1,不存在=0,依次重復,最后確定字節game.exe+6339B4=是否存在雷達標志(賣掉雷達動畫還沒完時最先變成0)。然后得到指令00633152 - mov [esi+000014D4],bl修改了該標志。
??? 下斷點斷下后,返回一層,就可以看到,關鍵位置
得到開雷達腳本
//開關雷達 pushad push 1 //開關 mov ecx,008324E0 call 00633140 popad ret??? 但是,這個可惡的但是!一旦電力不足將會關閉雷達,這是很不爽的。繼續往上翻看,可以發現讀取了電力和負載,修改這里的代碼是可以達到效果的。有的修改器確實修改了附近,比如紅色警戒2修改大師(加了一個很厲害的殼,我才不會告訴你,帶殼也能耍流氓,此處僅是友情宣傳,我也知道這文章沒幾個人看現已取得作者授權公開了,但這里沒什么要說的,修改了個跳轉而已)。其實當你發現這里后,然后啟動修改器的功能,就會發現這里被修改了
??? 然而最后我沒有選擇修改這里,因為兩個字,不優雅。上面第二個跳轉發現沒,它跳走了電力判斷,字節[EAX+2228]是關鍵,這也是地圖無償雷達的標志,上面還有一句EAX=[game.exe+63D290]。用過紅警2地圖編輯器就知道了,地圖上有這個選項的。只要改成1,展開基地車就有永久雷達用了。不用擔心電力不足和建造的雷達被摧毀時小地圖又被關掉了。為什么我沒有發現有修改器修改這個標志來開雷達?這就是要有好奇心,多分析,多結合已知內容咯@.@我沒夸我自己,我沒夸,反正我是信了。
??? 其實,如果想不到有無償雷達(不該想不到的,因為有些任務圖一開始什么建筑都沒有,就會有小地圖雷達,怎么解釋?),也可以分析出來這跳轉很有貓膩。首先是個很大的跳轉,跳過了電力和負載的判斷,并且沒有跳過雷達狀態變動的調用。這樣的跳轉只有兩個:004F2E91? jnz 004F2F8C和004F2EA4? jnz 004F2F87。
??? 然后觀察,上上上圖(本小節第一個圖),004F2FA0? je 004F2FB1這個跳轉控制著是否跳過雷達狀態變動,跳轉的條件和[ESP+10]的值息息相關,而跳到004F2F87的跳轉,將[ESP+10]修改成了1。肯定不是沒事吃飽了撐的才改成1,當然是滿足了什么條件,決定什么結果要發生。結果就是雷達被打開,條件就是[EAX+2228]。
??? 號外:筆者在寫這篇文章截圖時,又發現一個神奇的標志,[game.exe+4324E0+14A8],可以改成0,1,2,3,去修改試試吧,和雷達有關。我真不會告訴你在哪發現的了,應該自己去探索
To be continued…
轉載請注明來源,http://www.cnblogs.com/viewll/p/4769636.html
轉載于:https://www.cnblogs.com/viewll/p/4769636.html
總結
以上是生活随笔為你收集整理的红色警戒2修改器原理百科(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos 7.2 安装Docker
- 下一篇: html定义微调器,bootstrap4