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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cheat Enginee(CE)自带教程使用指南

發(fā)布時間:2023/12/31 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cheat Enginee(CE)自带教程使用指南 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

步驟 1:

首先要執(zhí)行 Cheat Engine ,如果你還沒有運行它的話。
然后點擊"選擇進(jìn)程"圖標(biāo)按鈕(左上角那個帶有電腦的圖標(biāo))。

當(dāng)進(jìn)程列表窗口打開后找到這個訓(xùn)練程序,如果你沒有重新命名該程序的名稱,那么進(jìn)程名應(yīng)該是"tutorial.exe",

選擇它,并點擊"打開"?,F(xiàn)在暫時不要理會其它的按鈕,如果你有興趣的話,以后再研究它們。
沒什么意外的話,進(jìn)程列表窗口將會消失并且在 Cheat Engine 主界面的上方會顯示選擇的進(jìn)程名稱。
好了,點擊"下一步"按鈕進(jìn)入下一個步驟

步驟 2: 精確值掃描 (密碼=090453)

現(xiàn)在你已經(jīng)在 Cheat Engine 中打開了訓(xùn)練程序,為我們下一步的練習(xí)做好了準(zhǔn)備。
本窗口的左下方顯示的"健康:XXX",

在你每次點擊"打我"按鈕時,它的值便會減少。


要進(jìn)入下一關(guān),你必須找到這個數(shù)值并把它改成 1000 。

很多方法都可以找到這個數(shù)值的位置,但我將告訴你一個最簡單的方法,“精確數(shù)值"掃描:
首先確認(rèn)數(shù)值類型設(shè)置為2字節(jié)或4字節(jié),設(shè)置成1字節(jié)也可以的,不過最終修改數(shù)據(jù)的時候便會有點麻煩了(雖然說這是很容易解決的問題)。假如該地址后邊的字節(jié)數(shù)值都為 0 ,
那么你設(shè)置成 8 字節(jié)也未嘗不可,
在這我們就不必嘗試了。單浮點數(shù),雙浮點數(shù),以及其他的掃描方法在這里行不通的,因為它們儲存數(shù)值的方式不同。
當(dāng)數(shù)值類型設(shè)置正確后,確認(rèn)掃描類型設(shè)置了"精確數(shù)值”,把健康值填寫在數(shù)值的輸入框,并點擊"首次掃描",稍等一會兒(假設(shè)你的電腦非常的慢),掃描完畢,掃描的結(jié)果將會顯示在主界面的左側(cè)。
如果檢索結(jié)果多于一個,你無法確定哪一個是正確的地址,那么繼續(xù)點擊"打我",并將變更后的"健康值"填寫在數(shù)值輸入框中,點擊"再次掃描",重復(fù)這些步驟,直到你能確認(rèn)已經(jīng)找到了地址(在地址列表中只有一個地址)。
好,雙擊左側(cè)列表中的地址,該地址便會移動到下方的地址列表中并顯示它的當(dāng)前數(shù)值。r
雙擊下方地址列表中的數(shù)值(或者選擇它,按下回車),填寫你要修改的數(shù)值:1000 。
如果操作正確,"下一步"按鈕將變成可點擊狀態(tài),本關(guān)就完成了。

提示:
如果你在掃描過程中出現(xiàn)了錯誤,可以點擊"新的掃描"重新再來。當(dāng)然,你也可以點擊"打我"去查找一些更有價值的線索。

步驟 3: 未知的初始值 (密碼=419482)

OK, 看來你已經(jīng)理解了如何利用"精確數(shù)值"掃描查找數(shù)值了,讓我們進(jìn)行下一步。
在上一關(guān)中我們知道初始數(shù)值的大小,所以我們可以利用"精確數(shù)值"掃描,但本關(guān)中僅有一個狀態(tài)欄,我們并不知道它的初始數(shù)值。

