
BLE-Replay is a Bluetooth Low Energy (BLE) peripheral assessment tool
BLE-Replay는 Bluetooth Low Energy(BLE) 주변 장치 평가 도구입니다. 모바일 디바이스에서 Bluetooth HCI 로그를 가져와 사용하여 중앙 장치(central)가 주변 장치(peripheral)에 수행하는 모든 쓰기(write)를 추출합니다.
이 데이터는 Linux 호스트에서 대부분의 Bluetooth 동글을 사용하여 재생하거나, 수정을 위해 디스크에 저장할 수 있습니다. 이 도구를 사용하면 wireshark로 데이터를 추출하거나 gatttool과 같은 도구로 스크립트를 작성할 필요 없이 바로 주변 장치 테스트를 시작할 수 있습니다. 또한 디바이스에 대해 테스트할 특성 쓰기(characteristic write) 시퀀스를 직접 제작할 수 있으며, 바이트 수준 퍼징(byte-level fuzzing)을 지원합니다.
이 도구는 모바일 앱이 BLE 디바이스에 일부 특성을 작성하여 특정 기능을 구성/잠금 해제/비활성화하거나 디바이스에서 다른 상태 변경 작업을 수행하는 경우 유용합니다.
BlueZ 스택이 있는 Linux.
BLESuite -> https://github.com/nccgroup/BLESuite
python ble-replay.py -h
["000e", "58e96f71ac901b55", [0,1,5,7], 2]
["002c", "627474686f6c65", [], 1]
["0002", "01", [0], 40]
각 줄에는 4개의 매개변수가 포함된 JSON 목록이 들어 있습니다.
Android 디바이스에서 HCI 로그를 가져와 그대로 재생:
python ble-replay.py -f -r
컴퓨터에서 HCI 로그를 파싱하여 그대로 재생:
python ble-replay.py -p btsnoop_hci.log -r
Android 디바이스에서 HCI 로그를 가져와 수정 가능한 재생 데이터를 디스크에 저장:
python ble-replay.py -f -of replaydata.json
필요에 따라 16진수 값을 수정한 후 해당 파일을 재생:
python ble-replay.py -if replaydata.json -r