查壳
查字符串
可以很明显看到
Ctrl+x交叉引用
分析
有两个占位符 要填两个字符进去
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}