首页
社区
课程
招聘
[原创]看雪CTF2016 第10题分析
发表于: 2016-11-20 15:33 2259

[原创]看雪CTF2016 第10题分析

2016-11-20 15:33
2259
本题适合使用静态分析,IDA,反汇编 4020A0处的代码发现如下片段:
  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

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回