最终目标是翻转位置X处的最后一位字节。假设我们从网站开始使用字符串,我们对它进行解码,以便我们可以使用它:
IV = "2RDs+xm/AxtYj+XViJmBPQ=="
IV = base64.b64decode(IV)
这给了我们一些看起来像垃圾的东西( X =),但这是我们可以使用的东西。使用它的最佳方法是将其放入列表中。
woop = list(IV)
让我们说在这个例子中,我们希望翻转第二个字节的最后一位。 Python从零开始计数,所以我们需要将计数器减少1.否则,我们将把程序指向第3个字节!要翻转任何东西,你将它排除在1.现在这是我的问题......
CounterX = CounterX - 1
woop[CounterX] = chr(ord(IV[CounterX]) ^ 1)
woop = "".join(woop)
IV = woop
我很确定翻转整个字节。如何告诉它只在IV [CounterX]上翻转字节的最后一位?
答案 0 :(得分:2)
base64.decode
返回一个字符串bytes(IV)
以确保8位块...但我不确定我不使用python3 print bin(0xff ^ 0x01)
所以我们再次回到是什么让你认为这不是你所看到的行为?你能给我们一个展示这个问题的例子吗?