拿到了一个打不开的pdf文件 用hex_editor打开一下看看 再看一下正常的pdf文件 猜测是用了rot13映射了一下字母字符 解密脚本:
def load_data(filename): content = [] with open(filename, 'rb') as fp: for data in fp.read(): content.append(data) return content def rot13(data): content = [] for c in data: if (c >= ord('a') and c < ord('n')) or (c >= ord('A') and c < ord('N')): content.append(c + 13) elif (c >= ord('n') and c <= ord('z')) or (c >= ord('N') and c <= ord('Z')): content.append(c - 13) else: content.append(c) return bytes(content) def write_data(filename, data): print(data) fp = open(filename, 'wb') fp.write(data) fp.close() if __name__ == "__main__": pdf_data = load_data('./data/binary-princess.pdf') write_data('./data/binary_result.pdf', rot13(pdf_data))
打开Pdf文件看一下 flag被遮掩了 用在线工具将pdf转成html 在线工具 发现有两张照片,其中一张就含有flag