
페이로드 암호화, 난독화 및 바이트 배열 변환을 위한 스위스 아미 나이프 – 단 하나의 명령으로 모든 것을 처리(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바이트 오버헤드]SHA-256 해시 함수에서 파생된 32바이트 키를 사용하는 AES-256-GCM입니다.
암호문 형식: nonce || ciphertext. Nonce는 처음 12바이트에 저장되며, 그 뒤에 암호화된 데이터와 인증 태그가 이어집니다(태그는 GCM에 의해 암호문 내부에 자동으로 추가됩니다).
AES 암호화의 표준 Go 구현: crypto/aes
SHA-256 키 파생의 표준 Go 구현: crypto/sha256
rc4 [0% 오버헤드]RC4 암호화의 표준 Go 구현: crypto/rc4
base32 [60–65% 오버헤드]Base32 인코딩의 표준 Go 구현: encoding/base32
base64 [33%-37% 오버헤드]Base64 인코딩의 표준 Go 구현: 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 주소는 null 바이트로 끝납니다!
- 바이트 수가 4로 나누어떨어지지 않으면 마지막 IP 주소에 추가되는 누락 바이트는 255입니다.
mac [200% 오버헤드]이 기술은 MACFuscation 기법으로 알려져 있습니다. 각 출력 바이트는 MAC 주소의 옥텟 하나를 16진수(소문자)로 변환됩니다.
예제 데이터:
{ 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 주소는 null 바이트로 끝납니다!
- 16진수는 소문자입니다.
- 바이트 수가 6으로 나누어떨어지지 않으면 마지막 MAC 주소에 추가되는 누락 바이트는 255(
ff)입니다.