运行分析
- 需要破解注册码reg
PE分析
- C++程序,32位,无壳
静态分析&动态调试
- ida找到关键字符串,进入主函数
int __thiscall sub_401512(CWnd *this)
{
CHAR String2[12]; // [esp+4h] [ebp-1Ch] BYREF
CHAR String[2]; // [esp+14h] [ebp-Ch] BYREF
int v6; // [esp+16h] [ebp-Ah]
int v7; // [esp+1Ah] [ebp-6h]
*(_WORD *)String = word_40315C;
v6 = 0;
v7 = 0;
strcpy(String2, "<BrD-SoB>");
CWnd::GetDlgItemTextA(this, 1000, String, 10);// 获得输入的reg
if ( !lstrlenA(String) )
return CWnd::MessageBoxA(this, aEnterRegistrat, aCrackme, 0x40u);// 提示未输入弹窗
if ( lstrcmpA(String, String2) ) // 判断是否相等
return CWnd::MessageBoxA(this, aIncorrectTryAg, aCrackme_1, 0x40u);// 错误弹窗
return CWnd::MessageBoxA(this, aCorrectWayToGo, aCrackme_0, 0x40u);// 成功弹窗
}
- 输入reg要等于<BrD-SoB>
- 验证成功