
CodExt 是一个(兼容 Python 2 和 3)库,它扩展了原生 codecs 库(即用于添加新的自定义编码和字符映射),并提供了 120+ 个新的 codecs,因此得名,意为 CODecs EXTension(编解码器扩展)。它还提供了一个 猜测模式,用于解码多层编码,以及便捷的 CLI 工具。```sh
$ pip install codext
想要贡献一种新的编解码器?|想要贡献一种新的宏?
:----------------------------------:|:------------------------------------:
请先查看[文档](https://python-codext.readthedocs.io/en/latest/howto)<br>然后[提交 PR](https://github.com/dhondta/python-codext/pulls) 添加你的新编解码器 |[提交 PR](https://github.com/dhondta/python-codext/pulls) 更新你的 [`macros.json`](https://github.com/dhondta/python-codext/blob/main/codext/macros.json) 版本
## :mag: 演示
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/4821/81514bb87e41cfa9d482c93830d7a2e579352988aae9b0934778095692265bde.gif" alt="从命令行使用 CodExt"></p>
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/4821/fa4848c3f817288ed56845964755dbb4c4a0098c76af8a6ac6e5c89f849a8d5e.gif" alt="从命令行使用 base 工具"></p>
<p align="center">使用 unbase 命令行工具</p>
## :computer: 用法(主 CLI 工具) <a href="https://twitter.com/intent/tweet?text=CodExt%20-%20Encode%2Fdecode%20anything.%0D%0APython%20tool%20for%20encoding%20and%20decoding%20almost%20anything,%20including%20a%20guess%20feature%20based%20on%20AI.%0D%0Ahttps%3a%2f%2fgithub%2ecom%2fdhondta%2fpython-codext%0D%0A&hashtags=python,encodings,codecs,cryptography,morse,base,stegano,steganography,ctftools"><img src="https://img.shields.io/badge/Tweet%20(codext)--lightgrey?logo=twitter&style=social" alt="推文关于 codext" height="20"/></a>```session
$ codext -i test.txt encode dna-1
GTGAGCGGGTATGTGA
$ echo -en "test" | codext encode morse
- . ... -
$ echo -en "test" | codext encode braille
⠞⠑⠎⠞
$ echo -en "test" | codext encode base100
👫👜👪👫
$ echo -en "Test string" | codext encode reverse gnirts tseT
$ echo -en "Test string" | codext encode reverse morse --. -. .. .-. - ... / - ... . -
$ echo -en "Test string" | codext encode reverse morse dna-2 AGTCAGTCAGTGAGAAAGTCAGTGAGAAAGTGAGTGAGAAAGTGAGTCAGTGAGAAAGTCAGAAAGTGAGTGAGTGAGAAAGTTAGAAAGTCAGAAAGTGAGTGAGTGAGAAAGTGAGAAAGTC
$ echo -en "Test string" | codext encode reverse morse dna-2 octal 101107124103101107124103101107124107101107101101101107124103101107124107101107101101101107124107101107124107101107101101101107124107101107124103101107124107101107101101101107124103101107101101101107124107101107124107101107124107101107101101101107124124101107101101101107124103101107101101101107124107101107124107101107124107101107101101101107124107101107101101101107124103
$ echo -en "AGTCAGTCAGTGAGAAAGTCAGTGAGAAAGTGAGTGAGAAAGTGAGTCAGTGAGAAAGTCAGAAAGTGAGTGAGTGAGAAAGTTAGAAAGTCAGAAAGTGAGTGAGTGAGAAAGTGAGAAAGTC" | codext -d dna-2 morse reverse test string
### :twisted_rightwards_arrows: 使用宏```sh
$ codext add-macro my-encoding-chain gzip base63 lzma base64
$ codext list macros
example-macro, my-encoding-chain
$ echo -en "Test string" | codext encode my-encoding-chain
CQQFAF0AAIAAABuTgySPa7WaZC5Sunt6FS0ko71BdrYE8zHqg91qaqadZIR2LafUzpeYDBalvE///ug4AA==
$ codext remove-macro my-encoding-chain
$ codext list macros
example-macro
baseXX CLI 工具) 玩转 base 编码。```session $ echo "Test string !" | base122 *.7!ft9�-f9Â
$ echo "Test string !" | base91 "ONK;WDZM%Z%xE7L
$ echo "Test string !" | base91 | base85 B2P|BJ6A+nO(j|-cttl%
$ echo "Test string !" | base91 | base85 | base36 | base58-flickr QVx5tvgjvCAkXaMSuKoQmCnjeCV1YyyR3WErUUErFf
$ echo "Test string !" | base91 | base85 | base36 | base58-flickr | base58-flickr -d | base36 -d | base85 -d | base91 -d Test string !
INPUT:```session
$ echo "Test string !" | base91 | base85 | base36 | base58-flickr | unbase -m 3
Test string !
$ echo "Test string !" | base91 | base85 | base36 | base58-flickr | unbase -f Test
Test string !
列出 codecs.```session
$ codext list encodings
a1z26 adler32 affine alternative-rot ascii
atbash autoclave bacon barbie base
base1 base2 base3 base4 base8
<>
根据名称查找编解码器。```session
$ codext search bitcoin
base58
编码字符串。```sesssion $ echo -en "This is a test" | codext encode polybius 44232443 2443 11 44154344
正在编码文件。```session
$ echo -en "this is a test" > to_be_encoded.txt
$ codext encode base64 < to_be_encoded.txt > text.b64
$ cat text.b64
dGhpcyBpcyBhIHRlc3Q=
链式编解码器。```session $ echo -en "mrdvm6teie6t2cq=" | codext encode upper | codext decode base32 | codext decode base64 test
迭代猜测解码。```session
$ echo -en "test" | codext encode base64 gzip | codext guess
Codecs: gzip
dGVzdA==
$ echo -en "test" | codext encode base64 gzip | codext guess gzip -i base
Codecs: gzip, base64
test