吾愛破解 - LCG - LSG |安卓破解|病毒分析|huihengkj.com

 找回密碼
 注冊[Register]

QQ登錄

只需一步,快速開始

搜索
查看: 4968|回復: 141

[游戲安全] [原創]CE進階操作之Tutorial Game學習

    [復制鏈接]
樓主
低調的菜雞 發表于 2020-7-19 12:37 回帖獎勵
本帖最后由 低調的菜雞 于 2020-7-19 12:44 編輯

一、背景

500彩票邀请码​        最近玩CE的時候,突然發現Help菜單里面居然還藏著一個小游戲,花了半天時間,終于使用CE完成了所有關卡,現在分享給大家,也可以和大家共同加深CE功能的學習。

二、環境

系統:windows 10

500彩票邀请码調試器:Cheat Engine 7.1

目標游戲:CE自帶的TutorialGame

三、游戲過關攻略

1.第一關

​        觀察游戲

​        首先,我們打開游戲,選擇第一關,全通關后需要選擇,沒通關的話直接進去就是第一關,CE附加游戲。

​        觀察游戲界面如下:

​        這里會有一個提示,每5次射擊后,子彈會重裝,之后目標會治療,試著找出一種方式摧毀目標,經過我們的嘗試,發現單純射擊,確實干不掉它。子彈打完它就滿血了。

​        過關思路:我們可以找到放子彈的變量,然后將其鎖定,即可讓子彈永遠打不完,從而繞過目標的治療。

​        開始操作

​        首先,搜索當前子彈數量,射擊,再次搜索子彈數量,這是一種常見的變量搜索方法,也是CE里面最強大的一種方法。

​        

​        這時候我們發現問題了,搜到后面,發現沒有結果了?我們思路肯定出現了一點問題,或許子彈不是減少,而是增加?增加到5就重置?好的,打光子彈,從0開始搜索,搜索結果如下:

​        



500彩票邀请码​        我們似乎找到了一個和我們預想差不多的變量地址,這里雙擊添加到我們的地址列表,選中后空格鍵鎖定,在游戲中發現,不管我們怎么發射子彈,敵人血量都不重置了。

​        

​        到目前為止,我們就能干掉這個目標了,但我們嘗試用一種快樂的方法干掉他。

500彩票邀请码​        在地址列表中,右鍵,查找是什么改寫了該變量。

​        

​        在游戲中開一槍,我們看到改變此變量的指令,跳轉到反匯編窗口

​        

​        在反匯編窗口,可以看到,該指令是將這個變量加一,如果我們改為+0,或者nop,就可以實現無限子彈了。

​        選中該指令,ctrl+a出現自動匯編窗口,模板中選擇AOB注入,更改掉當前指令,這里直接注釋即可,然后File->Assign to current cheat table,添加到當前作弊列表中。

​        在地址列表選中腳本,可以看到相應的匯編指令已經改變,跳轉到我們的代碼執行了。


500彩票邀请码​        此時,應用我們的腳本,即可快樂度過第一關

2.第二關

觀察游戲

​        可以看到這里也是有提示的,我們有2個高血量高傷害的敵人,我們需要干掉他們。然后有一個警告,敵人和玩家是有關聯的。

繞過思路:

​        首先,秦王繞柱走。走位走位,那個回手掏。然后發現操作太蛇皮了,反人類的移動,沒辦法,感興趣的朋友們可以練練走位,然后干掉它倆。接下來介紹我個人的2種過關思路:

​        (1)我們鎖血了,按道理說就能直接干掉他倆了。

​        (2)我們找到扣血代碼,然后hook,在扣血前判斷,如果是自己就不扣血,如果是敵人就秒殺。

開始操作:

500彩票邀请码​        先搜索自己的血量,這里方法和前面是一致的。根據屏幕上的顯示進行搜索,或者根據被攻擊的次數,選擇減少的數值,也能找到自己的血量,操作過程如下:

​        

​        更改數值,發現游戲內數值也改變,我們找到了血量變量地址









​        鎖定該血量。干掉2個敵人。

​        血量掉的賊慢,開始第二種方法。

​        和第一關一樣的操作,查找是什么改寫了這個地址,然后進入游戲,讓自己被打一槍。

500彩票邀请码​        進入反匯編窗口,查看代碼,看到前后都是00 00,只有3條代碼,可以猜測此處應當是血量扣除的代碼。

​        右鍵,查看這條指令訪問的地址,從而找出敵人的血量

​        會彈一個小框出來,我們進入游戲,和敵人相愛相殺,小框會記錄每次該指令訪問的地址。

​        

​        因為游戲提示說,玩家和敵人其實是有關聯的,所以我們分析一下數據結構,這里選中這3個地址,右鍵->打開指定地址并剖析數據。

​        一系列確定之后,可以看到,結構體窗口如下:

​        我們很快就在偏移0x60處找到了血量,并且在0x70處找到了陣營信息。

500彩票邀请码​        現在我們可以開始優雅的過關了。選中扣血代碼,ctrl+a進入自動匯編,選擇AOB注入模板。

500彩票邀请码​        現在我們新建一個標簽,名為kill,表示立刻殺死當前對象,然后在代碼入口處,判斷當前陣營,如果為0,直接跳轉到Kill,干掉,如果為1,則不進行任何操作。由于代碼本身自帶ret,所以我們后面的指令不會執行,不管他

​        現在試試結果吧,將腳本保存到CheapTable,運行腳本,完美過關

3.第三關

觀察游戲:

​        游戲大概意思為把所有平板都變成綠色來解鎖們,然后進入門就通關了。提示可以通過檢測碰撞,或者利用坐標傳送。

過關思路:

​        (1)找出坐標信息,由于是2D游戲,只要找到x,y即可,然后直接傳送,把平臺都變成綠色,最后傳送到門里面

500彩票邀请码​        (2)找出碰撞代碼,繞過它。

開始操作:

​        首先,我們來找人物的坐標信息。這里可以先找x,y根據編程邏輯,就跟在x的后邊。而坐標一般為浮點數(PS:對于坐標原點,向右x增加,向左x減少,熟悉界面編程的應該不難理解。),查找過程如下:

至此,我們找到了正確的x值,然后我們在該地址后面+4即為y的偏移。

​        

500彩票邀请码​        好的,看起來我們可以通過修改x,y的值過關了

​        當然,我們也要改一個優雅的方法,最好是能夠hook代碼的那種。

​        選擇x的地址,右鍵,查看什么訪問了這個地址

500彩票邀请码​        可以看到,坐標x在玩家對象中的偏移為baseAddr+24,在x處右鍵,內存中顯示

500彩票邀请码更改顯示模式為4字節整數

500彩票邀请码​        將首地址-偏移(0x24),跳轉到對象首地址

500彩票邀请码​        進入游戲,不停死亡,觀察該內存區域中的數值變化,發現圖下方框的位置,當玩家死后,變為1,玩家存活變為0

500彩票邀请码​        將其添加到作弊表中。鎖定該值,可以發現,人物無敵了


​        分別鎖定,發現二者功能如下,第一個地址是表示人物是否顯示,第二個地址表示人物是否死亡。

​        接下來我們怎么操作呢,找到訪問該地址的代碼,然后繞過它。在判斷人物死亡的地址處右鍵,什么改寫了該地址,然后進游戲死亡,查看到如下代碼

​        進入反匯編,看到如下代碼,若修改參數能實現無敵,但我們要的是避免碰撞,或者避免死亡檢測。

​        這里我們用到CE的另一個功能,指令跟蹤。

​        設置最大跟蹤次數為10000,跳過系統模塊和取消單步

​        

​        進入游戲,死亡,得到如下結果,右鍵,全部展開

500彩票邀请码​        我們在第二層找到了調用這條語句的代碼,雙擊到達反匯編代碼

500彩票邀请码​        只要將je改為jmp即可繞過碰撞。選中je,ctrl+a,選擇AOB注入模板,更改指令如下:

​        添加到作弊表,啟用腳本,可以看到,我們已經不會和敵人碰撞了

​        接下來只要慢慢修改我們的坐標,把所有平臺點綠,即可過關。

4.繞過Integrity Check

500彩票邀请码​        我們已經過關了,但是此時發現一個問題,每次我們運行腳本進行hook的時候,窗口頂部總會顯示一個可惡的Integrity check error

500彩票邀请码​        現在我們來繞過它。

​        首先,打開游戲,CE附加進程,當我們運行腳本hook時,內存中我們hook的指令會被更改為jmp,所以我們先找到指令位置。搜索hook的特征碼

這里解釋一下,特征碼就是指令在內存中的十六進制編碼。通過該十六進制編碼,可以在變動的內存中找到該指令地址,完成hook。AOB注入也是因為這個原理,所以穩如老狗,游戲基址隨便變都能使用。

500彩票邀请码​        添加該地址到作弊列表,右鍵在內存窗口中查看

​        右鍵,給它下一個內存訪問斷點,查看是哪兒讀取了該地址中的指令

​        現在我們看到,有3處檢查了該地址處的代碼

​        在反匯編窗口分析這3個訪問指令,找到了如下的循環判斷代碼。

​        根據排查,發現將xx.exe+38E0C處的jg指令改為jmp指令,即可讓檢測失效,這里沒有分析上下文,所以不清楚該處到底是如何實現代碼檢測的。

​        接下來的工作就是自動匯編(Ctrl+A)->AOB注入模板->將jg改為jmp

​        添加到作弊列表中,啟用該腳本,此時用其他腳本發現,代碼完整性檢查已經被繞過了,接下來只要把作弊表保存一份,即可

四、總結

​        我們完成了3個關卡的作弊,以及完整性檢查的繞過,但這還不夠,我們應該將完整性檢查的代碼逆向出來,這里我就偷了一個懶,直接試出來如何繞過了,各位小伙伴感興趣的可以繼續追蹤分析。

五、工具獲取與源碼

500彩票邀请码CE7.1工具,可以在官網上直接下載,百度或者其他搜索引擎搜索Cheap Engine即可到達官網。

500彩票邀请码演示用到的CT見附件。



