这串数字是小写字母和数字,怀疑是16进制,到下方链接网站去转换下看看
ASCII文本,十六进制,二进制,十进制,Base64转换器
ascii全乱码,没线索 10进制都很大,去ascii码表看看
ASCII 表,发现ASCII共95个可显示字符和33个控制字符,合计128个用10进制数字0-127表示,
下面数字我们都减去128试试
212 232 225 244 160 247 225 243 160 230 225 243 244 161 160 212 232 229 160 230 236 225 231 160 233 243 186 160 196 196 195 212 198 251 185 178 178 225 226 185 185 183 180 225 180 183 227 228 179 178 178 227 230 180 179 226 181 176 182 177 176 230 225 229 225 181 253
用python
data = "212 232 225 244 160 247 225 243 160 230 225 243 244 161 160 212 232 229 160 230 236 225 231 160 233 243 186 160 196 196 195 212 198 251 185 178 178 225 226 185 185 183 180 225 180 183 227 228 179 178 178 227 230 180 179 226 181 176 182 177 176 230 225 229 225 181 253"
numbers = data.split() # 以空格分隔字符串中的数字
result = []
for number in numbers:
number = int(number) - 128 # 将每个数字减去128
result.append(str(number))
result_data = " ".join(result) # “ ”留空就以以空格分隔数字并重新组合成字符串
print(result_data)
#运行以上脚本,输出格式为:"-118 -88 -98 -68"。
84 104 97 116 32 119 97 115 32 102 97 115 116 33 32 84 104 101 32 102 108 97 103 32 105 115 58 32 68 68 67 84 70 123 57 50 50 97 98 57 57 55 52 97 52 55 99 100 51 50 50 99 102 52 51 98 53 48 54 49 48 102 97 101 97 53 125
DDCTF{922ab9974a47cd322cf43b50610faea5}
flag{922ab9974a47cd322cf43b50610faea5}
总结一下解题过程:16进制->转10进制->都减去128为ASCII码->转字符,python一步实现
hex_string = "d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd"
# 将16进制字符串转换为10进制整数列表
decimal_list = [int(hex_string[i:i+2], 16) for i in range(0, len(hex_string), 2)]
# 将每个整数减去128得到ASCII码
ascii_list = [chr(decimal - 128) for decimal in decimal_list]
# 将ASCII码列表转换为字符串
result = ''.join(ascii_list)
print(result)
#运行以上脚本,将会输出转换后的字符串。请注意,如果给定的字符串是乱码,转换后的结果可能不是可读的文本。