我們只知道這個數(shù)值在0到500之間,并且每次點擊"打我"之后便會減些健康值,每次減少的健康值會顯示在進(jìn)度條的上方。
同樣有好幾種方法可以找這個數(shù)值,(例如使用"數(shù)值減少了…“掃描方式),但我只教你最簡單的方法,“未知的初始值"和"減少的數(shù)值”。
由于不知道當(dāng)前數(shù)值的大小,“精確數(shù)值"掃描便派不上了用場,所以選擇掃描方式"未知初始數(shù)值”。數(shù)值類型仍然選擇 4 字節(jié)(這是因為大多數(shù)WINDOWS應(yīng)用程序都使用 4 字節(jié)存放數(shù)據(jù))。點擊"首次掃描"并等待掃描結(jié)束。
掃描完成后,點擊"打我”,你會減少一些健康值。(減少的健康值顯示幾秒便會消失,你并不需要刻意記下它)。

回到 Cheat Engine,在掃描類型中選擇"減少的數(shù)值",然后點擊"再次掃描"。
掃描完畢后,再次點擊"打我",并重復(fù)上述步驟,直到檢索出很少的幾個地址。
我們已經(jīng)知道這個數(shù)值在0到500之間,所以挑出那個最為相似的地址,并將它加到下方的地址列表。

現(xiàn)在,更改健康值為 5000,以便我們進(jìn)入到下一關(guān)。

步驟 4: 浮點數(shù) (密碼=890124)

在前面的教程中我們使用字節(jié)的方式進(jìn)行掃描,但有些游戲使用了"浮點數(shù)"來存儲數(shù)值(這么做是為了給菜鳥制造一些麻煩,讓他們沒那么容易修改游戲)。
浮點數(shù)是帶有小數(shù)點的數(shù)值(如 5.12 或 11321.1)。
正如本關(guān)中的健康和彈藥,兩者都以浮點方法儲存數(shù)據(jù),不同的是,健康值為單精度浮點數(shù),而彈藥值為雙精度浮點數(shù)。



點擊"打我"將減少一些健康值,而點擊"開火"則消耗掉 0.5 的彈藥。
你得把這兩項都修改到 5000 或者更多才能過關(guān)。
"精確數(shù)值"掃描的方式雖然也可以完成本關(guān)的工作,但你應(yīng)該試試其它更簡練的掃描方式。

提示: 掃描雙浮點數(shù)類型建議禁用 “快速掃描”

步驟 5: 代碼查找 (密碼=888899)

某些游戲重新開始時,數(shù)據(jù)會存儲在與上次不同的地方, 甚至游戲的過程中數(shù)據(jù)的存儲位置也會變動。在這種情況下,你還是可以簡單幾步搞定它。
這次我將盡量闡述如何運用"代碼查找"功能。
下方的數(shù)值每次啟動教程的時候都會存放在內(nèi)存不同的位置,所以地址列表中的固定地址是不起作用的。
我們要先找到這個數(shù)值當(dāng)前的存儲地址(要如何去做,相信不用我再啰嗦了)。

當(dāng)你找到了地址就添加在下方的地址列表中,然后右健單擊該地址,在彈出的菜單中選擇"找出是什么改寫了這個地址",將彈出一個空白的窗口。

接著點擊本教程窗體上的"改變數(shù)值"按鈕,并返回 Cheat Engine 。如果操作沒問題 在剛才彈出的空白窗口中會出現(xiàn)一些匯編代碼。

選中代碼并點擊"替換"按鈕,將它替換成什么也不做的代碼(空指令),同時,修改后的代碼也將放置在"高級選項"的代碼列表中去(保存地址列表時會同時保存)。

點擊"停止",游戲會以正常的方式繼續(xù)運行下去,點擊"關(guān)閉"按鈕,關(guān)掉窗口。
現(xiàn)在,再次點擊教程窗口上的"改變數(shù)值",沒問題的話,"下一步"將變?yōu)榭牲c擊的狀態(tài)。

提示:如果你以足夠快的速度鎖定住該地址,"下一步"按鈕也會變?yōu)榭牲c擊的。

步驟 6: 指針: (密碼=098712)

上一步闡述了如何使用"代碼查找"功能對付變化位置的數(shù)據(jù)地址,但這種方法往往不能達(dá)到預(yù)期的效果,
所以我們需要學(xué)習(xí)如何利用指針。
在本關(guān)的 Tutorial.exe 窗口下面有兩個按鈕,一個會改變數(shù)值,另一個不但能改變數(shù)值而且還會改變數(shù)值在內(nèi)存中存儲的位置。
這一步,你不需要懂得匯編,但如果懂的話會很有幫助。
首先找到數(shù)值的地址,然后再查找是什么改寫了這個地址。

