-
-
[原创]2018看雪&TSRC CTF第二题WP
-
发表于: 2018-12-4 07:27 2649
-
flag为:jmubojgAbqdvnfmw
check函数并没在main函数内被调用,拿到flag后跟着调了一下,跟进了10多个call,最后找到如下的位置(这部分应该是编译器附带的代码,(类似析构函数)):
int __usercall ctf_get_input@<eax>(int a1@<xmm0>) { signed int length; // [esp+D0h] [ebp-8h] int v3; // [esp+D4h] [ebp-4h] int savedregs; // [esp+D8h] [ebp+0h] sub_10D7B4(&unk_276007); ctf_printf(&unk_2731E0, "Please Input:"); ctf_scanf("%s", buf, 30); length = ctf_strlen(buf); if ( length <= 30 && length >= 10 ) { ctf_strcpy(key, 30, buf); if ( key[7] != 65 ) { ctf_print("输入错误;"); ctf_exit(0); } ctf_X_transform(key); } else { ctf_print("输入错误;"); ctf_exit(0); } return ctf_stack_check(&savedregs == &v3, 0, a1); }
int __usercall ctf_X_transform<eax>(int a1@<xmm0>, char *key) { unsigned int i; // [esp+D0h] [ebp-8h] sub_10D7B4(&unk_276007); key[7] = 35; for ( i = 0; i < ctf_strlen(key); ++i ) key[i] ^= 0x1Fu; return ctf_stack_check(1, (int)key, a1); }
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2018-12-4 07:55
被mratlatsn编辑
,原因:
赞赏
他的文章
看原图
赞赏
雪币:
留言: