首页
社区
课程
招聘
[原创]CTF第一题简要分析。。。
发表于: 2017-10-25 01:44 2261

[原创]CTF第一题简要分析。。。

2017-10-25 01:44
2261
刚好现在没事情干,就写一下吧。。。

IDA string window...看到了成功的提示,点进“恭喜”,xref一下。。。
1
BOOL sub_401770()<br>{<br>  HANDLE hProcess; // ST5C_4@1<br><br>  MessageBoxA(0, "pass!", "恭喜!", 0);<br>  hProcess = GetCurrentProcess();<br>  return TerminateProcess(hProcess, 0);<br>}
再xref sub_401770...
1
int __thiscall sub_4017F0(CWnd *this)<br>{<br>  struct CString *v1; // ST08_4@1<br>  CWnd *v2; // eax@1<br>  int v3; // eax@1<br>  int result; // eax@2<br>  char *Str; // [sp+4Ch] [bp-8h]@1<br>  CWnd *v6; // [sp+50h] [bp-4h]@1<br><br>  v6 = this;<br>  v1 = (CWnd *)((char *)this + 100);<br>  v2 = CWnd::GetDlgItem(this, 1002);<br>  CWnd::GetWindowTextA(v2, v1);<br>  v3 = sub_4018D0((char *)v6 + 100);<br>  Str = CString::GetBuffer((CWnd *)((char *)v6 + 100), v3);<br>  if ( strlen(Str) )<br>  {<br>    if ( !strcmp(Str, "WelcomeToKanXueCtf2017") )<br>      result = sub_401770();<br>    else<br>      result = sub_4017B0();<br>  }<br>  else<br>  {<br>    result = CWnd::MessageBoxA(v6, "请输入pass!", 0, 0);<br>  }<br>  return result;<br>}
先获取string,然后判断长度,然后跟
1
WelcomeToKanXueCtf2017
strcmp
一样就对,不一样就错。。。
所以flag就是这玩意了。。。


[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

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

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册