CTF基础-MISC篇

编码是什么?

  编码是信息从一种形式或格式转换为另一种形式的过程,也称为计算机 编程语言的代码简称编码。 用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据 转换成规定的电脉冲信号。

  编码在电子计算机、电视、遥控和通讯等方面广泛使用。编码是信息从 一种形式或格式转换为另一种形式的过程。解码,是编码的逆过程。

  •  Morse编码

  摩尔斯电码(Morse code)是一种时通时断的信号代码,通过不同的排列 顺序来表达不同的英文字母、数字和标点符号。是由美国人艾尔菲德·维 尔(Alfred Lewis Vail)与萨缪尔·摩尔斯(Samuel Finley Breese Morse) 在1836年发明。由点(·)和划(-)组成。

                                     

例如: --/---/.-./.../.  ==> MORSE

特点:只有.和-(中间可用/隔开)组成,最多6位

Morse密码翻译器

  • ASCII编码

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套 电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

例如:72 105 65 115 99 105 105  ==>H i A s c i i

特点:一般常用字符为0-9(48-57)、A-Z(65-90)、a-z(97-122)、空格(32)

ascii码翻译器

  • Tap Code敲击码

  敲击码(Tap code)是一种以非常简单的方式对文本信息进行 编码的方法。因该编码对信息通过使用一系列的点击声音来编 码而命名,敲击码是基于 5 ×5 方格波利比奥斯方阵来实现的, 不同点是是用 K 字母被整合到 C 中。

                                                                               

例如:2,3 1,5 3,1 3,1 3,4 ==>H E L L O 或  .. .../. ...../... ./... ./... ..../ ==>H E L L O

ps.当出现1,3时,对比C/K,选择更合适的结果

  • Base编码

  Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64 就是一种基于64(65)个可打印字符来表示二进制数据的方法。 a-z、A-Z、0-9、符号“+”、“/”(再加上作为补位的"=",实际上是 65个字符) 。

  Base xx 中的 xx 表示的是采用多少个字符进行编码,比如说 base64 就是采用 64 个字符编码,由于 2 的 6 次方等于 64,所以每 6 个比特 为一个单元,对应某个可打印字符。

例如:d2VsY29tZQ==   ==>welcome

特点:base64 结尾可能会有=号,但最多有2个 。

          base32 结尾可能会有=号,最多有 3 个等号。

          根据 base 的不同,字符集会有所限制 。

          有可能需要自己加等号。

base64在线解码

  • URL编码

  URL编码,又叫百分号编码,是统一资源定位(URL)编码方式。URL地址 (常说网址)规定了常用地数字,字母可以直接使用,另外一批作为特殊 用户字符也可以直接用(/,:@等),剩下的其它所有字符必须通过%xx编码 处理。 现在已经成为一种规范了,基本所有程序语言都有这种编码,如js: 有encodeURI、encodeURIComponent,PHP有 urlencode、urldecode等。编 码方法很简单,在该字节ascii码的的16进制字符前面加%. 如空格字符, ascii码是32,对应16进制是‘20’,那么urlencode编码结果是:%20。

例如:URL%E7%BC%96%E7%A0%81   ==> URL编码

特点:存在大量的%

URL在线解码

  • Unicode编码

  ​​​​​​​Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界 标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案 的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进 制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始 研发,1994年正式公布。

                              

例如:HelloCTF    ==>  HelloCTF

Unicode在线解码

  • jsfuck

  JSFuck 可以让你只用 6 个字符  [ ]( ) ! +  来编写 JavaScript 程序

(因为jsfuck编码太长,就不具体举例了...)

jsfuck在线解码

  • brainfuck

  Brainfuck 是一种极小化的计算机语言,按照"Turing complete(完整图灵机) "思想设计 的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语 言,BrainF**k 语言 只有八种符号,所有的操作都由这八种符号  > < + - . , [ ]  的组合来完成。

例如:hello,world  ==>  +++++ +++++ [->++ +++++ +++<] >++++ .---. +++++ ++..+ ++.<+ +++++ ++[->
----- ---<] >---. <++++ ++++[ ->+++ +++++ <]>++ +++++ ++++. ----- ---.+

++.-- ----. ----- ---.< 

brainfuck在线解码

  • 凯撒密码

  凯撒密码(Caesar)加密时会将明文中的每个字母都按照其在字母表中的顺序向后(或 向前)移动固定数目(循环移动)作为密文。例如,当偏移量是左移 3 的时候(解密时 的密钥就是 3)。

  使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密 文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。

  根据偏移量的不同,还存在若干特定的恺撒密码名称:

  偏移量为 10:Avocat (A→K)

  偏移量为 13:ROT13

  偏移量为 -5:Cassis (K 6)

  偏移量为 -6:Cassette (K 7)

例如:Uryyb,Jrypbzr   ==> Hello,Welcome

凯撒ROT13在线解码

猜你喜欢

转载自blog.csdn.net/Dog_Captain/article/details/82690338