该题有两个文件,其中output文件为for循环的输出结果,但我们需要把那些数字逆序一下
第一步 拖入ida64
第二步 发现flag的字符串,点进去后并没有什么东西。
我们来分析一下flag下面的for循环:因为i&1其实就是i%2,所以i为奇数时,flag对应下标的元素往右移i位,为偶数时,则除以i。
其中v7 = __readfsqword(0x28u);
stream = fopen("flag", "r");
fread(ptr, 1uLL, 0x14uLL, stream);
在这里创建了一个文件输入流,将flag输入了stream
然后将flag进行了处理后输出 ,即为文件中数字
在VScode中编写代码
注意要把ctf2020改为flag