1.checksec +运行

32位/NX保护
2.32位IDA
1.main函数

gets()函数溢出
跟进v4看看偏移

offset=0x38
这个题有些不同,看看调用函数的汇编

该题没有用ebp寻址,用的是esp寻址
也就是说不需要覆盖ebp四字节
这就说明有时候后卡住回去仔细看看汇编
2.get_flag

if ( a1 == 814536271 && a2 == 425138641 )
a1/a2满足条件
利用mprotect函数实现缓冲区溢出攻击

32位/NX保护

gets()函数溢出
跟进v4看看偏移

offset=0x38
这个题有些不同,看看调用函数的汇编

该题没有用ebp寻址,用的是esp寻址
也就是说不需要覆盖ebp四字节
这就说明有时候后卡住回去仔细看看汇编

if ( a1 == 814536271 && a2 == 425138641 )
a1/a2满足条件
282
417
303
1514

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