esp32 invalid magic byte 우회하기

2023년 10월 10일 by 진아사랑해

    esp32 invalid magic byte 우회하기 목차
반응형

개요

esp32 ota를 개발하면서 암호화된 파일을 다운로드를 해야 했습니다.

esp32는 binary file의 시작을 0xE9로 시작을 하여야 합니다.

일명 magic byte입니다.

magic byte를 검사하는 파일 및 처리

2군데에서 magic byte를 검사합니다.

uart 다운로드인 경우에는 components/bootloader_support/src/esp_image_format.c

ota인 경우에는 components/app_update/esp_ota_ops.c

2군데에서 검사를 하는데, 저는 ota를 수행함으로 esp_ota_ops.c를 수정하였습니다.

 

#if 0 // 시험용 magic byte 검사 제거
            if (it->wrote_size == 0 && it->partial_bytes == 0 && size > 0 && data_bytes[0] != //ESP_IMAGE_HEADER_MAGIC) {
#else
    if (it->wrote_size == 0 && it->partial_bytes == 0 && size > 0 ) {            
#endif
                ESP_LOGE(TAG, "OTA image has invalid magic byte (expected 0xE9, saw 0x%02x)", data_bytes[0]);
                return ESP_ERR_OTA_VALIDATE_FAILED;
            }

위처럼 수정하였습니다.

https://power-of-optimism.tistory.com/1051

 

esp32 ota 실행에서 나온 에러(invalid magic byte)

esp32의 ota를 개발하고 있습니다. 저는 다운로드 파일을 암호화하여 다운로드를 하고 있습니다. 암호화를 하지 않은 파일은 정상적으로 잘 수행이 되었습니다. 그러나 암화를 한 파일을 샐 행하

power-of-optimism.tistory.com

 

반응형