这里读取输入,并且将输入传递给了patch_me函数
跟进
上面判断我们输入的数是否为奇数
偶数时进入get_flag函数 ,这里不会传递任何参数
发现当数字等于4的时候为f2初始化了值
给f2追加了s
我们点击s后面的值,然后按r,他就会变成字符串
发现是乱码,
当随机数字为5时,会对f2进行一系列操作
我们复制下来然后运行一下看看结果如何
#include
#include
int main(int argc, char const *argv[])
{
__int64 s = 0x7F666F6067756369LL;
unsigned char* f2 = (unsigned char*)&s;
for ( int j = 0; j <= 7; ++j )
{
if ( j % 2 == 1 )
*(f2 + j) -= 2;
else
--*(f2 + j);
}
printf("%.8s\n", f2);
return 0;
}
运行结果
hate_me}
此时再结合case 1的f1的数据,那么就是flag
GXY{do_not_hate_me}
最终提交的flag
flag{do_not_hate_me}