Windows踩地雷逆向工程

Xtutlab
3 min readOct 7, 2020

--

記得在剛上大學時,在電腦教室上課,發現隔壁同學非常認真的在使用電腦,仔細一看,原來是認真的玩Windows內建的踩地雷遊戲,回到宿舍後,我也來玩踩地雷,不過是將它丟到反編譯軟體,分析裡面的運作原裡。

一、初始化地雷

在運行踩地雷時,它會亂數運算所有地雷的位置。

二、存入地雷旗標

亂數完位址後,會將地雷旗標(0xFFFF)存到記憶體空間,其中edx是地雷格數的起始位址,eax是亂數運算值。

三、判斷是否為地雷

在記憶體空間裡,標示為地雷的旗標是0xFFFF,反之是0x0000,因此下圖的ecx為踩地雷的所有格數空間,eax是點擊到的格數,bx是0xFFFF,那麼如果點擊到地雷的格數,就會將所有地雷繪製出來,並結束遊戲。

四、繪圖API

在踩地雷遊戲,繪製空白格數、數字格數和地雷格數,都是使用BitBlt的API來繪製的。

五、地雷位址與記憶體空間對應

每個地雷都會對應到0xFFFF的旗標。

六、顯示所有地雷

更多技術文章

https://xtutlab.blogspot.com

https://www.facebook.com/Xtutlab-%E6%95%99%E5%AD%B8%E5%AF%A6%E9%A9%97%E5%AE%A4-345668095840741/

--

--

Xtutlab
Xtutlab

Written by Xtutlab

大家好,我是Shin,曾任職於行政院國家資通安全會報技術服務中心(NCCST),參與106金盾獎決賽出題以及在HoneyCon 2015、2016擔任Workshop講師,熱愛駭客技術、程式設計以及電腦科學,並且會不定期發表駭客技術教學文章,希望大家會喜歡!

No responses yet