Bugku普通的二维码、薛定谔的猫

张开发
2026/4/9 19:18:37 15 分钟阅读

分享文章

Bugku普通的二维码、薛定谔的猫
普通的二维码解压文件夹是一个二维码扫描得到用010 Editor十六进制文本编辑器打开发现一串数字仅有0-7推测是八进制1461541411471731101411661451371710601251371201711371631431621511601641371171641431371241571371241451561371011631431511510411758进制转十进制在转ASCII码python简单代码写def oct2ascii(octal_str): 八进制字符串转ASCII字符 :param octal_str: 纯数字的八进制字符串仅含0-7 :return: 解码后的ASCII字符串 # 步骤1补前导0确保总长度是3的倍数方便按3位分组 # 计算需要补的0的数量(3 - 长度%3) %3 避免长度刚好是3的倍数时补3个0 pad_num (3 - len(octal_str) % 3) % 3 padded_octal 0 * pad_num octal_str # 前补0避免后补0导致错位 # 步骤2按3位分组逐组转换 result for i in range(0, len(padded_octal), 3): # 取3位八进制子串 octal_char padded_octal[i:i3] # 步骤3八进制→十进制ASCII码值 decimal_code int(octal_char, 8) # 步骤4十进制→ASCII字符 char chr(decimal_code) result char return result # 你的原始八进制长串 original_octal 146154141147173110141166145137171060125137120171137163143162151160164137117164143137124157137124145156137101163143151151041175 # 解码并输出 decoded_str oct2ascii(original_octal) print(解码结果, decoded_str)2.随波逐流解8进制特点八进制只有 8 个基本数字0、1、2、3、4、5、6、7八进制数的每一位都要先乘它所在位置的 8 的幂次再把所有位的结果相加才能得到对应的十进制数Eg:17从右边开始第一位8的零次方是1*77第二位8的一次方是8*18所以17的十进制是7815十进制在转ASCII码薛定谔的猫点击不要解压会看见这个python代码运行密码点Enter键代码里通过pwd.strip() 判断 “密码为空”用户输入密码时直接按回车键输入内容为空字符串查看flag.txtflag{sometimes_taking_a_break_is_also_a_good_choice}

更多文章