ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

BugKu——图穷匕见

BugKu——图穷匕见 一、题目二、方法下载得到一张图片打开无异常。拖入随波逐流得到一个txt文件打开一堆数字。节选一小段粘贴进随波逐流选择16进制转字符。再将得到的字符串进行16进制转字符得到坐标。写一个python脚本将txt文件里面的全部数字进行十六进制转字符执行两次修改文件名。import sys INPUT_FILE file_end.txt OUTPUT_FILE output_1.txt def hex_to_ascii(hex_str): 把连续的十六进制字符串按每两位一组转成 ASCII 文本 hex_str hex_str.strip().replace(\n, ).replace(\r, ).replace( , ) if len(hex_str) % 2 ! 0: print(f警告十六进制字符串长度为奇数{len(hex_str)}最后一个字符会被忽略) hex_str hex_str[:-1] result [] for i in range(0, len(hex_str), 2): byte hex_str[i:i2] try: result.append(chr(int(byte, 16))) except ValueError: result.append(?) # 无法解析的字节用 ? 代替 return .join(result) def main(): try: with open(INPUT_FILE, r, encodingutf-8) as f: raw f.read() except FileNotFoundError: print(f找不到文件{INPUT_FILE}) sys.exit(1) text hex_to_ascii(raw) with open(OUTPUT_FILE, w, encodingutf-8) as f: f.write(text) print(f解码完成已写入 {OUTPUT_FILE}) if __name__ __main__: main()将转换得到的坐标输入随波逐流选择坐标串转图片。得到一张二维码。用随波逐流的二维码识别工具解码得到flag。
返回列表