> For the complete documentation index, see [llms.txt](https://sarpers-organization.gitbook.io/ctftricks/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sarpers-organization.gitbook.io/ctftricks/_chapter-intro-3/obfuscation/multi-stage-decoding/trick-0325.md).

# Chained Multi-Source Base64 Decoding (Keys)

***

When clues or keys are intentionally fragmented and hidden across different sources discoverable via distinct forensic techniques (e.g., steganography, file metadata, embedded data in binaries), collect each piece.

Concatenate the fragments in the correct sequence to form the complete string.

For instance, combining fragments `cGxhbnQ0Ml9jYW`, `5fYmVfZGVzdHJveV_`, and `vjolt`:

```
cGxhbnQ0Ml9jYW5fYmVfZGVzdHJveV_vjolt
```

Then, decode the concatenated string, which is often Base64 encoded. To decode a Base64 string from the command line, you can use the `base64` command with the `-d` or `--decode` option. This pipes the string into the `base64` command which decodes it.

For example, decoding the concatenated string above:

```bash
echo "cGxhbnQ0Ml9jYW5fYmVfZGVzdHJveV_vjolt" | base64 -d
```

```
plant42_can_be_destroy_with_vjolt
```

Another common example is decoding the string `aGVsbG8gd29ybGQ=`:

```bash
echo "aGVsbG8gd29ybGQ=" | base64 -d
```

```
hello world
```
