IDA里面看一下main函数,发现有个系统函数读取flag.F5反编译一下
v2=11.28125同样也可以获取flag。所以这个题目就是修改V2。
checksec一下
0x4是存储v2的地址,
0x30是开始存储V1的地址。 因此,覆盖0x30-0x4=44个字节给v1,另外4个字节给v2
由于v2数值在内存中以16进制存储,所以,找到11.28125的16进制值。
有两个比较指令,双击进去
这个就是11.28125的十六进制值。所以exp:
IDA里面看一下main函数,发现有个系统函数读取flag.F5反编译一下
v2=11.28125同样也可以获取flag。所以这个题目就是修改V2。
checksec一下
0x4是存储v2的地址,
0x30是开始存储V1的地址。 因此,覆盖0x30-0x4=44个字节给v1,另外4个字节给v2
由于v2数值在内存中以16进制存储,所以,找到11.28125的16进制值。
有两个比较指令,双击进去
这个就是11.28125的十六进制值。所以exp: