BUGKU 逆向題:游戲過關
游戲過關
將程序下載,打開程序,發現是一個游戲界面:鍵盤輸入1-8的數字n,當輸入n時,將會改變第n-1、n和n+1盞燈的狀態,如果8盞燈的狀態全部為亮,則輸出flag。
方法一
最簡單的方法就是將游戲完通關,通關后,得到結果如下:
flag就這樣出來了。
方法二
除了這種直接將游戲通關的辦法,我還考慮使用ida找到flag的方法,下面將介紹這種方法。
將程序拖入ida中打開。發現main函數沒有明確的顯示出來,為了簡便,使用search->sequence of bytes搜索“flag”字節。
發現sub_45E940函數被調用,進入函數,發現flag是由2個數組進行異或得到的。
編寫下圖程序:
輸出flag:
flag為:zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}