
Швейцарский нож для шифрования payload, обфускации и преобразования в байтовые массивы — всё одной командой (поддерживается 14 выходных форматов)! ☢️
Швейцарский нож для шифрования полезной нагрузки, обфускации и преобразования в байтовые массивы — всё одной командой!
Поддерживает 3 алгоритма шифрования, 4 алгоритма кодирования / обфускации и 14 форматов вывода.

Скачайте скомпилированный бинарный файл или скомпилируйте исходный код на Go.
Пример:
# Convert .bin file into C bytes array with XOR encryption and IPv4Fuscation
./ByteCaster -i shellcode.bin -f c -x xor -k 'Test123' -e ipv4
# Convert .bin file into base64 string with XOR encryption
./ByteCaster -i shellcode.bin -x xor -k 'Test123' -e base64

ПРИМЕЧАНИЕ: Последовательность операций всегда одна и та же:
- Шифрование
- Кодирование
- Форматирование вывода
-i / --input <path> [обязательный]
Входной бинарный файл.
-f / --format <value> [необязательный, по умолчанию: raw]
Формат вывода обработанных данных. Генерирует итоговые данные в виде массива байтов на выбранном языке программирования. Вывод всегда отправляется в STDOUT.
Чтобы не применять форматирование вывода, используйте значение raw (по умолчанию).
Доступные значения: raw, hex, c, go, powershell, php, js, rust, csharp, nim, zig, ruby, python, java
-x / --enc-alg <value> + -k / --enc-key <string> [необязательный]
Шифрование данных. Должны быть указаны оба параметра: алгоритм шифрования и ключевая строка.
Доступные значения: xor, aes256, rc4
Все поддерживаемые алгоритмы шифрования подробно описаны ниже.
-e / --encoding <value> [необязательный]
Кодирование данных. Часто используется как обфускация для затруднения анализа или изменения уровня энтропии данных.
Доступные значения: base32, base64, ipv4, mac
Все поддерживаемые алгоритмы кодирования подробно описаны ниже.
xor [0% накладных расходов]Типичное простое XOR-шифрование (a^b). Каждый байт подвергается операции XOR с байтом из ключа.
aes256 [28 байт накладных расходов]AES-256-GCM с ключом длиной 32 байта, полученным с помощью хеш-функции SHA-256.
Формат шифртекста: nonce || ciphertext. Nonce хранится в первых 12 байтах, за которыми следуют зашифрованные данные и тег аутентификации (тег добавляется автоматически GCM внутри шифртекста).
Стандартная реализация AES на Go: crypto/aes
Стандартная реализация Go для генерации ключа SHA-256: crypto/sha256
rc4 [0% накладных расходов]Стандартная реализация Go для шифрования RC4: crypto/rc4
base32 [60–65% накладных расходов]Стандартная реализация Go для кодирования Base32: encoding/base32
base64 [33%-37% накладных расходов]Стандартная реализация Go для кодирования Base64: encoding/base64
ipv4 [100%-300% накладных расходов]Этот приём известен как техника IPv4Fuscation. Каждый выходной байт преобразуется в один октет IPv4-адреса в виде десятичного числа.
Пример данных:
{ 0xe9, 0x36, 0x17, 0xbb, 0xbd, 0x7f, 0x22, 0x10 }
Вывод (массив байтов) в памяти выглядит точно так:
233.54.23.187\0189.127.34.16\0 ...
ПРИМЕЧАНИЕ:
- Каждый IP-адрес заканчивается нулевым байтом!
- Если количество байтов не кратно 4, недостающие байты, добавленные к последнему IP-адресу, равны 255.
mac [200% накладных расходов]Этот приём известен как техника MACFuscation. Каждый выходной байт преобразуется в один октет MAC-адреса в виде шестнадцатеричного числа (в нижнем регистре).
Пример данных:
{ 0xe9, 0x36, 0x17, 0xbb, 0xbd, 0x7f, 0x22, 0x10, 0x84, 0xA7, 0x6f, 0xcc }
Вывод (массив байтов) в памяти выглядит точно так:
e9:36:17:bb:bd:7f\022:10:84:a7:6f:cc\0
ПРИМЕЧАНИЕ:
- Каждый MAC-адрес заканчивается нулевым байтом!
- Шестнадцатеричные числа записываются в нижнем регистре.
- Если количество байтов не кратно 6, недостающие байты, добавленные к последнему MAC-адресу, равны 255 (
ff).