网站信息资源建设,公众号软文推广多少钱一篇,深圳深圳网站制作,django企业级问答网站开发题目名称#xff1a;enc
题目描述#xff1a;
压缩包中含两个文件#xff1a;一个秘钥d.dec#xff0c;一个密文flag.enc 解题过程#xff1a;
Step1#xff1a;这题是一个解密他题目#xff0c;尝试openssl去ras解密 工具简介 在Kali Linux系统中#xff0c;openss…题目名称enc
题目描述
压缩包中含两个文件一个秘钥d.dec一个密文flag.enc 解题过程
Step1这题是一个解密他题目尝试openssl去ras解密 工具简介 在Kali Linux系统中openssl 是一个强大的命令行工具用于处理SSL/TLS协议。openssl pkeyutl 是 openssl 工具集中的一个命令用于处理私钥文件。 参数解释 openssl pkeyutl这是执行私钥操作的命令。 -decrypt这个选项告诉 openssl 执行解密操作。 -inkey d.dec指定用于解密的私钥文件。这里的 d.dec 是私钥文件的名称。 -in flag.enc指定包含加密数据的文件。这里的 flag.enc 是加密数据文件的名称。 -out 1这个参数指定了输出文件的名称。在这里输出文件被命名为 1。 Step2解出来后有一串乱码所以用Mousepad打开修改编码再次查看 Mousepad简介 Mousepad 是一个简单且轻量级的文本编辑器它通常预装在 Kali Linux 和其他基于 Debian 的 Linux 发行版中。Mousepad 旨在提供基本的文本编辑功能没有过多的复杂性非常适合快速编辑或查看文本文件。 Step3在Python中计算二进制字符串是否为8的倍数 分析 计算后得出是7的倍数所以需要再每7位二进制数前加上0补足8位后再转换为ASCII码 知识点补充 ASCII美国标准信息交换码是一种用于表示文本的编码系统它为每个字符包括字母、数字、标点符号等分配了一个唯一的数字代码。ASCII 码表中每个字符对应一个7位的二进制数实际上ASCII 码表只用到了前128个位置所以每个字符只需要7位但为了与后来的扩展ASCII兼容通常使用8位表示即一个字节。 二进制是一种数制系统它只使用两个数字0和1。在计算机中所有的数据包括文本、图像、音频等最终都会被转换成二进制形式因为计算机的基本存储和处理单元是二进制位bit。 ASCII和二进制的关系在于ASCII 码表中的每个字符都是用二进制数来表示的。例如ASCII 码表中的大写字母 ‘A’ 对应的二进制数是 01000001。这个二进制数可以被计算机直接读取和处理。
Step4编写一个脚本目的是补足8位二进制每7位前面补足0 # 补足8位二进制
s 11001101101100110000111001111111011011001001100111000000010001101101001100100111010010001011011001100011011100101110100100001010001111110011110011101000011111101
result [chr(int(0 s[i:i7],2)) for i in range(0, len(s), 7)]
print(result)# 将数组转换为字符串
s[f, l, a, g, {, 2, 3, , #, 4, d, t, E, Y, F, r, t, B, G, s, g, !, }]r.join(s)print(r)相关资源
链接https://pan.baidu.com/s/1FHvPaeMjMMWfRwf0vlefUA 提取码200y