1. 程式人生 > 實用技巧 >BUUCTF reverse-1完全面向新手

BUUCTF reverse-1完全面向新手

首先我們下載好檔案,然後放進IDA,然後按shift+F12,進入Strings window視窗

細心的你們肯定能夠發現有一行寫著“this is the flag”,然後雙擊進去,進入另一個頁面

然後在那一行右鍵List cross references to,然後點選ok。

進入組合語言中,如果看不懂,可以按下F5,變成虛擬碼

然後我們關注最後if語句,發現輸出結果與str1、str2有關,比較的又是str1和str2,而str1是輸入的,我們還不能確定是否flag跟它有關,然後我們發現上面有與str2有關的計算,所以我們會推測str2有問題,而且我認為str2沒有輸入,所以可能str2裡已經存在字串了,所以我們雙擊str2,跳轉到另一個頁面,發現str2裡面剛好有字串

然後我們知道虛擬碼中最後面的str2是經過一些運算後得出的結果,而現在找出的str2是還沒經過運算的,由運算過程可知,是將字串裡的‘o’換成‘0’,於是我們就可以順利得到flag{hell0_w0rld}

還有一個小細節,如果要對一些數字進行進位制轉化,可以點選那個數字,然後右鍵,裡面會顯示你要轉化的型別