再次改變數(shù)值,CE 便可以列出找到的匯編代碼。

雙擊一行匯編代碼(或選擇它并點擊"詳細(xì)信息")并打開"詳細(xì)信息"窗口以顯示詳細(xì)的信息,用來告訴你當(dāng)這個指令運行時發(fā)生了什么事情。
如果在這條匯編指令中沒看到方括號([])的存在,我們就應(yīng)該查看下一條匯編代碼的詳細(xì)信息,
如果看到了方括號,那很可能表示我們已經(jīng)找到了需要的指針。

返回到主 cheat engine 窗口 (只要你愿意,你可以保持這個額外的信息窗口為打開狀態(tài)。如果你要關(guān)掉它,那么要記好方栝號中間的代碼)并做一次 4 字節(jié)的掃描,掃描"詳細(xì)信息"窗口中告訴你的一串十六進(jìn)制數(shù)值。

掃描完成時它可能返回一個或幾百個地址。大多數(shù)時候你需要的地址將是最少的一個。

現(xiàn)在點擊"手工添加地址"按鈕,并勾選"指針"選項。

"添加地址"窗口將發(fā)生變化,多出了"Address of Pointer(指針地址)"和"Offset (Hex)(偏移量(16進(jìn)制))"的文本框,以便您鍵入一個指針的地址和偏移量。
請盡量填入剛才掃描到的地址。
如果匯編指令中的方栝號里存在計算(例如:[esi+12])則把數(shù)值部分填在"Offset (Hex)"的文本框中,如果不存在,則讓它保持為 0 。
如果看上去是更復(fù)雜的計算指令的話(舉例說明一下):
[EAX2+EDX+00000310] eax=4C 并且 edx=00801234.
這種情況下 EDX 便是數(shù)值的指針,而 EAX2+00000310 則是它的偏移量, 所以你要填在"Offset (Hex)"的將是 2*4C+00000310=3A8。(這些都是在十六進(jìn)制下計算的,你可以使用WINDOWS的計算器,在科學(xué)方式下用十六進(jìn)制計算)。
回到教程,點擊"確定"這個地址便會加到 CE 主窗口下方的地址列表中,如果沒做錯,在地址欄將顯示 P->xxxxxxxx,而 xxxxxxxx 和你掃描到的地址數(shù)值是一致的,如果不一致,那么可能是哪里出錯了。
現(xiàn)在, 改變那條指針地址的數(shù)值為 5000 并鎖定它,

然后點擊 Tutorial.exe 窗口上的"改變指針"按鈕,如果一切正確,"下一步"按鈕將變?yōu)榭牲c擊狀態(tài)。

備注:
你也可以使用"指針掃描"的方式來查找這個指針地址。

步驟 7: 代碼注入: (密碼=013370)

代碼注入是將一小段你寫出的代碼注入到目標(biāo)進(jìn)程中并執(zhí)行它的技巧。
在這一步教程中,你將有一個健康值和一個每按一次將減少 1 點健康值的按鈕,
你的任務(wù)是利用"代碼注入",使每按一次按鈕增加2點的健康值。

查找這個地址,然后看看是什么在改寫它(“找出是什么改寫了這個地址”)。

當(dāng)你看到那條減少
數(shù)值的匯編代碼后,選擇"顯示反匯編程序",
然后打開"自動匯編窗口"(菜單-工具->自動匯編 或 按下快捷鍵 Ctrl+a ),選擇"模板"中的"代碼注入"。

CE 將自動生成一部分匯編代碼并為你輸入指令做好準(zhǔn)備(如果 CE 沒有給出正確的地址,你也可以手工輸入它)。

注意 alloc 這部分代碼,它會為你的代碼分配出一小塊空白的內(nèi)存,過去,在 Win2000 之前的系統(tǒng),這種行為存在安全隱患,很可能導(dǎo)致系統(tǒng)崩潰,幸運的是,這種情況在 win2000 以后的操作系統(tǒng)得到改善。
也要注意line newmem: 、originalcode: 以及用文本"此處放置你的代碼"標(biāo)示出的空白部分
正如你猜測的, 在這兒可以寫下每次增加2點健康值的代碼。
在這種情況下推薦你使用 “ADD” 匯編指令,

