[FlareOn5]Ultimate Minesweeper(dnSpy新玩法)
生活随笔
收集整理的這篇文章主要介紹了
[FlareOn5]Ultimate Minesweeper(dnSpy新玩法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 拖進ida
- GetKey
- 經過分析:
拖進ida
看這個文件名字,老熟人嘍。.Net Assembly,毫無疑問,直接dnSpy
GetKey
private string GetKey(List<uint> revealedCells){revealedCells.Sort();Random random = new Random(Convert.ToInt32(revealedCells[0] << 20 | revealedCells[1] << 10 | revealedCells[2]));byte[] array = new byte[32];byte[] array2 = new byte[]{245,75,65,142,68,71,100,185,74,127,62,130,231,129,254,243,28,58,103,179,60,91,195,215,102,145,154,27,57,231,241,86};random.NextBytes(array);uint num = 0U;while ((ulong)num < (ulong)((long)array2.Length)){byte[] array3 = array2;uint num2 = num;array3[(int)num2] = (array3[(int)num2] ^ array[(int)num]);num += 1U;}return Encoding.ASCII.GetString(array2);}經過分析:
上面這個if是個踩雷操作,然后就結束游戲,我們需要把它注釋了。
我們通過修改語句(在要注釋的地方點擊鼠標右鍵->編輯方法->弄好之后點擊右下角的編譯),將這個if語句注釋掉
然后點擊編譯,
再保存為新文件(ctrl+shift+s)運行新文件。在新文件中我們踩到雷是不會死的,然后就一直點。
然后找出三個數字
彈出提示后再去之前那個老文件中運行,不踩雷把這三個數找出來就可以得到flag了
總結
以上是生活随笔為你收集整理的[FlareOn5]Ultimate Minesweeper(dnSpy新玩法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [WUSTCTF2020]level4
- 下一篇: [WUSTCTF2020]level3