在CTF中,会有很多的对字节(流)的计算,而python的数据类型有
- Number(数字)String(字符串)List(列表)Tuple(元组)Set(集合)Dictionary(字典)
但并没有对字节的处理,对于字节流的处理,可以使用struct库对字节对象转换成C语言的字节数据类型,进行如同C语言那样的处理,对使用python进行数据计算,起到了一定的帮助。
def u_qword(a):
return struct.unpack('<Q', a)[0]
# <:小端序排列 Q:unsigned long long
# [0]取出形成的tuple里的值
def p_qword(a):
return struct.pack('<Q', a)
剩余参数在官网看。
在CTF中可以通过这种方式对int64之类的字节数据进行处理