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