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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

CE使用指南之扫雷棋盘扫描

發(fā)布時間:2024/3/26 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CE使用指南之扫雷棋盘扫描 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2.3第三次作業(yè)

?“掃雷”游戲逆向分析

2.3.1棋盤內(nèi)存地址范圍

2.3.1.1 初級棋盤內(nèi)存地址

1.取消“快速掃描”,掃描類型選擇“未知的初始值”,點擊棋盤第一個格子,隨后點擊“首次掃描”。

2.點擊“笑臉”,刷新棋盤,再次點擊棋盤第一個格子,若數(shù)值與上一次相同,則掃描類型選擇“未變動的數(shù)值”,若數(shù)值與上次不同,則掃描類型選擇“變動的數(shù)值”。

????

?

如上圖所示數(shù)值未變動,則選擇“未變動的數(shù)值”,點擊“再次掃描”。第二步操作反復(fù)進(jìn)行,最后看到綠色的基址。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ?

3.將該記錄添加到下方,右鍵選擇“瀏覽相關(guān)內(nèi)存區(qū)域”,相關(guān)內(nèi)容如圖所示。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

點擊“笑臉”,再點擊棋盤第一個格子,觀察下方內(nèi)存數(shù)據(jù)的變化,我們可以得出第一個格子的地址為01005362。

?

?

4.同理找到棋盤的最后一個格子地址為01005468。

?

?

因此最后得出初級棋盤地址范圍是01005362 ~ 01005468。

2.3.1.2 ?其他級別棋盤內(nèi)存地址

同理找出中級棋盤和高級棋盤的地址范圍為:

中級棋盤地址范圍 01005362?~ 01005551;

高級棋盤地址范圍 01005362?~?0100555Frr。

2.3.2 游戲中各變量的內(nèi)存地址

2.3.2.1 雷數(shù)的內(nèi)存地址

1.找旗子的地址。(中級棋盤)查看左上角雷的個數(shù)共40個,右側(cè)輸入40,掃描類型選擇“精確數(shù)值”,點擊“首次掃描”,如圖所示。

?

任一格子放置旗子,數(shù)量變?yōu)?9,輸入39進(jìn)行“再次掃描”,得出找出了旗子的基址為01005194。

?

?

2.掃描雷的內(nèi)存地址。因為旗子和雷的初始數(shù)據(jù)是一樣的,所以先掃描旗子的數(shù)據(jù),第一次掃初級棋盤的旗子數(shù)量10,轉(zhuǎn)換到中級棋盤,再次輸入旗子數(shù)量40,得出三個基址。

?

我們發(fā)現(xiàn),這三個地址中,有一個和旗子地址一樣,則排除該地址。剩余兩個地址,我們分別修改數(shù)值為1,然后點擊棋盤。修改01005330地址的數(shù)值發(fā)現(xiàn)棋盤沒有變化,則排除,具體內(nèi)容如圖所

示。

?

?

?

修改010056A4地址的數(shù)值為1,刷新棋盤,點擊某一格子,發(fā)現(xiàn)可通關(guān),則該地址為雷數(shù)的內(nèi)存地址。

?

2.3.2.2 笑臉的內(nèi)存地址

1.選擇掃描類型為“未知的初始值”,此時表情狀態(tài)為“笑臉”,點擊“首次掃描”。

?

2.點擊棋盤,改變表情的狀態(tài),若表情變化,則掃描類型修改為“變動的數(shù)值”;若未變化,則選擇“未變動的數(shù)值”。隨后點擊“再次掃描”,反復(fù)操作。最后得出地址為009759DB。

?

2.3.2.3 計時器的內(nèi)存地址

1.輸入游戲時間“0”,選擇“精確數(shù)值”,開始游戲,游戲時間會開始變動,掃描類型則選擇“變動的數(shù)值”,點擊“再次掃描”,反復(fù)操作。最后得出地址0100579C。

?

?

2.3.3地雷存放的算法

輸入?yún)?shù):

int height, int width, int mineCount

輸出參數(shù):

void

初始化:

int size = height * width;

算法:

?對每一個Element進(jìn)行以下步驟:

????1、生成一個隨機數(shù)random

????2、if (random * size?<= mineCount){mineCount--;//設(shè)Element的狀態(tài)為MINE}

????3、size--

????4、進(jìn)入下一個Element

2.3.4 工作原理

1.n*n網(wǎng)格,一定數(shù)目的雷,如Windows7 Minesweeper游戲;

2.雷的位置隨機分配到網(wǎng)格上;

3.網(wǎng)格上不是雷的位置上 顯示的方塊上顯示周圍上下左右四個角的有雷的個數(shù);

4.雷數(shù)計數(shù)器顯示余下的未發(fā)現(xiàn)的雷數(shù)。

總結(jié)

以上是生活随笔為你收集整理的CE使用指南之扫雷棋盘扫描的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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