-
-
[原创]看雪CTF2016 第10题分析
-
发表于: 2016-11-20 15:33 2259
-
本题适合使用静态分析,IDA,反汇编 4020A0处的代码发现如下片段:
可见验证码包含字符串“TrustMe";
另外发现需要调用校验函数sub_401FE0返回True才能调用system("pause"),这条路径是注册成功路径,否则程序就退出了;反汇编函数sub_401FE0发现代码片段入下:
字符长度为15,从第8字节开始经过sub_406193函数返回20161018,发现该函数其实调用了strtol(char *p, 0, 10); 推断出后面8个字符为”20161018;前面7个字符只能是TrustMe
组成验证码:TrustMe20161018
v0_input = (const char *)GetInput_401D90(); strcpy(v16, "TrustMe"); if ( !strstr(v0_input, v16) ) error_401E90((int)v0_input);
可见验证码包含字符串“TrustMe";
另外发现需要调用校验函数sub_401FE0返回True才能调用system("pause"),这条路径是注册成功路径,否则程序就退出了;反汇编函数sub_401FE0发现代码片段入下:
if ( v5 == 15 ) { inputstr_428C58 = (char *)inputstr_428C58 + 7; if ( sub_406193((char *)inputstr_428C58) == 20161018 ) v2 = 1; }
字符长度为15,从第8字节开始经过sub_406193函数返回20161018,发现该函数其实调用了strtol(char *p, 0, 10); 推断出后面8个字符为”20161018;前面7个字符只能是TrustMe
组成验证码:TrustMe20161018
赞赏
他的文章
赞赏
雪币:
留言: