CTF之密码学题目-classical && coding

本文详细介绍了一道CTF竞赛中的密码学题目解题过程,包括Unicode解码、ASCII转换、BrainFunk语言解析、摩斯电码翻译及最终通过字频分析得出flag的过程。

CTF系列文章

第一篇 CTF之密码学题目-classical && coding
第二篇 CTF之MISC题目-西游记
第三篇 CTF之MISC题目-简单流量



前言

在CTF比赛中,有关密码学的问题,都是考察思路和工具使用,还有具备良好的编码能力。本篇文章主要讲的是一个关于多种编码和字频解密的内容。


一、题目是什么?

题目

二、解题步骤

1.下载文件,解压

解压内容
里面是一个文本文件task.txt,打开文件,内容如下:
文本内容分析内容,应该是Unicode编码的一种。Unicode编码有以下四种编码方式:

源文本: The

&#x [Hex]: \T\h\e

&# [Decimal]: \T\h\e

\U [Hex]: \U0054\U0068\U0065

\U+ [Hex]: \U+0054\U+0068\U+0065

2.解码Unicode

使用在线Unicode解码,解码如下:
Unicode解码得到解码后的文本。可以仔细观察,发现按照两个字符、两个字符间隔一下,是有规律的。43,43,43,43,……。不过需要手动间隔太慢了,可以写代码来完成。比如在NodeJS下,通过文件读写,把上述的解码保存为文件Unicode解码.txt,通过处理之后输出到文件处理Unicode解码.txt。可以这样:

const {
   
    readFile,writeFile } = require('node:fs/promises');
const 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值