Přeskočit na obsah

Nástroje pro validaci firmwaru

Tato příručka podrobně popisuje interní nástroje používané k ověření logiky sestavení firmwaru aplikace ELRS Mobile proti oficiálním “zlatým” binárním souborům.

Pravdivá data vs. binární soubory konfigurátoru

Při provádění validačních auditů si můžete všimnout, že binární soubory generované ELRS Mobile se dokonale shodují s oficiálním ExpressLRS Web Flasherem, ale mírně se liší od binárních souborů vytvořených pomocí lokálního ExpressLRS Configuratoru (Python).

Toto je očekávané chování. Interní C++ JSON parser v ESP32 ignoruje mezery, což znamená, že oba binární soubory se na hardwaru spouštějí identicky, přestože selžou při přísném porovnání SHA256 bajt po bajtu kvůli rozdílům v minifikaci.


Location: firmware_testing/scripts/dart/logic_validator.dart

Validátor logiky je vysoce výkonný nástroj pro bitové porovnávání. Je navržen tak, aby ověřil, že interní logika patchování a sestavování ELRS Mobile odráží oficiální logiku ExpressLRS.

  • Analýza na bitové úrovni: Určuje přesné bitové chyby v nesouhlasících bajtech.
  • Interaktivní výběr: Zobrazuje seznam všech binárních souborů nalezených v firmware_testing/binaries/.
  • Správa paměti s nulovou kopií: Optimalizováno pro vysokorychlostní analýzu velkých souborů firmwaru.
  1. Připravte binární soubory: Umístěte vygenerované soubory .bin nebo .gz do firmware_testing/binaries/.
  2. Nastavení a spuštění:
    Terminál
    cd firmware_testing/scripts/dart/
    dart pub get
    dart run logic_validator.dart

Location: firmware_testing/scripts/python/audit_tool.py

Auditor je samostatný skript bez závislostí, určený pro ověření “pravdivých dat”. Analyzuje 2704bajtový konfigurační blok připojený na konec každého obrazu firmwaru ExpressLRS.

Ověřuje, že metadata skutečně flashnutá do zařízení (Product Name, Lua Name, Hardware Layout a Options) jsou správná, bez ohledu na rozdíly v rozvržení v základním kódu firmwaru.

  1. Spusťte přímo:
    Terminál
    python3 firmware_testing/scripts/python/audit_tool.py [file1] [file2]

3. Pracovní postup binární křížové validace

Section titled “3. Pracovní postup binární křížové validace”

Aby bylo zajištěno, že ELRS Mobile správně sestavuje firmware, měli by vývojáři pravidelně provádět audit křížové validace proti binárnímu souboru “pravdivých dat” zkompilovanému na PC.

1

Export binárního souboru z ELRS Mobile

Povolte Expert Mode v Nastavení a poté použijte tlačítko DOWNLOAD BINARY v záložce Flasher po konfiguraci vašeho cíle a Options.

2

Vygenerujte PC pravdivá data

Sestavte úplně stejný cíl a verzi s identickými Options pomocí oficiálního ExpressLRS Configuratoru na vašem PC.

3

Spusťte audit

Umístěte oba binární soubory do firmware_testing/binaries/ a spusťte skript audit_tool.py pro ověření dokonalé hardwarové a Options parity.