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}

posted @ 2020-09-17 20:14  白烬  阅读(576)  评论(1编辑  收藏  举报