Home

Awesome

esp32knife

Tools for ESP32 firmware dissection

Still alpha.

install dependency by executing

pip install -r requirements.txt

or

python3 -m pip install rrequirements.txt

Examples:

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 -e

Load 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.bin

NVS2CVS

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