Tools for ESP32 firmware dissection
V1: old legacy version, needs old esptool (3.0), supports just few boards
V2: bound to the newer esptool v5.1.0 with more boards support
pip install -r requirements.txtor
python3 -m pip install requirements.txtExamples:
Load from device
esp32knife.py load_from_device --port=auto -e
esp32knife.py load_from_device --port=/dev/ttyUSB0 -e
esp32knife.py load_from_device --port=auto --baud=2000000 -e
esp32knife.py --chip=esp32 -m=nncbadge2019 load_from_device --port=auto --baud=2000000 -e
esp32knife.py --chip=esp32 -m=nncbadge2019 load_from_device --port=auto -eLoad from full binary file
esp32knife.py --chip=esp32 -m=esp32badge2019 load_from_file firmware_esp32os_full.bin
esp32knife.py --chip=esp32 load_from_file firmware_nnc2019_full.bin
esp32knife.py --chip=esp32 -m=nncbadge2019 load_from_file boards/nncbadge2019/firmware_nnc2019_full.binNVS2CVS
nvs2cvs.py -t=cvs parsed/part.0.nvs
nvs2cvs.py -t=text parsed/part.0.nvs
nvs2cvs.py -t=json parsed/part.0.nvs
nvs2cvs.py -t=cvs espressif/nvs_flash/nvs_partition_generator/sample_multipage_blob.bin