← maldev README · docs/index
The encode/ package provides transport-safe byte transformations:
Base64 (standard + URL-safe), UTF-16LE, ROT13, and the
PowerShell -EncodedCommand format. Encoding is never confidentiality —
it survives channels that mangle arbitrary bytes (HTTP headers, JSON
strings, PowerShell command lines, stdin pipes).
flowchart LR
PT[plaintext] -->|encrypt| ENC[crypto.EncryptAESGCM]
ENC -->|then encode| B64[encode.Base64Encode]
B64 --> WIRE[ship over HTTP / JSON / PS]
WIRE -.unwrap.-> B64D[encode.Base64Decode]
B64D --> DEC[crypto.DecryptAESGCM]
DEC --> PAYLOAD[shellcode]
Encrypt first, then encode. Decode last, then decrypt.
| Package | Tech page | Detection | One-liner |
encode | encode.md | very-quiet | Base64 (std + URL), UTF-16LE, ROT13, PowerShell -EncodedCommand |
| T-ID | Name | Packages | D3FEND counter |
| T1027 | Obfuscated Files or Information | encode (PowerShell, Base64) | D3-SEA |
| T1027.013 | Encrypted/Encoded File | encode (Base64 wrapper for ciphertext) | D3-FCR |
| T1140 | Deobfuscate/Decode Files or Information | encode.Base64Decode, encode.Base64URLDecode | D3-FCR |