BUUCTF--[FlareOn6]Overlong


 

代碼分析

int __stdcall start(int a1, int a2, int a3, int a4)
{
  int v4; // eax
  CHAR Text[128]; // [esp+0h] [ebp-84h]
  int v7; // [esp+80h] [ebp-4h]

  v4 = sub_401160(Text, &unk_402008, 28);
  v7 = v4;
  Text[v4] = 0;
  MessageBoxA(0, Text, Caption, 0);
  return 0;
}

unk_402008這個變量打開之后,發現長度不止28,實際為0xAF,結合彈窗I never broke the encoding,就應該把這里操作字符數改為0xAF就行,

 

我們需要將0x1c壓入棧中,在棧中修改(因為修改代碼會導致后面的代碼偏移改變)

 

get flag!

flag{I_a_M_t_h_e_e_n_C_o_D_i_n_g@flare-on.com}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM