掃雷小遊戲 通過爆破手段強制勝利

2022-02-10 01:18:20 字數 1405 閱讀 9658

掃雷的程序名: minesweeper.exe  64位應用程式

失敗提示資訊:

首先這個視窗顯示時其它視窗沒有反映,很明顯是個模態對話方塊

使用x64dbg附加程序,然後下相關斷點, messageboxw createwindowexw dialogboxparamw

然後遊戲中斷在dialogboxparamw,根據對話方塊模板資源建立乙個模態的對話方塊

通過選擇選單的不同子選單項,發現都是呼叫的同個api

回到正題

dialogboxparamw下斷點,然後遊戲中隨意點選,失敗時中斷,然後單步執行返回到呼叫處,

在呼叫處下一行下個斷點.f9執行,此時不會斷下.

因為它是模態對話方塊,需要對話方塊銷毀後才會返回.所以點重新開始這個遊戲,視窗銷毀,偵錯程式中斷下來.

單步執行到返**用處,分別在呼叫處以及函式頭部下斷點,然後執行,發現會一直中斷在函式頭部,

而呼叫處卻不會中斷。那說明這段**是個分支流程結構。

結過分析發現只有當掃雷成功或者掃雷失敗時,才會執行call 建立模態對話方塊

往上分析,發現如下**

那只要找乙個合適的地方,強制跳轉到ff5fb61d,即可獲勝

修改彙編**,當第一次點選格仔並且非雷時,直接彈出獲勝視窗

最終效果:

小遊戲 掃雷

c語言實現的乙個簡單的掃雷遊戲 介面簡單,功能 首次踩雷的,會換雷。掃雷有九宮格擴撒 環境 vs2015 如下 game.h pragma once ifndef game h define game h define rows 11 define cols 11 define num 9 incl...

小遊戲 掃雷

實現乙個掃雷遊戲 1.設定兩個陣列 mine row col 表示布雷,show row col 顯示掃雷情況 顯示周圍有幾個雷 因為統計四周,邊緣位置不好實現,所以把二維陣列的行和列都加二,這樣無論是否在邊緣都可以當做一種情況來實現。2.初始化mine和show,show mine 0 3.set...

掃雷小遊戲

game.h 標頭檔案 ifndef game h define game h include include include include define row 12 define col 12 define count 10 棋盤中雷的總數 extern char show mine row ...