CTF

本文介绍了CTF挑战中的三种解题技巧:十进制转36进制、a1z26编码解密以及4进制到16进制的转换。通过具体的代码示例和解密过程,详细阐述了解题步骤,并提供了在线解密工具的链接,帮助读者理解并掌握这些基础知识。
摘要由CSDN通过智能技术生成


CTF

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、十进制转36进制

在这里插入图片描述

做题步骤

在这里插入图片描述

要先导入base36的数据包,否则无法运行。
代码:
import base36
num=59714216646867023270440406545399263948228435794919139272931
print(base36.dumps(num))

答案为:flagis2fya2r884fnoekustyxmecv7a98blhwj

二、a1z26

做题步骤

代码如下(示例):

import random
secher = random.randint(1,20)
print("--------猜数字游戏----------")
temp = input(“开始游戏:”)
guess = int(temp)
while guess != secher:
temp = input(“不对不对,继续:”)
guess = int(temp)
if guess == secher:
print(“你真棒!”)
else:
if guess > secher:
print(“大了,太大了”)
else:
print(“小了,这个数字太小了”)
print(“游戏结束,不玩啦!”)
1-4-4-1-4-1-1-4-4-4-23-4-14-11-10-22-4-6

看到下面有一串数字,这明显是和这个程序无关的

复制出来找到a1z26解密网站
附上在线解密地址:http://ctf.ssleye.com/a1z26.html
答案如下:在这里插入图片描述

三、4进制

题目:1103 1211 1002 1201 1012 1221 1323 1012 1233 1311 1302 1202 1201 1303 1211 301 302 303 1331

做题步骤

这个看起来就是4进制,于是打开在线的进制转换网站。
最后将题目中的4进制数字全部转换为16进制

得到53 65 42 61 46 69 7B 46 6F 75 72 62 61 73 65 31 32 33 7D

利用converter转换成文本得到Fourbase123
答案:Fourbase123

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,关于环境配置,关于a1z26密码学的运用,关于四进制解密转文本。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字  猜数字   猜数字可以算是一种益智类小游戏,一般两个人玩,也可以由一个人和电脑玩,可以在纸上、在网上都可以玩。这种游戏规则简单,但可以考验人的严谨和耐心。   目录   1 规则   1.1 次数限制   1.2 含重复数字的猜数字   2 解法   2.1 计算机解   2.2 推理解   2.3 代入解   2.4 其他   3 参看   规则   这个游戏的规则比较简单,一般两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的4位数,不能让猜得人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。   如正确答案为5234,而猜的人猜5346,则是1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为2B,合起来就是1A2B。   接着猜的人再根据出题者的几A几B继续猜,直到猜中为止。   次数限制   有的时候,这个游戏有猜测次数上的限制。根据计算机测算,这个游戏,如果以最严谨的计算,任何数字可以在7次之内猜出。而有些地方把次数限制为6次或更少,则会导致有些数可能猜不出来。而有些地方考虑到人的逻辑思维难以达到计算机的那么严谨,故设置为8次甚至10次。也有的没有次数上的限制。   含重复数字的猜数字   有一种使用范围比较狭窄的猜数字,是允许重复数字存在的猜数字,但由于其规则较复杂,故没有得到广泛的推广。其规则如下:   除了上面的规则外,如果有出现重复的数字,则重复的数字每个也只能算一次,且以最优的结果为准,   如正确答案为5543,猜的人猜5255,则在这里不能认为猜测的第一个5对正确答案第二个,根据最优结果为准的原理和每个数字只能有一次的规则,两个比较后应该为1A1B,第一个5位子正确,记为1A;猜测数字中的第三个5或第四个5和答案的第二个5匹配,只能记为1B。当然,如果有猜5267中的第一个5不能与答案中的第二个5匹配,因此只能记作1A0B。   解法   对于不同的人,常常会用到不同的解法   计算机解   通常采用的计算机解是通过排除法,即遍历所有可能的数,将不符合要求的数剃掉。   下面是一个计算机处理的例子:   for (int i = 0; i < Array.Count; i++) { if (Array与当前输出数字的比较 != 用户输入的与正确答案对比的结果) { Array.Remove(i); i--; } }      这个代码采用C#的语法,其中Array表示所有可能的数字的集合。这个例子为了方便说明,结合了语言的描述。   这样的方法充分利用了计算机计算速度快的优势,迅速排出不符合要求的数。通常第一次猜测的时间(有的引擎为第二次猜测)会在10秒左右,而随着猜测次数的不断增加,猜测的时间会越来越短,最后几乎不需要时间,这是由于集合中的数越来越少,排除需要的时间也随之减少。   推理解   计算机解释根据这种方法推广的。这种解法的中心思想是假设猜的这个数字是正确答案,即如果它为正确答案,那么这个数应该符合已经猜测的数及其结果。如已经有   1234 0A0B   那么下一步就不能猜含有1234中任一数字的数,因为如果正确答案含1234中任一,结果就不可能为0A0B。   这种解法对猜者要求较高,通常,可能会被定式思维所干扰,导致难以猜出。   基于这个解法,根据个人思维风格和起始数字选择的不同,以及对出题者出数风格的猜测,有时可以把猜测次数控制在5步内,但不总能在5步内猜出。   使用这种解法需要考虑的时间很久,和计算机解正好相反,人使用这种方法,通常随着猜测次数的增加,需要考虑的东西不断增多,反而考虑的时间会变得越来越长。   代入解   还有一种方法,在人的猜测中很常用,即将推理出不可能含有的数字,代入,察看那些数字是有的。   但这种方法其猜测次数难以确定,且通常的猜测次数比推理解多。   其他   可能还有其他的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值