1、使用查殼,直接拖入工具中,文件是無殼的64位的文件。
2、直接使用64位的ida查看,直接進入主函數查看代碼,這里直接發出原圖
代碼其實很簡單,可以直接看這一句
for ( i = 0; i <= strlen(&flag); ++i ) { if ( *(&flag + i) == 'i' || *(&flag + i) == 'r' ) *(&flag + i) = '1'; }
這里吃了有點c語言指針的虧,也是才知道 *(&flag + i) 等於python 代碼的 flag[i],
這里的意思就是把flag字符串里的 “i”和“r" 換成 數字 1
flag 字符的內容為
然后后面就是直接比較輸入的字符與轉換后的flag字符相比相同就是flag
flag{hack1ng_fo1_fun}