我正在玩剥削,我有一个大问题: 我正在练习ROP技术,我需要将EIP重定向到ROP Gadget到二进制文件中。 我在x64 Linux Ubuntu上。 我的ROP的地址是0x400559(从二进制文件的偏移量),所以我必须用0x000000400559(48位地址)覆盖正确的值,但堆栈的返回地址类似于0x7fffffXXXXXX。
我的目标是用0x000000400559覆盖0x7fffffXXXXXX,问题是零。我必须将0写入7ff的内容....但我不能用python。
简单不起作用形式:
./run (python -c "print 'A'*264+'\x59\x05\x40'")
我需要的是这样的事情:
./run (python -c "print 'A'*264+'\x59\x05\x40\x00\x00\x00\x00'")
但\ x00无法正常工作,我也尝试了十六进制(0),但没有......
我能做些什么才能将0写入内存?
提前Thanxs