有一个秘密消息(一个字符串)存储在堆区域,你可以从服务器打印输出中找到这个字符串的地址。你的工作是打印出这个秘密消息。为了实现这个目标,你需要在格式化字符串中放置秘密消息的地址(以二进制形式)。
大多数计算机是小端机器,所以存储一个地址 0xAABBCCDD(32 位机器上的四个字节)在内存中,最低有效字节 0xDD 存储在较低的地址,最高有效字节 0xAA 存储在较高的地址。因此,当我们在缓冲区中存储地址时,我们需要按照这个顺序保存它: 0xDD,0xCC,0xBB,然后是 0xAA。在 Python 中,你可以这样做:
number = 0xAABBCCDD
content[0:4] = (number).to_bytes(4,byteorder='little')