[BJDCTF2020]JustRE
用 ida 打开,shift + F12 查看字符串列表,看到有一个字符串 “BJD{********}” 和“你已经点击 * 次”,感觉可能是需要的信息,点进去,然后选中,Ctrl + x 交叉引用列表,f5 来到源代码
分析这个函数,发现里面是多层嵌套的 if 判断语句,其中 sprintf(String, Format, ++dword_4099F0);
会输出 “您已经点了 %d 次”,多少次就是 dword_4099F0 的值,然后到 19999 时候,会执行 sprintf(String, " BJD{%d%d2069a45792d233ac}", 19999, 0);
结合运行这个程序,可以直接猜到这个是要点击到 19999 次时候,输出 flag,两个 %d 的值分别是 19999 和 0