lab1-2

最终结果:flag{xor_is_reversible}
通过ida可以看到,需要输入23个字符串,每个输入的字符串需要先和当前的次数进行异或操作,然后和栈中的23个字符比较,如果相同就得到good。所以我们可以用python写一个小程序,把栈中被比较的字符进行异或操作,因为a异或b=c,c异或b=a,所以我们可以得出正确的flag


ida预览视图.png

python代码:

result=[0x66,0x6d,0x63,0x64,0x7f,0x7d,0x69,0x75,0x57,0x60,0x79,0x54,0x7e,0x68,0x78,0x6a,0x62,0x62,0x7b,0x71,0x78,0x70,0x6b]
str=""
for i in range(0,23):
    a=chr(result[i]^i)
    str=str+a
print(str)

执行结果:


result.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。