日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CE教程第九关——处理共用代码

發布時間:2023/12/10 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CE教程第九关——处理共用代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

步驟 9: 注入++: (密碼=31337157)

這一步將會解釋如何處理游戲中的共用代碼, 這種代碼是通用在除了自己以外的其他同類型對像上

常常你在修改游戲的時候, 你找到了一個單位的健康, 或是你自己角色的健康, 你會發現一種情況:
如果你把健康相關代碼移除的話,其結果是你的角色無敵, 但你的敵人也無敵了。 在這種情況下, 你必須想辦法區分自己與敵人。 有時候很簡單,
你只要檢查最前面的4個字節(函數指針表), 它通常指向一個獨一無二的地址, 代表著游戲玩家角色,而有的時候它是一個團體號碼,
或者也可能是一個指針, 它指向另一個指針, 該址針又指向下一個指針,搞不好還指向下下一個指針,
最后指向一個玩家名字。總之完全取決于游戲的復雜度, 以及你的運氣

最簡單的方法是以"找出是什么改寫了這個地址"去找出游戲代碼,然后使用"分析(新/舊)數據/結構"的功能去比較兩種結構。(你的單位和敵人的單位)然后看看是不是可以找到一個區分兩者的方法。
當你找到如何區分你和電腦單位的方法后,你可以注入一段自動匯編腳本來檢查狀態,然后看是要運行游戲的代碼還是要做其他的修改。(例如一擊必殺)
另外, 你還可以用這個方法去創建一般所說的"字節數組"的字串, 它可以用來搜尋并產生一份所有你的單位或是敵人單位的列表 在這個教程中,
我已經實現了你將會玩到的最驚人的游戲. 這個游戲有4個玩家。2個屬于你的陣容, 另外兩個屬于電腦方。 你的任務是找到改寫健康的代碼,
并且修改以至于你可以獲得勝利,但"絕不能"使用鎖定HP的方法. 完成修改以后, 請按 “重新啟動游戲并自動執行” 來測試你的修改是否正確

提示1: 健康是一個單浮點數 提示2: 解法不只一種

這關要掌握一種新的分析方法:分析結構體。

游戲有4個角色,玩家12是我方,34是敵方。雙方共用扣血代碼,也就是說不能簡單地刪除扣血的代碼,這樣雙方都無敵。

解法

首先,隨便找到一個玩家的血量地址,然后找到扣血的代碼,需要注意的是血量存儲類型是單浮點,如果不知道這個信息,可以用未知類型,未知初始值,數值減小等選項搜索。


找到扣血代碼后,右鍵,選擇“找出指令訪問的地址”


然后讓4個玩家都扣血,這樣就會找到4個地址。


全選,然后選擇“打開選中地址的分析數據”,一路確認。


這樣就找到了4名玩家的結構體


可以看到 +04 是血量,+15 是玩家名,還有其他的信息意義不明。到這里我們可以判斷玩家名來區別處理,不過更簡單的方法是使用 +10 的偏移數據,不難猜測,這個是隊伍編號。只需要讓隊伍1的玩家不掉血就行了。

回到反匯編窗口,選擇自動匯編。


先選擇CT表框架

然后選擇代碼注入


我的改法是如果是隊伍1則血量設置為5000,然后原來的代碼還是要執行的。最后分配到CT表,啟用后發現鎖血5000了。成功!

總結

以上是生活随笔為你收集整理的CE教程第九关——处理共用代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。