buuctf——JustRE
ida打开
在字符串中找到


分析代码
BOOL __stdcall DialogFunc(HWND hWnd, UINT a2, WPARAM a3, LPARAM a4)
{
CHAR String; // [esp+0h] [ebp-64h]
if ( a2 != 272 )
{
if ( a2 != 273 )
return 0;
if ( (_WORD)a3 != 1 && (_WORD)a3 != 2 )
{
sprintf(&String, aD, ++dword_4099F0);
if ( dword_4099F0 == 19999 )
{
sprintf(&String, aBjdDD2069a4579, 19999, 0);
SetWindowTextA(hWnd, &String);
return 0;
}
SetWindowTextA(hWnd, &String);
return 0;
}
EndDialog(hWnd, (unsigned __int16)a3);
}
return 1;
}
aBjdDD2069a4579的值就是:BJD{%d%d2069a45792d233ac}
第一个%d应该是19999,第二个是0
得到flag:
BJD{1999902069a45792d233ac}
本文介绍了参与buuctf的JustRE挑战,通过IDA分析代码,发现字符串`aBjdDD2069a4579`与解密格式`BJD{%d%d2069a45792d233ac}`相关,其中%d分别对应数字19999和0,从而得出flag为`BJD{1999902069a45792d233ac}`。

1953

被折叠的 条评论
为什么被折叠?



