лан порвалась, признаю
мештастик изначально не средство противодействия цензуре в странах с военно-фашисткой диктатурой, а проект одного чувака который просто хотел надежной и самоорганизующейся связи в походах и в случае ЧП
например просто так из приложения нельзя поменять названия блютуза самой ноды ЦЕЛИКОМ. жопка названия всегда будет окончанием вашего MAC (фейковый он или нет).
а преамбула (то Meshtastic_) - меняется на ShortName.
скажем если жопка моего мака (последние два байта) FFCE, а шорт выбрала Anna - то в эфире блюпупа будет anna_ffce. при том за жопку берется не BLE мак, а base_mac. отакая вот хуйня.
реально, переписывайте сами, это же опенсурс.
решается разными MAC на блютуз и на NodeID. ну или функцию генерации имени блютуза менять я хуй знает..
без выключенного блютуза можно жить, подключив ноду к общему WiFi (роутер, хотспот на телефоне). минус что оно там в HTTP, т.е внутри WiFi сети вполне себе можно снифать трафик.
максимум что узнает долбоеб с aicrack-ом это что у вас какое-то ESP32 (или иное типа-IOT) устройство в сети есть. конечно, если вы не заспуфили WiFi mac на какой-нибудь телевизор или микроволновку.
проблема с NodeId только в том что оно прибито к железу. точнее, разработчики захотели что генерить ID по MAC адресу - нормально.
в контексте civil-only законопослушново подхода да окей, сойдет. будь я свободной женщиной рожденной в свободной стране - не ебала бы себе так мозг.
но мне и вам не повезло.. так вот, кароче:
суть патча - в NVRAM закинуть произвольный MAC, и читать его, а не реальный.
или просто прописать прямо в функции хардкод нового мака массивом. всё.
на примере своего Heltec V3 и как делала я:
srs/platform/esp32/esp32-main.cpp
функция getMacAddr(*dmac)
вот она и делает глав-подлость.
ибо читает напрямую из efuse ( esp_efuse_mac_get_default(dmac) )
костыльный хардкод в теле функции:
dmac[0] = 0xFF;
dmac[1] = 0xCF;
...
и так далее до
dmac[5] = 0xEE;
тоесть да комментируете ВСЁ внутри функции, и хардкодите вот так новый MAC.
всё, ебать, ваш NodeId подменен. компилируете прошивку как обычно с -t heltec-v3 и радуетесь.
с base_mac сейм буллщит, BLE = base_mac + 1 в последний байт, WiFi = base_mac.
просто в srs/main.cpp
в самом начале функции void_setup
uint8_t fakemac[6] = { 0xFF, бла, бла, бла, ваш, мак };
esp_base_mac_addr_set(fakemac);
ша, изи! теперь WiFi и BLE маки генерятся не на основе хардварного мака!
если этот base_mac и NodeId-mac не совпадают - хуй вас отпеленгует долбоеб с аиркраком/BL сканером.
остаются по sidechannel небольшие уловки. щас чай допью и про них напишу, заебалась.