#encode-decode #encoded-string #ctf #decoder #encoder #cracker #guessing

bin+lib basecracker

Encode, Decode and Crack encoded data, useful to crack some random encoded strings in CTFs

3 unstable releases

0.2.0 Jun 8, 2023
0.1.1 Mar 18, 2022
0.1.0 Mar 17, 2022

#1378 in Encoding

MIT/Apache

45KB
1K SLoC

BaseCracker

Build Help Wanted codecov

BaseCracker is a tool to encode, decode and crack encoded data. It can be really useful to crack some random encoded strings in CTFs.

Installation

From crates.io:

cargo install basecracker

Current supported encodings

  • base2 / binary (padded by 8)
  • base10 / decimal
  • hexadecimal
  • base32 (RFC4648)
  • base36
  • base58
  • base62
  • base64
  • base85

Options

Encode, Decode and Crack encoded data, useful to crack some random encoded strings in CTFs.

Usage: basecracker [OPTIONS] <COMMAND>

Commands:
  encode  Encode given plaintext/file using the specified bases
  decode  Decode given cipher/file using the specified bases
  crack   Crack given cipher/file
  help    Print this message or the help of the given subcommand(s)

Options:
  -q, --quiet
          Quiet mode, don't print anything except results
  -v, --verbose
          Verbose mode
  -m, --min-printable-percentage <MIN_PRINTABLE_PERCENTAGE>
          Minimum printable percentage to consider a result valid [default: 0.9]
  -n, --no-newline
          Do not output the trailing newline
  -h, --help
          Print help
  -V, --version
          Print version

Example

$ basecracker encode "Awsome CTF tool" b64,b85,hex,b32,b62,b58
2eSHB3WFgFiySPWP47oyrMrT6Vb4WXTEv5ZyWdmWWJNJ4H65n2auRW4ZFutQPtXegrNimoCAeUfiQwMAnb4UYg6grcK2WUCTL9LquGa4564JBJK2jAbRfPVjKx9sCgUVdrsUfyMuMR6MipKYERRr
$ basecracker decode 2eSHB3WFgFiySPWP47oyrMrT6Vb4WXTEv5ZyWdmWWJNJ4H65n2auRW4ZFutQPtXegrNimoCAeUfiQwMAnb4UYg6grcK2WUCTL9LquGa4564JBJK2jAbRfPVjKx9sCgUVdrsUfyMuMR6MipKYERRr b64,b85,hex,b32,b62,b58 -r
Awsome CTF tool
$ basecracker crack 2eSHB3WFgFiySPWP47oyrMrT6Vb4WXTEv5ZyWdmWWJNJ4H65n2auRW4ZFutQPtXegrNimoCAeUfiQwMAnb4UYg6grcK2WUCTL9LquGa4564JBJK2jAbRfPVjKx9sCgUVdrsUfyMuMR6MipKYERRr
Recipe: base58,base62,base32,hex,base85,base64
Awsome CTF tool

Verbose mode

Useful if you want to see the steps of encoding/decoding/cracking

$ basecracker -v crack 2eSHB3WFgFiySPWP47oyrMrT6Vb4WXTEv5ZyWdmWWJNJ4H65n2auRW4ZFutQPtXegrNimoCAeUfiQwMAnb4UYg6grcK2WUCTL9LquGa4564JBJK2jAbRf
PVjKx9sCgUVdrsUfyMuMR6MipKYERRr
Recipe: base58,base62,base32,hex,base85,base64
Applying base58:  9Y91a8AfMC1fYZFb6THWx0VBVu1R6BPhFsVhmAksMcKNLIibCXXnDGACS9woBiiuUhmwYgcEHrO4ZjPlvMVUTBxuOkLovyLgGTL2MOCZml9y
Applying base62:  GUYTIMZUMQ2TMNZQGU3DMYZXGA3TMNTGGRSTMYRXGY2TQNTGGUYTMNRVG43DINTCGU3DMYZXGA3WEMRV
Applying base32:  51434d5670566c70766f4e6b76586f516657646b566c707b25
Applying hex:     QCMVpVlpvoNkvXoQfWdkVlp{%
Applying base85:  QXdzb21lIENURiB0b29s
Applying base64:  Awsome CTF tool

Awsome CTF tool

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~2–2.7MB
~53K SLoC