最喜欢的逆向题
签到题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| int __cdecl main(int argc, const char **argv, const char **envp) { unsigned __int64 v3; char Buffer[272]; sub_140001010(aFlagIs); gets_s(Buffer, 0x104ui64); v3 = -1i64; do ++v3; while ( Buffer[v3] ); if ( v3 < 0x19 ) { if ( Buffer[5] == 105 && Buffer[7] == Buffer[10] && Buffer[15] == Buffer[22] ) sub_140001070(Buffer); else sub_140001010("flag is wrong"); getchar(); } else { sub_140001010("flag is too long"); } return 0; }
|
流程就是 输入>长度判断>字符比较,通过了就进入正确的分支
直接进入 正确分支查看
已经知道a1的第5位(ascii码105),直接上手找就行,直接拿flag
1
| H&NCTF{Do_Y0u_like_F5_1n_Rev}
|