1.准備
獲得信息
- 32位文件
2.IDA打開
反編譯為C代碼
int __cdecl main_0() { int result; // eax char v1; // [esp+4Ch] [ebp-Ch] const char *v2; // [esp+50h] [ebp-8h] int v3; // [esp+54h] [ebp-4h] v3 = 5; v2 = "DBAPP{49d3c93df25caad81232130f3d2ebfad}"; while ( v3 >= 0 ) { printf(aD, v3); sub_40100A(); --v3; } printf( "\n" "\n" "\n" "這里本來應該是答案的,但是粗心的程序員忘記把變量寫進來了,你要不逆向試試看:(Y/N)\n"); v1 = 1; scanf("%c", &v1); if ( v1 == 89 ) { printf(aOdIda); result = sub_40100A(); } else { if ( v1 == 78 ) printf(asc_425034); else printf("輸入錯誤,沒有提示."); result = sub_40100A(); } return result; }
和題目相結合,內涵,flag也就是{49d3c93df25caad81232130f3d2ebfad}中間包含的那部分
3.get flag!
flag{49d3c93df25caad81232130f3d2ebfad}