positive-security / send-my Goto Github PK
View Code? Open in Web Editor NEWUpload arbitrary data via Apple's Find My network.
License: GNU Affero General Public License v3.0
Upload arbitrary data via Apple's Find My network.
License: GNU Affero General Public License v3.0
I recently ported your ESP32 Send My firmware to Zephyr and I'm running it on an nRF52832-based RuuviTag, sending the temperature values of the built-in BME280 to the Find My network (see the send-my-sensor project I just published). I'm barely able to receive messages in the DataFetcher, most of the shown characters are ?, with an occasional character coming through completely. I verified that the BLE packet capture is identical to the one sent by the ESP32 firmware for a test message. But my household is very low on Apple devices, just one Mac Mini M1. Does this only work with multiple Apple devices in the neighbourhood?
The DataFetcher window doesn't allow me to scroll, so I'm not able to load more than the first 25 or so messages. Is this fixable?
I cant flash on my macbook, its the same error as seemoo-lab/openhaystack#66
mac@MacBook-Pro ~/D/s/F/ESP32 (main) [1]> ./flash_esp32.sh -p /dev/cu.usbmodem14101
esptool.py v3.1
Found 2 serial ports
Serial port /dev/cu.usbmodem14101
Connecting......
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 3c:61:05:12:48:2c
Uploading stub...
A fatal error occurred: Failed to write to target RAM (result was 01070000)
mac@MacBook-Pro ~/D/s/F/ESP32 (main) [2]>
Hello
On Ubuntu with ESP32 WRoom When run idf.py build. I get the following error :
/home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c: In function 'set_addr_and_payload_for_bit': /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:169:40: warning: passing argument 2 of 'copy_4b_big_endian' from incompatible pointer type [-Wincompatible-pointer-types] 169 | copy_4b_big_endian(&public_key[2], &index); | ^~~~~~ | | | uint32_t * {aka long unsigned int *} /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:157:48: note: expected 'uint8_t *' {aka 'unsigned char *'} but argument is of type 'uint32_t *' {aka 'long unsigned int *'} 157 | void copy_4b_big_endian(uint8_t *dst, uint8_t *src) { | ~~~~~~~~~^~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:170:40: warning: passing argument 2 of 'copy_4b_big_endian' from incompatible pointer type [-Wincompatible-pointer-types] 170 | copy_4b_big_endian(&public_key[6], &msg_id); | ^~~~~~~ | | | uint32_t * {aka long unsigned int *} /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:157:48: note: expected 'uint8_t *' {aka 'unsigned char *'} but argument is of type 'uint32_t *' {aka 'long unsigned int *'} 157 | void copy_4b_big_endian(uint8_t *dst, uint8_t *src) { | ~~~~~~~~~^~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:171:41: warning: passing argument 2 of 'copy_4b_big_endian' from incompatible pointer type [-Wincompatible-pointer-types] 171 | copy_4b_big_endian(&public_key[10], &modem_id); | ^~~~~~~~~ | | | const uint32_t * {aka const long unsigned int *} /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:157:48: note: expected 'uint8_t *' {aka 'unsigned char *'} but argument is of type 'const uint32_t *' {aka 'const long unsigned int *'} 157 | void copy_4b_big_endian(uint8_t *dst, uint8_t *src) { | ~~~~~~~~~^~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:174:45: warning: passing argument 2 of 'copy_4b_big_endian' from incompatible pointer type [-Wincompatible-pointer-types] 174 | copy_4b_big_endian(&public_key[14], &valid_key_counter); | ^~~~~~~~~~~~~~~~~~ | | | uint32_t * {aka long unsigned int *} /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:157:48: note: expected 'uint8_t *' {aka 'unsigned char *'} but argument is of type 'uint32_t *' {aka 'long unsigned int *'} 157 | void copy_4b_big_endian(uint8_t *dst, uint8_t *src) { | ~~~~~~~~~^~~ In file included from /home/user/esp/esp-idf/components/log/include/esp_log.h:15, from /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:15: /home/user/esp/esp-idf/components/log/include/esp_log_color.h:43:69: error: format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 43 | #define LOG_ANSI_COLOR(TEXT_COLOR) "\033[" TEXT_COLOR "m" | ^~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:47:69: note: in expansion of macro 'LOG_ANSI_COLOR' 47 | #define LOG_ANSI_COLOR_REGULAR(COLOR) LOG_ANSI_COLOR(LOG_ANSI_COLOR_STYLE_RESET ";" COLOR) | ^~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:91:31: note: in expansion of macro 'LOG_ANSI_COLOR_REGULAR' 91 | #define LOG_COLOR_E LOG_ANSI_COLOR_REGULAR(LOG_COLOR_RED) | ^~~~~~~~~~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_E' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:182:86: note: in expansion of macro 'LOG_FORMAT' 182 | if (level==ESP_LOG_ERROR ) { esp_log_write(ESP_LOG_ERROR, tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:178:5: note: in expansion of macro 'ESP_LOGI' 178 | ESP_LOGI(LOG_TAG, " pub key to use (%d. try): %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x ... %02x", valid_key_counter, public_key[0], public_key[1], public_key[2], public_key[3], public_key[4], public_key[5], public_key[6], public_key[7], public_key[8], public_key[9], public_key[10], public_key[11], public_key[12], public_key[13],public_key[14], public_key[15],public_key[16],public_key[17],public_key[19], public_key[19], public_key[20], public_key[21], public_key[22], public_key[23], public_key[24], public_key[25], public_key[26], public_key[27]); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:43:69: error: format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 43 | #define LOG_ANSI_COLOR(TEXT_COLOR) "\033[" TEXT_COLOR "m" | ^~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:47:69: note: in expansion of macro 'LOG_ANSI_COLOR' 47 | #define LOG_ANSI_COLOR_REGULAR(COLOR) LOG_ANSI_COLOR(LOG_ANSI_COLOR_STYLE_RESET ";" COLOR) | ^~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:92:31: note: in expansion of macro 'LOG_ANSI_COLOR_REGULAR' 92 | #define LOG_COLOR_W LOG_ANSI_COLOR_REGULAR(LOG_COLOR_YELLOW) | ^~~~~~~~~~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_W' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:183:86: note: in expansion of macro 'LOG_FORMAT' 183 | else if (level==ESP_LOG_WARN ) { esp_log_write(ESP_LOG_WARN, tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:178:5: note: in expansion of macro 'ESP_LOGI' 178 | ESP_LOGI(LOG_TAG, " pub key to use (%d. try): %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x ... %02x", valid_key_counter, public_key[0], public_key[1], public_key[2], public_key[3], public_key[4], public_key[5], public_key[6], public_key[7], public_key[8], public_key[9], public_key[10], public_key[11], public_key[12], public_key[13],public_key[14], public_key[15],public_key[16],public_key[17],public_key[19], public_key[19], public_key[20], public_key[21], public_key[22], public_key[23], public_key[24], public_key[25], public_key[26], public_key[27]); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:94:31: error: format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 94 | #define LOG_COLOR_D "" | ^~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_D' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:184:86: note: in expansion of macro 'LOG_FORMAT' 184 | else if (level==ESP_LOG_DEBUG ) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:178:5: note: in expansion of macro 'ESP_LOGI' 178 | ESP_LOGI(LOG_TAG, " pub key to use (%d. try): %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x ... %02x", valid_key_counter, public_key[0], public_key[1], public_key[2], public_key[3], public_key[4], public_key[5], public_key[6], public_key[7], public_key[8], public_key[9], public_key[10], public_key[11], public_key[12], public_key[13],public_key[14], public_key[15],public_key[16],public_key[17],public_key[19], public_key[19], public_key[20], public_key[21], public_key[22], public_key[23], public_key[24], public_key[25], public_key[26], public_key[27]); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:95:31: error: format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 95 | #define LOG_COLOR_V "" | ^~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_V' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:185:86: note: in expansion of macro 'LOG_FORMAT' 185 | else if (level==ESP_LOG_VERBOSE ) { esp_log_write(ESP_LOG_VERBOSE, tag, LOG_FORMAT(V, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:178:5: note: in expansion of macro 'ESP_LOGI' 178 | ESP_LOGI(LOG_TAG, " pub key to use (%d. try): %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x ... %02x", valid_key_counter, public_key[0], public_key[1], public_key[2], public_key[3], public_key[4], public_key[5], public_key[6], public_key[7], public_key[8], public_key[9], public_key[10], public_key[11], public_key[12], public_key[13],public_key[14], public_key[15],public_key[16],public_key[17],public_key[19], public_key[19], public_key[20], public_key[21], public_key[22], public_key[23], public_key[24], public_key[25], public_key[26], public_key[27]); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:43:69: error: format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 43 | #define LOG_ANSI_COLOR(TEXT_COLOR) "\033[" TEXT_COLOR "m" | ^~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:47:69: note: in expansion of macro 'LOG_ANSI_COLOR' 47 | #define LOG_ANSI_COLOR_REGULAR(COLOR) LOG_ANSI_COLOR(LOG_ANSI_COLOR_STYLE_RESET ";" COLOR) | ^~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:93:31: note: in expansion of macro 'LOG_ANSI_COLOR_REGULAR' 93 | #define LOG_COLOR_I LOG_ANSI_COLOR_REGULAR(LOG_COLOR_GREEN) | ^~~~~~~~~~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_I' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:186:86: note: in expansion of macro 'LOG_FORMAT' 186 | else { esp_log_write(ESP_LOG_INFO, tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:178:5: note: in expansion of macro 'ESP_LOGI' 178 | ESP_LOGI(LOG_TAG, " pub key to use (%d. try): %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x ... %02x", valid_key_counter, public_key[0], public_key[1], public_key[2], public_key[3], public_key[4], public_key[5], public_key[6], public_key[7], public_key[8], public_key[9], public_key[10], public_key[11], public_key[12], public_key[13],public_key[14], public_key[15],public_key[16],public_key[17],public_key[19], public_key[19], public_key[20], public_key[21], public_key[22], public_key[23], public_key[24], public_key[25], public_key[26], public_key[27]); | ^~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c: In function 'send_data_once_blocking': /home/user/esp/esp-idf/components/log/include/esp_log_color.h:43:69: error: format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 43 | #define LOG_ANSI_COLOR(TEXT_COLOR) "\033[" TEXT_COLOR "m" | ^~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:47:69: note: in expansion of macro 'LOG_ANSI_COLOR' 47 | #define LOG_ANSI_COLOR_REGULAR(COLOR) LOG_ANSI_COLOR(LOG_ANSI_COLOR_STYLE_RESET ";" COLOR) | ^~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:91:31: note: in expansion of macro 'LOG_ANSI_COLOR_REGULAR' 91 | #define LOG_COLOR_E LOG_ANSI_COLOR_REGULAR(LOG_COLOR_RED) | ^~~~~~~~~~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_E' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:182:86: note: in expansion of macro 'LOG_FORMAT' 182 | if (level==ESP_LOG_ERROR ) { esp_log_write(ESP_LOG_ERROR, tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:198:5: note: in expansion of macro 'ESP_LOGI' 198 | ESP_LOGI(LOG_TAG, "Data to send (msg_id: %d): %s", msg_id, data_to_send); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:43:69: error: format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 43 | #define LOG_ANSI_COLOR(TEXT_COLOR) "\033[" TEXT_COLOR "m" | ^~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:47:69: note: in expansion of macro 'LOG_ANSI_COLOR' 47 | #define LOG_ANSI_COLOR_REGULAR(COLOR) LOG_ANSI_COLOR(LOG_ANSI_COLOR_STYLE_RESET ";" COLOR) | ^~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:92:31: note: in expansion of macro 'LOG_ANSI_COLOR_REGULAR' 92 | #define LOG_COLOR_W LOG_ANSI_COLOR_REGULAR(LOG_COLOR_YELLOW) | ^~~~~~~~~~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_W' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:183:86: note: in expansion of macro 'LOG_FORMAT' 183 | else if (level==ESP_LOG_WARN ) { esp_log_write(ESP_LOG_WARN, tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:198:5: note: in expansion of macro 'ESP_LOGI' 198 | ESP_LOGI(LOG_TAG, "Data to send (msg_id: %d): %s", msg_id, data_to_send); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:94:31: error: format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 94 | #define LOG_COLOR_D "" | ^~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_D' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:184:86: note: in expansion of macro 'LOG_FORMAT' 184 | else if (level==ESP_LOG_DEBUG ) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:198:5: note: in expansion of macro 'ESP_LOGI' 198 | ESP_LOGI(LOG_TAG, "Data to send (msg_id: %d): %s", msg_id, data_to_send); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:95:31: error: format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 95 | #define LOG_COLOR_V "" | ^~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_V' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:185:86: note: in expansion of macro 'LOG_FORMAT' 185 | else if (level==ESP_LOG_VERBOSE ) { esp_log_write(ESP_LOG_VERBOSE, tag, LOG_FORMAT(V, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:198:5: note: in expansion of macro 'ESP_LOGI' 198 | ESP_LOGI(LOG_TAG, "Data to send (msg_id: %d): %s", msg_id, data_to_send); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:43:69: error: format '%d' expects argument of type 'int', but argument 6 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] 43 | #define LOG_ANSI_COLOR(TEXT_COLOR) "\033[" TEXT_COLOR "m" | ^~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:47:69: note: in expansion of macro 'LOG_ANSI_COLOR' 47 | #define LOG_ANSI_COLOR_REGULAR(COLOR) LOG_ANSI_COLOR(LOG_ANSI_COLOR_STYLE_RESET ";" COLOR) | ^~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:93:31: note: in expansion of macro 'LOG_ANSI_COLOR_REGULAR' 93 | #define LOG_COLOR_I LOG_ANSI_COLOR_REGULAR(LOG_COLOR_GREEN) | ^~~~~~~~~~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_I' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:186:86: note: in expansion of macro 'LOG_FORMAT' 186 | else { esp_log_write(ESP_LOG_INFO, tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:198:5: note: in expansion of macro 'ESP_LOGI' 198 | ESP_LOGI(LOG_TAG, "Data to send (msg_id: %d): %s", msg_id, data_to_send); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:43:69: error: format '%d' expects argument of type 'int', but argument 7 has type 'long unsigned int' [-Werror=format=] 43 | #define LOG_ANSI_COLOR(TEXT_COLOR) "\033[" TEXT_COLOR "m" | ^~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:47:69: note: in expansion of macro 'LOG_ANSI_COLOR' 47 | #define LOG_ANSI_COLOR_REGULAR(COLOR) LOG_ANSI_COLOR(LOG_ANSI_COLOR_STYLE_RESET ";" COLOR) | ^~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:91:31: note: in expansion of macro 'LOG_ANSI_COLOR_REGULAR' 91 | #define LOG_COLOR_E LOG_ANSI_COLOR_REGULAR(LOG_COLOR_RED) | ^~~~~~~~~~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_E' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:182:86: note: in expansion of macro 'LOG_FORMAT' 182 | if (level==ESP_LOG_ERROR ) { esp_log_write(ESP_LOG_ERROR, tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:203:9: note: in expansion of macro 'ESP_LOGI' 203 | ESP_LOGI(LOG_TAG, " Sending byte %d/%d (0x%02x)", by_i, len-1, data_to_send[by_i]); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:43:69: error: format '%d' expects argument of type 'int', but argument 7 has type 'long unsigned int' [-Werror=format=] 43 | #define LOG_ANSI_COLOR(TEXT_COLOR) "\033[" TEXT_COLOR "m" | ^~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:47:69: note: in expansion of macro 'LOG_ANSI_COLOR' 47 | #define LOG_ANSI_COLOR_REGULAR(COLOR) LOG_ANSI_COLOR(LOG_ANSI_COLOR_STYLE_RESET ";" COLOR) | ^~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:92:31: note: in expansion of macro 'LOG_ANSI_COLOR_REGULAR' 92 | #define LOG_COLOR_W LOG_ANSI_COLOR_REGULAR(LOG_COLOR_YELLOW) | ^~~~~~~~~~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_W' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:183:86: note: in expansion of macro 'LOG_FORMAT' 183 | else if (level==ESP_LOG_WARN ) { esp_log_write(ESP_LOG_WARN, tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:203:9: note: in expansion of macro 'ESP_LOGI' 203 | ESP_LOGI(LOG_TAG, " Sending byte %d/%d (0x%02x)", by_i, len-1, data_to_send[by_i]); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:94:31: error: format '%d' expects argument of type 'int', but argument 7 has type 'long unsigned int' [-Werror=format=] 94 | #define LOG_COLOR_D "" | ^~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_D' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:184:86: note: in expansion of macro 'LOG_FORMAT' 184 | else if (level==ESP_LOG_DEBUG ) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:203:9: note: in expansion of macro 'ESP_LOGI' 203 | ESP_LOGI(LOG_TAG, " Sending byte %d/%d (0x%02x)", by_i, len-1, data_to_send[by_i]); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:95:31: error: format '%d' expects argument of type 'int', but argument 7 has type 'long unsigned int' [-Werror=format=] 95 | #define LOG_COLOR_V "" | ^~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_V' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:185:86: note: in expansion of macro 'LOG_FORMAT' 185 | else if (level==ESP_LOG_VERBOSE ) { esp_log_write(ESP_LOG_VERBOSE, tag, LOG_FORMAT(V, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:203:9: note: in expansion of macro 'ESP_LOGI' 203 | ESP_LOGI(LOG_TAG, " Sending byte %d/%d (0x%02x)", by_i, len-1, data_to_send[by_i]); | ^~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:43:69: error: format '%d' expects argument of type 'int', but argument 7 has type 'long unsigned int' [-Werror=format=] 43 | #define LOG_ANSI_COLOR(TEXT_COLOR) "\033[" TEXT_COLOR "m" | ^~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:47:69: note: in expansion of macro 'LOG_ANSI_COLOR' 47 | #define LOG_ANSI_COLOR_REGULAR(COLOR) LOG_ANSI_COLOR(LOG_ANSI_COLOR_STYLE_RESET ";" COLOR) | ^~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log_color.h:93:31: note: in expansion of macro 'LOG_ANSI_COLOR_REGULAR' 93 | #define LOG_COLOR_I LOG_ANSI_COLOR_REGULAR(LOG_COLOR_GREEN) | ^~~~~~~~~~~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:62:37: note: in expansion of macro 'LOG_COLOR_I' 62 | #define LOG_FORMAT(letter, format) LOG_COLOR_ ## letter #letter " (%" PRIu32 ") %s: " format LOG_RESET_COLOR "\n" | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:186:86: note: in expansion of macro 'LOG_FORMAT' 186 | else { esp_log_write(ESP_LOG_INFO, tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \ | ^~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:205:38: note: in expansion of macro 'ESP_LOG_LEVEL' 205 | if (_ESP_LOG_ENABLED(level)) ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \ | ^~~~~~~~~~~~~ /home/user/esp/esp-idf/components/log/include/esp_log.h:114:38: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL' 114 | #define ESP_LOGI( tag, format, ... ) ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:203:9: note: in expansion of macro 'ESP_LOGI' 203 | ESP_LOGI(LOG_TAG, " Sending byte %d/%d (0x%02x)", by_i, len-1, data_to_send[by_i]); | ^~~~~~~~ /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c: In function 'read_line_or_dismiss': /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:227:77: error: 'portTICK_RATE_MS' undeclared (first use in this function); did you mean 'portTICK_PERIOD_MS'? 227 | size = uart_read_bytes(UART_PORT_NUM, (unsigned char *)ptr, 1, 20 / portTICK_RATE_MS); | ^~~~~~~~~~~~~~~~ | portTICK_PERIOD_MS /home/user/esp/send-my/Firmware/ESP32/main/openhaystack_main.c:227:77: note: each undeclared identifier is reported only once for each function it appears in cc1: some warnings being treated as errors [1244/1252] Building C object esp-idf/...ifi_provisioning.dir/src/manager.c.obj ninja: build stopped: subcommand failed. HINT: You are maybe using pre FreeRTOS V8.0.0 APIs. The backward compatibility of such APIs is no longer enabled by default. Please turn on CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY explicitly to use such APIs. HINT: The issue is better to resolve by replacing format specifiers to 'PRI'-family macros (include <inttypes.h> header file). ninja failed with exit code 1, output of the command is in the /home/user/esp/send-my/Firmware/ESP32/build/log/idf_py_stderr_output_11730 and /home/user/esp/send-my/Firmware/ESP32/build/log/idf_py_stdout_output_11730
I tried fresh installing multiple times. I tried multiple computers and multiple Operating systems ( Ubuntu, Kali, MACOS)
Hi,
going beyond starring your repo, to tell you: that's just really amazing example of pwning / abusing Apple protocols :)
You are doing great job! That's also in general about Positive Security !
Best regards,
Peter
Hi, in your article I noticed that the pairing procedure is:
When paring an AirTag with an Apple Device, an Elliptic Curve key pair is generated and the public key is pushed to the AirTag (and a shared secret to generate rolling public keys)
I’m confused about whether the private key will be stored in the airtag, because from the paper https://arxiv.org/pdf/2103.02282.pdf section 6.1, it seems that if you don’t know the d_i then you can’t calculate the next p_i?
Would be appreciated if you can clarify this 🤣 thanks!
Is it possible to compile the app with greater compatibility for older versions? I'm running 10.11.6 on an old iMac and when I run the OFFetchReports app it says "The application requires OS X 10.15 or later."
Thanks.
Hello there, I compiled the esp32 project, and also ran the osx project, (just updated to xcode 14.x) both look to be running, however I have my doubts, i see that there are a lot of messages:
[0;32mI (1979) findmy_modem: pub key to use (3. try): ba be 00 00 00 0d 00 00 00 00 81 81 81 81 00 00 00 02 00 00 00 00 00 00 00 00 00 … 01�[0m
�[0;32mI (2019) findmy_modem: pub key to use (1. try): ba be 00 00 00 0e 00 00 00 00 81 81 81 81 00 00 00 00 00 00 00 00 00 00 00 00 00 … 00�[0m
�[0;33mW (2059) findmy_modem: Generated public key tested as invalid�[0m
�[0;33mW (2079) findmy_modem: Generated public key tested as invalid�[0m
I noticed that in fact I get the "message" to the other side, so I am wondering this:
and finally thank you for your example, great work!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.