CTF比赛中的数据格式化(采用Python语言)

前言

有的时候使用Visual Studio用几行代码就可以任意操纵数据格式,免去查找各类转换网站的苦恼。

一、字符串代换

flag = ['g','x','u','c','t','f','{','l','u','c','k','y','!','}']
print(str(flag).replace("'","").replace(",","").replace(" ",""))

二、字符串转ASCII码、二进制、八进制、十六进制

s = "union select"
sasc = [] #ASCII
sbin = [] #二进制
soct = [] #八进制
shex = [] #十六进制
for c in list(s):
    asc = ord(c)
    sasc.append(asc)
    sbin.append(bin(asc))
    soct.append(oct(asc))
    shex.append(hex(asc))
print("string:" + s)
print("asc:" + str(sasc))
print("bin:" + str(sbin))
print("oct:" + str(soct))
print("hex:" + str(shex))

 三、ASCII码、二进制、八进制、十六进制转字符串

#ASCII码转字符串
sasc = [103, 120, 117, 99, 116, 102, 123, 108, 117, 99, 107, 121, 33, 125]
flag = ""
for c in sasc:
    flag+=chr(c)
print(flag)


#二进制转字符串
sbin = ['0b1100111', '0b1111000', '0b1110101', '0b1100011', '0b1110100', '0b1100110', '0b1111011', '0b1101100', '0b1110101', '0b1100011', '0b1101011', '0b1111001', '0b100001', '0b1111101']
flag = ""
for c in sbin:
    flag+=chr(int(c,2))
print(flag)


#八进制转字符串
soct = ['0o147', '0o170', '0o165', '0o143', '0o164', '0o146', '0o173', '0o154', '0o165', '0o143', '0o153', '0o171', '0o41', '0o175']
flag = ""
for c in soct:
    flag+=chr(int(c,8))
print(flag)


#十六进制转字符串
shex = ['0x67', '0x78', '0x75', '0x63', '0x74', '0x66', '0x7b', '0x6c', '0x75', '0x63', '0x6b', '0x79', '0x21', '0x7d']
flag = ""
for c in shex:
    flag+=chr(int(c,16))
print(flag)


 


 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值