博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个有意思的解密
阅读量:6463 次
发布时间:2019-06-23

本文共 2984 字,大约阅读时间需要 9 分钟。

第一关

密文

这是给出的密文

begin 777 portal.binM(R!796QC;VUE#0H-"B,C($ME>0T*#0I24T$@4'5B;&EC($ME>3H@*$XL(#7!T960@=VET:"!T:&4@*BI24T$@4'5B;&EC($MEM>2HJ+@T*#0I@8&`-"D-/3D-!5"A$14-265!4*#$Y-S,W,BDN=&]3=')I;F>= 1        b = (b*b) % m    return resultdef primeTest(n):    q = n - 1    k = 0    while q % 2 == 0:        k += 1;        q /= 2    a = random.randint(2, n-2);    if fastExpMod(a, q, n) == 1:        return "inconclusive"    for j in range(0, k):        if fastExpMod(a, (2**j)*q, n) == n - 1:            return "inconclusive"    return "composite"def findPrime(halfkeyLength):    while True:        n = random.randint(0, 1=//80*Y./YOI$*@LU"J-Z@UFUWL/%]Q!_EKD0\[2%L*[SR45;._(;/'.L+0%WL5XR$WL,4GXQ9G(:[@&;1Y'0Z"0*P940A,:9M$W&7+NJ+YL#DXZ9WD,MN=IKT1-(7(,%MN[*!#TA?04GTUO7L#1+!+=,0``")$>@7M0Y!TN``&[`Y`$``##!+%.L<1G^P(`````!%E:`end

分析

同样解密,发现是个二进制文件,发现文件头是个fd377a58,然后我们用python的magic模块来分析下文件是什么类型的。

import magic#读入data=open(bin_file).read()#获取类型magic.from_buffer(data)#lzma

返回的是lzma,我们直接用7Z解压,发现一个文本文件。

79955ff7576a0f5a167b3ccb506bed3a d46b6f8c1ea3b812c2bba0edc0e63c85 | Roman Hitman================================================================H4sIAAAAAAACA1WPT0+DQBDF7/spRgTttbRsZRPZ1d1Fwg0OBYKEhWqMlwZBqjaFz+7Win8ylzeT95u8F8Otj4UkjIrCcxCKYzCmA0KqAMvFYFMRYA6SwTVZ4RykvvmU3GEu9GZTB7DWoXQJvdqi6gRJTKULPVkwai+XBKjvLTDforqAeTsObWMlnS1x0XPm7XEYMO4k0a6fgcBU6N/g2GGUFj3jni2T6HDouiiH6N0c758eSxWlOXzxAwt+TF3nedr0z5bOdSv4YITChYkMA3ac+TfPKDuJ71xABGTZlKuuFIxq87CBF1XqUapMs0wjl5iTVQhtc2a1b80Rmrqs9+scmsGcvZ4nhkp/dfVH18c0n2XEkwVzAQAA

那,很明显下面的又是一个base64加密,我们解密

import base64str='H4sIAAAAAAACA1WPT0+DQBDF7/spRgTttbRsZRPZ1d1Fwg0OBYKEhWqMlwZBqjaF\z+7Win8ylzeT95u8F8Otj4UkjIrCcxCKYzCmA0KqAMvFYFMRYA6SwTVZ4RykvvmU\3GEu9GZTB7DWoXQJvdqi6gRJTKULPVkwai+XBKjvLTDforqAeTsObWMlnS1x0XPm\7XEYMO4k0a6fgcBU6N/g2GGUFj3jni2T6HDouiiH6N0c758eSxWlOXzxAwt+TF3n\edr0z5bOdSv4YITChYkMA3ac+TfPKDuJ71xABGTZlKuuFIxq87CBF1XqUapMs0wj\l5iTVQhtc2a1b80Rmrqs9+scmsGcvZ4nhkp/dfVH18c0n2XEkwVzAQAA'base64.b64decode(str)

打开发现还是个二进制文件。。。。我去!!!

重复以上步骤,返回的是zip,我们继续用7z解压,发现终于有点正常了,但是好像还是乱码!

没关系我们继续解密

def caesar_decode(data, num=47):    res = ''    for x in data:        if x in (' ', '\n'):            tmp = x        elif 32 <= (ord(x) + num) <= 126:            tmp = chr(ord(x) + num)        else:            tmp = chr(ord(x) - num)        res += tmp    return res

明文

## Questions1. The answer to life, the universe, and everything? Google 之2. The tenth Fibonacci number? Google 之3. `CONCAT(Date.FromKeyword("GFW sensive day").Format("MMDD", "ISO-8601"), Date.Now.Format("DDmm", , "ISO-8601"))`# Join USQQ Group:* Group number is **CONCAT(D321 O1454 B10101110)*** Verify CAPTCHA is `CONCAT('K', ANSWER(Q1), ANSWER(Q2), ANSWER(Q3))`

算群号

十进制的321,八进制的1454,二进制的10101110进行组合得到结果:321812174

算答案

第一个谷歌一下是42

第二个谷歌一下或者

def fib(n):    if n == 0:        return 0    if n <= 2:        return 1    return fib(n - 1) + fib(n - 2)

是55

第三个GFW sensive day是1989年6月4日,然后今天的日期拼接
得到答案K42550604xxxx

结语

历经千辛万苦,终于算完了。进群之后发现剩女总是有原因的,跋扈刁蛮,还要照片啥的,于是就退了。

哎,我本以为能碰见知己来着。

转载地址:http://qcezo.baihongyu.com/

你可能感兴趣的文章
读书笔记四
查看>>
JAVA中的finalize()方法
查看>>
慕课网学习手记--炫丽的倒计时效果Canvas绘图与动画基础
查看>>
==与equals()的区别
查看>>
基本分类方法——KNN(K近邻)算法
查看>>
在XenCenter6.2中构建CentOS7虚拟机的启动错误
查看>>
.NET Framework3.0/3.5/4.0/4.5新增功能摘要
查看>>
php中表单提交复选框与下拉列表项
查看>>
熟悉常用的Linux操作
查看>>
WordPress 前端投稿/编辑发表文章插件 DJD Site Post(支持游客和已注册用户)汉化版 免费下载...
查看>>
C# 自定义事件整理项目 - EventDemo
查看>>
几何面积体积_2
查看>>
面象过程与面象对象
查看>>
用CSS实现图片水印效果代码
查看>>
谷歌设置支持webgl
查看>>
P3402 【模板】可持久化并查集
查看>>
js的AJAX请求有关知识总结
查看>>
Eclipse添加新server时无法选择Tomcat7的问题
查看>>
L207
查看>>
nginx 配置https 负载均衡
查看>>