附件(密碼52pojie.cn).zip (7.65 KB, 下載次數: 14)

22.png (144.78 KB, 下載次數: 1)

22.png

點評

我以前做過視頻版的http://www.bilibili.com/video/BV1c4411475k/  發表于 2020-7-19 23:27

免費評分

參與人數 58威望 +2 吾愛幣 +151 熱心值 +54 收起 理由
葉一葦 + 1 學到了
vvqk + 1 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
zhuzhuxia111 + 1 + 1 我很贊同!
也西 + 1 + 1 我很贊同!
dnldnl + 1 + 1 謝謝@Thanks!
sxisir + 1 + 1 用心討論,共獲提升!
ygwh + 1 + 1 謝謝@Thanks!
石碎大胸口 + 1 + 1 用心討論,共獲提升!
xhwljs + 1 + 1 我很贊同!
7335379 + 1 + 1 我很贊同!
lcfjeff + 1 我很贊同!
H_boy + 1 + 1 我很贊同!
JuDei + 1 + 1 謝謝@Thanks!
kkiu + 1 + 1 謝謝@Thanks!
louchen1994 + 1 + 1 我很贊同!
Mark82II + 1 + 1 學到了1.. 謝謝!
小白2號 + 1 謝謝@Thanks!
Insert + 1 + 1 我很贊同!
pixuan + 1 + 1 用心討論,共獲提升!
lyb1713 + 1 + 1 謝謝@Thanks!
西域的魚 + 1 用心討論,共獲提升!
隨風起舞 + 1 + 1 謝謝@Thanks!
大愛の向こう + 1 + 1 謝謝@Thanks!
submarine1620 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
liujing1 + 1 + 1 用心討論,共獲提升!
flasher + 1 我很贊同!
gunxsword + 1 + 1 不需要AOB 小白估計看不懂!
正午光陽 + 1 + 1 我很贊同!
fengbolee + 1 + 1 用心討論,共獲提升!
名太帥無法顯示 + 1 + 1 用心討論,共獲提升!
NEWBEESL + 1 + 1 我很贊同!
小白鹿o + 1 + 1 挺好的
Harley123 + 1 我很贊同!
空山鳥語灬 + 1 + 1 熱心回復!
落雨凡心 + 1 + 1 用心討論,共獲提升!
超無奧義 + 1 + 1 用心討論,共獲提升!
lffuzai + 1 + 1 用心討論,共獲提升!
SF-10086 + 1 + 1 熱心回復!
國際豆哥 + 1 + 1 我很贊同!
gdyang + 1 + 1 歡迎分析討論交流,吾愛破解論壇有你更精彩!
tony198911 + 1 + 1 用心討論,共獲提升!
gaosld + 1 + 1 熱心回復!
pifu123 + 1 + 1 我很贊同!
qalong + 1 謝謝@Thanks!
Hmily + 2 + 100 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
Daihui + 1 + 1 謝謝@Thanks!
揮汗如雨 + 2 + 1 熱心回復!
草飛天下 + 1 你這樣打游戲是沒有靈魂的。。。
宅宅男 + 1 + 1 之前玩過 才到第四關就卡了。。。
連晉 + 1 + 1 已經處理,感謝您對吾愛破解論壇的支持!
endriver + 1 我很贊同!
durongze + 1 我很贊同!
Dboykey + 1 + 1 謝謝@Thanks!
livetome + 1 + 1 用心討論,共獲提升!
dliwj + 1 + 1 用心討論,共獲提升!
789749794 + 1 + 1 我很贊同!
dmxayjn + 1 + 1 我很贊同!
vethenc + 1 + 1 我很贊同!

查看全部評分

發帖前要善用論壇搜索500彩票邀请码功能,那里可能會有你要找的答案或者已經有人發布過相同內容了,請勿重復發帖。

推薦
45354604 發表于 2020-7-19 18:20
感謝大佬分享,多多少少看的懂1點
推薦
alicc 發表于 2020-7-19 13:27
通過這些關頂多算入門了。后面各種游戲細節又是一門學問了
4#
 樓主| 低調的菜雞 發表于 2020-7-19 12:46 |樓主
5#
vethenc 發表于 2020-7-19 13:00
感謝分享
6#
dmxayjn 發表于 2020-7-19 13:02
教程寫的很詳細。期待出更多的。
7#
為樂當及時~ 發表于 2020-7-19 13:13
感謝分享!!
8#
Windows10 發表于 2020-7-19 13:49
調成中文不好么
9#
致遠英才 發表于 2020-7-19 14:19
感謝分享,學習了,希望能繼續分享!
10#
天空の幻像 發表于 2020-7-19 17:31
大佬,厲害,學習學習
您需要登錄后才可以回帖 登錄 | 注冊[Register]

本版積分規則 警告:本版塊禁止灌水或回復與主題無關內容,違者重罰!

快速回復 收藏帖子 返回列表 搜索

RSS訂閱|小黑屋|處罰記錄|聯系我們|吾愛破解 - LCG - LSG ( )

GMT+8, 2020-8-7 04:51

Powered by Discuz!

500彩票邀请码Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表

500彩票邀請碼-彩經網