Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
byvalver — 셸코드의 bad-bytes를 받아 제거하고, 기능이 보존된 정리된 셸코드를 반환합니다. | Kitploit
도구/GitHubGitHub/umpolungfish/byvalver
ExploitationShellcodeMalware AnalysisPenetration TestingBinary AnalysisMachine LearningRed TeamingShellcode GenerationPayload Development
GitHubumpolungfish/byvalver

byvalver

셸코드의 bad-bytes를 받아 제거하고, 기능이 보존된 정리된 셸코드를 반환합니다.

639697개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
저장소 보기
공유

byvalver (·𐑚𐑲𐑝𐑨𐑤𐑝𐑼)

쉘코드의 배드바이트 추방자

byvalver가 배드바이트를 단호하게 추방합니다
C++ 쉘코드 정화 크로스 플랫폼 아키텍처 빌드 클린 GitHub 별 GitHub 포크 GitHub 후원 Ko-fi 지원

개요 • 빠른 시작 • 대화형 TUI • 타겟 배드바이트 제거 • 배드바이트 프로파일 • 기능 • 아키텍처 • 시스템 요구 사항 • 의존성 • 빌드 • 설치 • 사용법 • 난독화 전략 • 널바이트 제거 전략 • ML 학습 • 에이전트 컬렉션 • 개발 • 문제 해결 • 라이선스


목차

  • 개요
  • 빠른 시작
    • 설치
    • 기본 사용법
    • 확인
    • 크로스 아키텍처 지원
    • 일괄 처리
  • 대화형 TUI
  • 타겟 배드바이트 추방
  • 배드바이트 프로파일
  • 기능
    • 고급 변환 엔진
    • 성능 메트릭
    • 난독화 계층
    • ML 기반 전략 선택
    • 출력 옵션
    • 검증 모음
  • 아키텍처
  • 시스템 요구 사항
  • 의존성
  • 빌드
  • 설치
  • 사용법
  • 난독화 전략
  • 널바이트 제거 전략
  • ML 학습 및 검증
  • 에이전트 컬렉션
  • 개발
  • 문서
  • 문제 해결
  • 라이선스

개요

byvalver는 C로 작성된 CLI 도구로서, x86/x64/ARM/ARM64 쉘코드에서 배드바이트를 자동으로 제거(또는 "추방")하면서 완전한 기능적 동등성을 유지합니다.

v4.0의 새로운 기능: 크로스 아키텍처 지원

아키텍처성숙도전략 수비고
x86 (32비트 Intel/AMD)안정 v4.2150+프로덕션 테스트 완료, 전체 커버리지
x64 (64비트 Intel/AMD)안정 v4.2150+기본 아키텍처, 프로덕션 테스트 완료
ARM (32비트)실험 v0.17개 핵심제한적 테스트, 핵심 명령어만
ARM64 (AArch64)실험 v0.1기본프레임워크 준비 완료, 최소 전략
  • --arch 플래그를 통한 자동 Capstone 모드 선택

v4.0.1 버그 수정:

  • ARM SUB 명령어 인코딩 수정 (I=1 비트와 함께 올바른 opcode 0x2)
  • ARM64 전략 can_handle 로직 수정 (패스스루 전략 대상)
  • ARM/ARM64 아키텍처 선택 시 실험 경고 추가
  • 아키텍처 불일치 탐지 휴리스틱 추가
  • 코드 구성 개선 (include를 파일 범위로 이동)

v4.2의 새로운 기능: 향상된 x64 지원

  • x86/x64 전략 호환성 계층: 128개 이상의 x86 전략이 x64 쉘코드에서 작동
  • 5개의 새로운 x64 전용 전략 파일: MOVABS, SBB, TEST, SSE 메모리, LEA 변위
  • 확장된 레지스터 인코딩: 올바른 REX 접두사 처리를 포함한 R8-R15 전체 지원
  • REX 접두사 유틸리티: is_64bit_register(), is_extended_register(), build_rex_prefix()
  • x64 전용 쉘코드 샘플에서 100% 실패율 해결

이 도구는 Capstone 역어셈블 프레임워크를 사용하여 명령어를 분석하고, 175개 이상의 순위가 매겨진 변환 전략을 적용하여 배드바이트가 포함된 코드를 동등한 대안으로 교체합니다.

일반적인 배드바이트 추방 프레임워크는 2가지 사용 모드를 제공합니다:

  1. 직접 지정: --bad-bytes 옵션을 통해 임의의 바이트를 추방하도록 지정할 수 있습니다 (예: 개행 문자에 안전한 쉘코드를 위한 --bad-bytes "00,0a,0d")
  2. 프로파일 기반: --profile 옵션을 사용하면 일반적인 익스플로잇 시나리오에 대한 사전 구성된 배드바이트 세트를 사용할 수 있습니다 (예: --profile http-newline, --profile sql-injection, --profile alphanumeric-only)

