1.拖入ida32
2.shift+f12查看字符串

发现有flag格式的

双击跟随

光标在目标位置时,ctrl+x查看交叉使用列表,可以跳转到所在汇编的位置

点击ok跳转
INT_PTR __stdcall DialogFunc(HWND hWnd, UINT a2, WPARAM a3, LPARAM a4)
{
CHAR String[100]; // [esp+0h] [ebp-64h] BYREF
if ( a2 != 272 )
{
if ( a2 != 273 )
return 0;
if ( (_WORD)a3 != 1 && (_WORD)a3 != 2 )
{
sprintf(String, &Format, ++dword_4099F0);
if ( dword_4099F0 == 19999 )
{
sprintf(String, " BJD{%d%d2069a45792d233ac}", 19999, 0);
SetWindowTextA(hWnd, String);
return 0;
}
SetWindowTextA(hWnd, String);
return 0;
}
EndDialog(hWnd, (unsigned __int16)a3);
}
return 1;
}
关键代码是
sprintf(String, " BJD{%d%d2069a45792d233ac}", 19999, 0);
3.所以flag为
flag{1999902069a45792d233ac}
逆向工程与漏洞挖掘:IDA Pro与汇编解析
本文介绍了使用IDA Pro进行逆向工程的过程,通过Shift+F12查看字符串,发现存在flag格式的数据。在关键代码中,发现了格式化的字符串`BJD{%d%d2069a45792d233ac}
1846

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



