在python中表示十六进制值0

2024-05-15 03:53:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我在玩剥削,我有个大问题: 我正在练习ROP技术,我需要将EIP重定向到二进制文件中的ROP小工具。 我使用的是x64linux的Ubuntu。 我的ROP的地址是0x400559(二进制的偏移量),因此我必须用0x000000400559(48位地址)覆盖正确的值,但是堆栈中的返回地址类似于0x7fffffXXXXXX。你知道吗

我的目标是用0x000000400559覆盖0x7fffffXXXXXX,问题是0。我得把0s写进而不是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不起作用,我也尝试了hex(0)但是没有。。。。。。你知道吗

我能做些什么把0写进内存?你知道吗

提前还款


Tags: 文件工具run地址二进制重定向技术print

热门问题