編碼在CTF中算是各個領域的基礎
所以我們今天就來學一些題目中很常用到的編碼吧
常見編碼介紹
ASCII
- 全稱為American Standard Code for Information Interchange,美國標準資訊交換碼
- 基於拉丁字母的一套電腦字元編碼標準
- 局限在於只能顯示26個基本拉丁字母、阿拉伯數字和英式標點符號,因此,現在的軟體系統大多採用Unicode
- 使用python進行轉換
-
chr()
:ASCII轉字元
-
ord()
:字元轉ASCII
Unicode
Binary(二進位)
-
Binary 是電腦中最基本的數字表示方式,使用兩種狀態:0 和 1
- 每一位(bit)只能是 0 或 1,8 個 bit 組成 1 個 byte
-
常見用途:
- 表示資料(例如文字、圖片)
- 加密演算法中的位元操作(例如 XOR、AND、OR)
- 使用python進行轉換:
- 二進位轉文字:
bin(ord('字符'))
- 文字轉二進位:
chr(int('二進位', 2))
base16 ( Hex )
- Hexadecimal,也就是base16
- 轉換為ASCII時,每兩個十六進位數字對應一個ASCII字符
- 開頭通常為0x
- 使用python進行轉換:
-
bytes.fromhex()
: 將一個十六進制字符串轉換為 bytes 類型
-
.hex()
: 將 bytes 類型的數值轉換為一個十六進制字符串
base 32/64
- Base32:使用數字 2-7(6個)和字母 A-Z(26個),共32個字元。
- Base64:使用數字 0-9、大寫字母 A-Z、小寫字母 a-z、以及符號 "+" 和 "/",共64個
-
均使用 "=" 作為填充符號
- 使用python進行轉換 ( 需先
import base64
)
- b32編碼:
base64.b32encode(var1.encode()).decode()
- b32解碼:
base64.b32decode(var2.encode()).decode()
- b64編碼:
base64.b64encode(var3.encode()).decode()
- b64解碼:
base64.b64decode(var4.encode()).decode()
morse-code
- 一種時通時斷的訊號代碼,通過不同的排列順序來表達不同的英文字母、數字和標點符號
- 長度與字元出現的頻率成反比
- 解碼器:

題目練習
ASCII:Nice netcat…
Binary:convertme.py、2Warm、binhexa
base16:Warmed Up、Lets Warm Up
base64:repetitions、Bases
morse-code:morse-code
混和:Based、ASCII Numbers
以上就是今天的內容啦~明天會教一些基礎的python語法~
想看更多,記得明天再來喔~