下面是一些示例:
“ADD [00901234],9” 使 [00901234] 地址的值增加9
“ADD [ESP+4],9” 使地址指針 [ESP+4] 的值增加9
在本關(guān)的情況下,你可以使用相同的手法處理減少健康值的那條原代碼方括號之間的部分。

提示 1:
推薦你從原代碼中刪除減少健康值的那行代碼,否則你得加 3 點健康值(你增加了3點,原代碼減去1點,最終結(jié)果才會增加2點),這樣看上去很容易讓人迷惑,但最終方案還是由你來決定好了。
提示 2:
某些游戲中,原代碼可能在多條指令之外,有時候(并非一向如此),它可能由不同的地方跳轉(zhuǎn)至你的指令中并結(jié)束運行,其結(jié)果可能引起未知的錯誤;如果出現(xiàn)了這種情況,通常應(yīng)當(dāng)查看附近的那些跳轉(zhuǎn)指令,進(jìn)行修改,或者嘗試使用不同地址進(jìn)行代碼注入,確認(rèn)無誤后便可以將你修改的代碼注入到原代碼中了。

步驟 8: 多級指針: (密碼=525927)

在這一步將解釋如何使用多級指針。
在第 6 步,你已經(jīng)清楚 1 級指針的概念和用途,并可以利用數(shù)值的首個地址找到存放數(shù)據(jù)真正的基址。

在本關(guān)中,你將看到 4 級指針,它由第一個指針指向第二個指針,再由第二個指針指向第三個指針,由第三個指針指向第四個指針,最終指向健康值的真正地址。





開始的幾步與在第 6 步中的操作基本相同。找出是什么訪問了這個地址,然后分析匯編指令,查找指針地址中的數(shù)值,以及它的偏移量,將它們記下來。但這次你按數(shù)值找出的仍然是一個指針,你得依據(jù)這些數(shù)值,使用同樣的操作方法找出指向這個指針的指針。看看是什么訪問了你發(fā)現(xiàn)的那個指針地址,分析匯編指令,留意可能的代碼和偏移量,并加以利用。
持續(xù)這種過程,直到不能更進(jìn)一步查找為止(通?;窞殪o態(tài)時,地址將以綠色標(biāo)示)。
點擊"改變數(shù)值"改變健康值,
如果你發(fā)現(xiàn)列表中那些指針地址所指向的值發(fā)生同樣的變化時,那表示你可以試著將基址中的值更改為 5000,并鎖定它,以便完成本關(guān)的任務(wù)了。

備注1: 本步驟也可以使用自動匯編程序腳本或者使用指針掃描器加以解決。
備注2: 在某些情況下,可以改變 CE 軟件"代碼查找"的相關(guān)設(shè)置。
當(dāng)你遇到類似于 mov eax,[eax] 的指令時,調(diào)試程序?qū)@示改變之后的寄存器中的值,也許利用它更容易找出指針的位置。

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

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

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

最簡單的方法是以"找出是什么改寫了這個地址"去找出游戲代碼,然后使用"分析(新/舊)數(shù)據(jù)/結(jié)構(gòu)"的功能去比較兩種結(jié)構(gòu)。(你的單位和敵人的單位)然后看看是不是可以找到一個區(qū)分兩者的方法。







當(dāng)你找到如何區(qū)分你和電腦單位的方法后,你可以注入一段自動匯編腳本來檢查狀態(tài),然后看是要運行游戲的代碼還是要做其他的修改。(例如一擊必殺)
另外, 你還可以用這個方法去創(chuàng)建一般所說的"字節(jié)數(shù)組"的字串, 它可以用來搜尋并產(chǎn)生一份所有你的單位或是敵人單位的列表
在這個教程中, 我已經(jīng)實現(xiàn)了你將會玩到的最驚人的游戲.
這個游戲有4個玩家。2個屬于你的陣容, 另外兩個屬于電腦方。
你的任務(wù)是找到改寫健康的代碼, 并且修改以至于你可以獲得勝利,但"絕不能"使用鎖定HP的方法.
完成修改以后, 請按 “重新啟動游戲并自動執(zhí)行” 來測試你的修改是否正確

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

總結(jié)

以上是生活随笔為你收集整理的Cheat Enginee(CE)自带教程使用指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。