Giao thức drone H120D: Hướng dẫn reverse engineering chi tiết

ByNgọc Trai MKT13/06/2026in GitHub Tools 0
gia-thuc-drone-h120d-reverse-engineering

Bạn có tò mò muốn điều khiển drone Holy Stone H120D bằng Python, xem video trực tiếp trên máy tính, thậm chí viết firmware tự động bay? Tất cả đều có trong repository reverse engineering đầu tiên và đầy đủ nhất về giao thức drone H120D do tác giả zturner1 công bố. Không cần app Android, không cần remote gốc – chỉ cần kết nối WiFi và vài dòng code là bạn đã pilot được con drone này rồi nghen!

Thank you for reading this post, don't forget to subscribe!

Tổng quan về công cụ reverse engineering giao thức drone H120D

Repository zturner1/h120d-protocol là bộ tài liệu hoàn chỉnh về giao thức và công cụ điều khiển drone Holy Stone H120D. Tác giả đã reverse-engineer từ app Android gốc (hs_gps.apk) kết hợp phân tích packet capture. Điểm đặc biệt: drone này dùng chip Fullhan Micro với hệ điều hành RT-Thread 2.1.0, khác hẳn dòng Linux/HiSilicon của các model Holy Stone khác. Bạn sẽ tìm thấy mô tả chi tiết packet format, handshake, heartbeat, lệnh bay, GPS status, video stream H.264, cả ARM disassembly của thư viện native JNI nữa.

Các tính năng nổi bật của repository này

Hiểu rõ toàn bộ giao thức UDP/TCP

Drone giao tiếp qua ba kênh chính: UDP 8080 cho control & command, UDP 8088 cho camera, và TCP 8888 cho video stream. Bảng packet format trong PROTOCOL.md giải thích từng byte – ví dụ gói GPS dài 19 byte, gửi 5Hz, có chứa kinh độ, vĩ độ, accuracy. Lệnh bay dạng 12 byte, gửi burst 50Hz. Nếu bạn từng lăn tăn sao drone không cất cánh được thì bí mật nằm ở byte accuracy: drone từ chối takeoff nếu accuracy > 3 mét.

Code Python sẵn sàng chạy

Thư mục examples có ba script: h120d_control.py – handshake + control cơ bản, hisi_camera.py – chụp ảnh/quay video qua UDP 8088, live_video.py – xem live stream H.264 qua ffplay. Tất cả code chỉ dùng thư viện socket chuẩn, không cần pip install gì hết. Chạy ngay sau khi kết nối WiFi drone (tên HolyStoneFPV-XXXXXX, không mật khẩu, IP drone 172.16.10.1).

Arduino – bay tự động

File arduino/h120d_controller.ino dành cho Arduino Nano 33 IoT. Nạp sketch, mở serial 115200, gõ AUTO – drone sẽ thực hiện chuỗi lệnh bay tự động. Đây là cách hay để học nhúng kết hợp drone.

Phát hiện thú vị: Telnet gây ban MAC

Port 23 (telnet) mở ra RT-Thread shell, nhưng nối vào lập tức bị ban MAC thiết bị, phải power cycle để gỡ. Dùng Arduino làm cầu nối có thể bypass – mở ra hướng khai thác sâu hơn.

Hướng dẫn cài đặt và sử dụng chi tiết

Yêu cầu hệ thống

  • Python 3.8+ (chỉ dùng stdlib, không cần pip)
  • Máy tính hoặc điện thoại có WiFi, kết nối vào mạng HolyStoneFPV-XXXXXX
  • ffmpeg (cụ thể là ffplay) nếu muốn xem video live
  • Arduino Nano 33 IoT + Arduino IDE nếu muốn bay tự động

Kết nối và chạy script cơ bản

Clone repo về, mở terminal, chạy Python. Gõ vài lệnh gửi handshake – bạn sẽ thấy drone trả về độ phân giải “1080P” và phiên bản “V3.8.2”. Sau đó gửi heartbeat (1Hz) để giữ kết nối. Mọi chi tiết đều có trong README, nhưng mình tóm gọn: dòng đầu tiên sock.sendto(b'\x0f', DRONE) query resolution, dòng thứ hai gửi version handshake.

Xem video live

Chạy python examples/live_video.py, script sẽ mở ffplay và show luồng video 1280×720 25fps. Video đi qua TCP 8888 với header 44 byte custom bọc NAL unit H.264 – không phải RTSP dù port 554 có sẵn.

Bay thử với Arduino

Nạp sketch vào Nano 33 IoT, mở Serial Monitor 115200 baud, gõ lệnh AUTO. Drone sẽ cất cánh, bay theo dãy lệnh được lập trình sẵn trong autoSequence(). Bạn có thể sửa code để bay theo tọa độ GPS riêng.

Đánh giá: Ai nên trải nghiệm công cụ này?

Nếu bạn là lập trình viên nhúng muốn học reverse engineering thiết bị IoT, maker drone muốn custom firmware, hay researcher bảo mật quan tâm đến giao thức không dây, repo này là mỏ vàng. Code Python sạch, tài liệu rõ ràng, đã có người test chạy thành công. Dù bạn mới bắt đầu hay đã chuyên sâu, chỉ cần hiểu cơ bản về socket và nhị phân là có thể bay được drone H120D chỉ với laptop.

Kết luận

Giao thức drone H120D đã được giải mã hoàn toàn – từ handshake, heartbeat, GPS, lệnh bay đến video stream. Repository zturner1/h120d-protocol cung cấp tài liệu, code Python, Arduino và cả phân tích RTOS nội bộ. Nếu bạn đang sở hữu một em Holy Stone H120D hoặc chỉ đam mê reverse engineering, đừng bỏ qua. Clone repo, đeo tai nghe, mở terminal lên và bắt đầu bay nghen!

Related Posts