
모든 프로토콜을 구사하는 웹 기반 CLI를 갖춘 하드웨어 해킹 도구
# ESP32 Bit Pirate
[](https://geo-tp.github.io/ESP32-Bit-Pirate/)
**ESP32 Bit Pirate**는 전설적인 Bus Pirate에서 영감을 받아, 여러분의 기기를 다중 프로토콜 개발 및 분석 도구로 바꿔주는 오픈소스 펌웨어입니다.
시리얼 터미널 또는 웹 기반 CLI를 통해 다양한 디지털 프로토콜(I2C, UART, 1-Wire, SPI 등)을 스니핑, 전송, 스크립팅하고 상호작용할 수 있습니다. 또한 Bluetooth, Wi-Fi, Sub-GHz, LoRa, RFID와 같은 무선 프로토콜과도 통신합니다.
공식 프로젝트 웹사이트에서 모든 것을 한곳에서 확인할 수 있습니다: [ESP32 Bit Pirate 웹사이트](https://geo-tp.github.io/ESP32-Bit-Pirate/).
이곳에서 [펌웨어를 설치](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/)하고, [웹 도구](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/)를 열고, [하드웨어 가이드](https://geo-tp.github.io/ESP32-Bit-Pirate/hardware/)를 따라가고, [레시피](https://geo-tp.github.io/ESP32-Bit-Pirate/recipes/)를 살펴보고, [문서](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki)에 접근할 수 있습니다.

[](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/)
## 기능
- **USB 시리얼 또는 WiFi 웹**을 통한 대화형 명령줄 인터페이스(CLI).
- **다음 모드 지원:**
- [HiZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/01-HiZ) (기본)
- [I2C](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/05-I2C) (스캔, 글리치, 슬레이브 모드, 덤프, eeprom)
- [SPI](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/06-SPI) (eeprom, flash, sdcard, 슬레이브 모드)
- [UART](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/03-UART) / [Half-Duplex UART](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/04-HDUART) (브리지, 읽기, 쓰기)
- [1WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/02-1WIRE) (ibutton, eeprom)
- [2WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/07-2WIRE) (스니핑, 스마트카드) / [3WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/08-3WIRE) (eeprom)
- [DIO](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/09-DIO) (디지털 I/O, 읽기, 풀업, 설정, pwm)
- [Infrared](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/11-INFRARED) (전송, 녹화, 만능 리모컨)
- [USB](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/12-USB) (HID, flashrom, 저장장치, usb-uart)
- [Bluetooth](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/13-BLUETOOTH) (BLE HID, 스캔, 스푸핑, 스니핑)
- [Wi-Fi](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/14-WIFI) / [Ethernet](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/18-ETHERNET) (스니핑, 디인증, nmap, netcat)
- [JTAG](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/15-JTAG) (스캔, SWD, openOCD)
- [LED](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/10-LED) (애니메이션, LED 설정)
- [I2S](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/16-I2S) (스피커 테스트, 마이크, 사운드 재생)
- [CAN](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/17-CAN) (프레임 스니핑, 송수신)
- [SUBGHZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/19-SUBGHZ) (분석, 녹화, 재생)
- [RFID](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/20-RFID) (읽기, 쓰기, 복제)
- [RF24](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/21-RF24) (스캔, 전송, 수신)
- [FM](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/22-FM) (분석, 방송)
- [CELL](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/23-CELL) (SIM 카드 덤프, SMS, 통화)
- [LORA](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/24-LORA) (스니핑, 페이로드, meshtatic)
- **프로토콜 스니퍼** I2C, UART, SPI, 1Wire, 2wire, CAN, Wi-Fi, Bluetooth, SubGhz.
- 보드레이트 **자동 감지**, AT 명령 및 UART용 다양한 도구.
- 레지스터 조작, **EEPROM 덤프 도구**, I2C용 기기 식별.
- 모든 종류의 **EEPROM, Flash** 읽기 및 SPI용 다양한 기타 도구.
- **Bus Pirate 스타일 바이트코드** 명령 또는 **Python**을 사용한 스크립팅.
- **80개 이상의 프로토콜**을 지원하는 적외선 기능.
- 직접 I/O 관리, **PWM, 서보, GPIO 상태**.
- **모든 대역**에서 무선 신호 및 주파수 분석.
- **50개에 가까운 주소 지정 가능 LED 프로토콜** 지원.
- 펌웨어 사용을 도와주는 **Pirate 어시스턴트**.
- **USB-Uart 동글, SPI 프로그래머, 로직 분석기, ESP-SDR** 등.
- 웹 브라우저에서 USB 시리얼을 사용할 수 있는 [**웹 시리얼 도구**](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/).
## 지원 기기
아래 나열된 모든 보드는 기능이나 개발 상태에 차이 없이 완전히 동일한 Bit Pirate 기능을 제공합니다. 일부 기능은 추가 하드웨어가 필요할 수 있습니다.
| 기기 | | 설명 |
|-----------------------|------------------------------------------|---------------------------------------------------|
| **ESP32 S3 Dev Kit (N8, N8R2, N8R8, N16R8...)** |  | 20개 이상의 사용 가능한 GPIO, 버튼 1개 |
| **ESP32 S3 Zero / Super Mini** |  | 15 GPIO (노출된 핀), 버튼 1개 |
| [**M5 AtomS3 Lite**](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit?ref=pvosfmid) | [](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit?ref=pvosfmid) | 8 GPIO (Grove, Header), IR TX, 버튼 1개 |
| **M5 Cardputer** |  | 2 GPIO (Grove), 화면, 키보드, 마이크, 스피커, IR TX, SD 카드, 배터리, [독립 실행 모드](#standalone-mode-for-the-cardputer) |
| [**M5 Cardputer ADV**](https://shop.m5stack.com/products/m5stack-cardputer-adv-version-esp32-s3?ref=pvosfmid) | [](https://shop.m5stack.com/products/m5stack-cardputer-adv-version-esp32-s3?ref=pvosfmid) | 12 GPIO (Grove, Header), 화면, 키보드, 마이크, 스피커, IR TX, SD 카드, IMU, 배터리, [Lora](https://shop.m5stack.com/products/cap-lora-1262-for-cardputer-adv-sx1262-atgm336h?ref=pvosfmid), [CC1101](https://shop.m5stack.com/products/cap-cc1101-nfc-for-cardputer?ref=pvosfmid), [독립 실행 모드](#standalone-mode-for-the-cardputer) |
| [**M5 StampS3**](https://shop.m5stack.com/products/m5stamps3a-with-2-54-header-pin?ref=pvosfmid) | [](https://shop.m5stack.com/products/m5stamps3a-with-2-54-header-pin?ref=pvosfmid) | 9 GPIO (노출된 핀), 버튼 1개 |
| [**M5 Stick S3**](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit?ref=pvosfmid) | [](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit?ref=pvosfmid) | 13 GPIO (Grove, Header), 화면, 마이크, 스피커, IR TX, IR RX, IMU, 버튼 3개, 배터리 |
| **LILYGO T-Display** |  | 13 GPIO (1 Qwicc), 화면, 버튼 2개 |
| **LILYGO T-Embed** |  | 9 GPIO (Grove, Header), 화면, 엔코더, 스피커, 마이크, SD 카드 |
| **LILYGO T-Embed CC1101** |  | 4 GPIO (2x Qwiic), 화면, 엔코더, 스피커, 마이크, SD 카드, CC1101, PN532, IR TX, IR RX , 배터리 |
| **LILYGO T-Embed CC1101 Plus** |  | 4 GPIO (2x Qwiic), 화면, 엔코더, 스피커, 마이크, SD 카드, CC1101, NRF24, PN532, IR TX, IR RX , 배터리 |
| **Heltec WiFi LoRa 32 V4** |  | 15 GPIO (Header), SX1262 LoRa, 버튼 2개, **화면 미지원** |
| **Heltec Vision Master T190** |  | 15 GPIO (Header, Qwiiic), 화면, 버튼 2개, SX1262 LoRa |
| **Seeed Studio Xiao S3** |  | 9 GPIO (노출된 핀), 버튼 1개 |
| **Waveshare ESP32-S3-GEEK** |  | 7 GPIO (Dupont 헤더), 화면, 버튼 1개, SD 카드 |
| **Unexpected Maker ProS3**| [](https://www.adafruit.com/product/5401) | 20개 이상의 사용 가능한 GPIO (Header, STEMMA QT), 버튼 1개|
- **기타 ESP32-S3 기반 보드**
- **ESP32-S3 기반의 모든 보드는 최소 4MB의 플래시**만 있으면 지원될 수 있습니다.
- **s3 dev-kit (8MB 플래시) 또는 supermini (4MB 플래시) 펌웨어를 모든 ESP32-S3 보드에 플래시할 수 있습니다.**
- 펌웨어의 **기본 핀 매핑이** 특정 보드와 **일치하지 않을 수 있다는 점**을 유의하세요.
## 시작하기
[](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/)
1. 🔧 펌웨어 플래시
- [ESP32 Bit Pirate 웹 플래셔](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/)를 사용하여 웹 브라우저에서 직접 펌웨어를 굽습니다.
- [M5Burner](https://docs.m5stack.com/en/download)의 StickS3, AtomS3, M5StampS3 또는 Cardputer 카테고리에서도 구울 수 있습니다.
2. 🔌 시리얼 또는 웹으로 연결
- 시리얼: 아무 터미널 앱 또는 [무료 브라우저 기반 웹 시리얼 터미널](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/web-serial-terminal/) ([시리얼 연결](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial) 참조)
- 웹: Wi-Fi를 구성하고 브라우저를 통해 CLI에 접속 ([Wi-Fi 연결](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal) 참조)
3. 🧪 다음과 같은 명령 사용:
```
mode
help
scan
sniff
...
```
## 위키
[](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/)
📚 모든 모드와 명령에 대한 자세한 문서는 **[위키를 방문](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki)**하세요.
포함 내용:
- [터미널 모드](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal) - 시리얼 및 웹 터미널에 관한 내용.
- [모드 개요](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki) - 지원되는 모드 살펴보기.
- [시리얼 설정](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial) - USB를 통한 시리얼 접근.
위키는 모든 것이 어떻게 작동하는지 배우기에 가장 좋은 곳입니다.
## 스크립팅
[](https://github.com/geo-tp/ESP32-Bit-Pirate-Scripts/)
🛠️ **시리얼을 통한 Python 스크립트**로 [**ESP32 Bit Pirate와의 상호작용을 자동화**](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Python)하세요.
[ESP32 Bit Pirate Python Lab](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/python-lab/)을 사용하여 브라우저에서 직접 스크립트를 작성하고 테스트할 수 있습니다.
**포함 내용:** 파일에 데이터 로깅, eeprom 및 flash 덤프, GPIO와의 상호작용, LED 애니메이션...
## 확장기
[](https://github.com/geo-tp/ESP32-Bus-Expander)
🔌 추가 하드웨어 모듈로 **[ESP32 Bit Pirate의 기능을 확장](https://github.com/geo-tp/ESP32-Bus-Expander)**하세요.
확장기는 **WiFi 5 GhZ, Zigbee** 또는 기타 무선 프로토콜 지원을 추가합니다.
[](https://github.com/geo-tp/ESP32-Bus-Expander)
## Dock
[](https://github.com/AndreiVladescu/ESP32-Bit-Pirate-Dock)
🔧 **[원래 Bus Pirate 어댑터와 함께 작동하도록 설계된 ESP32 S3 DevKit용 도킹 스테이션](https://github.com/AndreiVladescu/ESP32-Bit-Pirate-Dock)입니다.**
원래 [Bus Pirate](https://buspirate.com/) 어댑터 및 액세서리 생태계를 연결하여 사용할 수 있습니다.
[](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)
[**PCBWay에서 ESP32 Bit Pirate Dock을 구하세요.**](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)
[](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)
## 명령줄 인터페이스
ESP32 Bit Pirate 펌웨어는 세 가지 명령줄 인터페이스(CLI) 모드를 제공합니다:
| 인터페이스 | 장점 | 적합한 용도 |
|------------------|-----------------------------------------------------------------------------|----------------------------------------|
| **웹 인터페이스** | - 모든 브라우저에서 접근 가능<br>- PC, 태블릿, 모바일<br>- Wi-Fi를 통해 작동<br>- 케이블 불필요 | 빠른 테스트, 데모, 헤드리스 설정 |
| **시리얼 인터페이스** | - 더 빠른 성능<br>- 즉각적인 응답성<br>- 대용량 데이터를 원활하게 처리 | 집중적인 세션, 빈번한 상호작용 |
| **독립 실행** | - Cardputer 전용<br>- 기기 내 키보드<br>- 기기 내 화면 | 휴대용 세션, 빠른 테스트 |
모든 인터페이스는 동일한 명령 구조를 공유하며 상호 교환하여 사용할 수 있습니다 ([자세한 내용](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal)).
## WiFi를 통한 모바일 웹 인터페이스

## Cardputer용 독립 실행 모드

## 기여
**새 보드나 새 명령을 추가하는 간단한 방법**을 설명하는 [기여 방법](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Contribute) 섹션을 참조하세요.
## 시각적 자산
#### [](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Visual-Assets)
[이미지, 로고, 프레젠테이션, 사진, 비디오, 일러스트레이션](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Visual-Assets)을 참조하세요. 이러한 시각 자료는 펌웨어를 설명하고 홍보하는 데 도움이 되도록 **블로그 게시물, 문서, 비디오 또는 기사에서 자유롭게 사용할 수 있습니다**.
## 경고
> ⚠️ **전압 경고**: 기기는 **3.3V** 또는 **5V**에서만 작동해야 합니다.
> - 다른 전압 레벨을 사용하는 주변기기를 연결하지 **마세요** — 그렇게 하면 **ESP32가 손상될 수 있습니다**.
> ⚠️ **사용 경고**: 이 펌웨어는 **교육, 진단 및 상호운용성 테스트 목적으로만** 제공됩니다.
> - 적절한 승인 없이 기기를 방해하거나, 탐지하거나, 조작하는 데 사용하지 마세요.
> - 현지 규정을 위반하거나 네트워크 및 통신을 방해할 수 있는 무단 RF 전송(예: sub-GHz)을 피하세요.
> - 저자는 무단 접근 또는 신호 방출로 인한 법적 결과를 포함하여 이 소프트웨어 또는 하드웨어의 오용에 대해 책임지지 않습니다.
> - 항상 해당 국가의 법률과 책임 있는 공개 정책의 범위 내에서 행동하세요.