BUUCTF CTF-RE reverse2
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}
一直在路上