Windows, Linux, macOS를 지원합니다.

핵심 기술:

  • 효율성과 저수준 제어를 위한 순수 C 구현
  • 정밀한 역어셈블을 위한 Capstone
  • 디코더 스텁 생성을 위한 NASM
  • 확장 가능한 변환을 위한 모듈식 전략 패턴 (153개 이상의 전략 구현)
  • 지능형 전략 선택을 위한 신경망 통합
  • 이단계 처리: 난독화 후 널바이트 제거

[!NOTE] 널바이트 제거 (--bad-bytes "00" 또는 기본값): 잘 테스트됨 / 일반 배드바이트 제거 (--bad-bytes "00,0a,0d" 등): 새로 구현됨

배드바이트 추방 실제 작동

배드바이트 추방 실제 작동

빠른 시작

몇 분 만에 byvalver를 시작해 보세요:

설치

옵션 1: GitHub에서 (권장)```bash curl -sSL https://raw.githubusercontent.com/umpolungfish/byvalver/main/install.sh | bash

**옵션 2: 소스에서 빌드**```bash
git clone https://github.com/umpolungfish/byvalver.git
cd byvalver
make
sudo make install
sudo make install-man  # Install man page

기본 사용법

NULL BYTES 제거 (DEFAULT):```bash byvalver input.bin output.bin

**BAD-BYTE 프로필 사용:**```bash
# HTTP contexts (removes null, newline, carriage return)
byvalver --profile http-newline input.bin output.bin

# SQL injection contexts
byvalver --profile sql-injection input.bin output.bin

# Alphanumeric-only shellcode (most restrictive)
byvalver --profile alphanumeric-only input.bin output.bin

수동 BAD-BYTE 지정:```bash

banish null bytes and newlines

byvalver --bad-bytes "00,0a,0d" input.bin output.bin

**고급 기능:**```bash
# Add obfuscation layer before denullification
byvalver --biphasic input.bin output.bin

# Enable ML-powered strategy selection
byvalver --ml input.bin output.bin

# Generate XOR-encoded shellcode with decoder stub
byvalver --xor-encode DEADBEEF input.bin output.bin

# Output in different formats
byvalver --format c input.bin output.c      # C array
byvalver --format python input.bin output.py # Python bytes
byvalver --format hexstring input.bin output.hex # Hex string

검증

항상 변환된 셸코드를 검증하십시오:```bash

Check for remaining bad bytes

python3 verify_denulled.py --bad-bytes "00,0a,0d" output.bin

Verify functional equivalence

python3 verify_functionality.py input.bin output.bin

### 크로스 아키텍처 지원

`byvalver`는 `--arch` 플래그를 통해 여러 아키텍처를 지원합니다:

**x86 (32-bit Intel/AMD)** - 150개 이상의 전략으로 완전히 지원됨```bash
byvalver --arch x86 --bad-bytes "00" x86_shellcode.bin output.bin

x64 (64-bit Intel/AMD) - 완전 지원 (기본값)```bash byvalver --arch x64 --bad-bytes "00,0a,0d" x64_shellcode.bin output.bin

**ARM (32-bit)** - 기본 전략을 갖춘 실험적 지원```bash
byvalver --arch arm --bad-bytes "00" arm_shellcode.bin output.bin

ARM64 (AArch64) - 기본 전략을 포함한 실험적 지원```bash byvalver --arch arm64 --bad-bytes "00,0a" arm64_shellcode.bin output.bin

**참고:**
- ARM/ARM64 지원은 핵심 명령어(MOV, 산술, 로드/스토어)에 초점을 맞춥니다.
- ARM에서는 더 간단한 배드바이트 프로필(예: 널 바이트만)을 사용하세요.
- ARM/ARM64가 선택되면 실험 경고가 표시됩니다.
- 기본 아키텍처 불일치 감지 기능이 있어 셸코드가 잘못된 아키텍처인 경우 경고합니다.
- 자동 아키텍처 감지는 향후 릴리스에서 계획 중입니다.

### 배치 처리

전체 디렉터리 처리:```bash
# Process all .bin files recursively
byvalver -r --pattern "*.bin" input_dir/ output_dir/

# Apply HTTP profile to all shellcode in directory
byvalver -r --profile http-newline input_dir/ output_dir/

대화형 TUI

TUI 메인 메뉴

도구 다운로드