-
-
[原创]CTF第一题简要分析。。。
-
发表于: 2017-10-25 01:44 2173
-
刚好现在没事情干,就写一下吧。。。
IDA string window...看到了成功的提示,点进“恭喜”,xref一下。。。
IDA string window...看到了成功的提示,点进“恭喜”,xref一下。。。
BOOL sub_401770()
{
HANDLE hProcess; // ST5C_4@1
MessageBoxA(0, "pass!", "恭喜!", 0);
hProcess = GetCurrentProcess();
return TerminateProcess(hProcess, 0);
}
再xref sub_401770...
int __thiscall sub_4017F0(CWnd *this)
{
struct CString *v1; // ST08_4@1
CWnd *v2; // eax@1
int v3; // eax@1
int result; // eax@2
char *Str; // [sp+4Ch] [bp-8h]@1
CWnd *v6; // [sp+50h] [bp-4h]@1
v6 = this;
v1 = (CWnd *)((char *)this + 100);
v2 = CWnd::GetDlgItem(this, 1002);
CWnd::GetWindowTextA(v2, v1);
v3 = sub_4018D0((char *)v6 + 100);
Str = CString::GetBuffer((CWnd *)((char *)v6 + 100), v3);
if ( strlen(Str) )
{
if ( !strcmp(Str, "WelcomeToKanXueCtf2017") )
result = sub_401770();
else
result = sub_4017B0();
}
else
{
result = CWnd::MessageBoxA(v6, "请输入pass!", 0, 0);
}
return result;
}
先获取string,然后判断长度,然后跟
WelcomeToKanXueCtf2017strcmp
一样就对,不一样就错。。。
所以flag就是这玩意了。。。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
看原图
赞赏
雪币:
留言: