tenable / esp32_image_parser Goto Github PK
View Code? Open in Web Editor NEWA toolkit for helping you reverse engineer ESP32 firmware.
License: MIT License
A toolkit for helping you reverse engineer ESP32 firmware.
License: MIT License
It would be really great to have support for other ESP32 chip variants, in particular the RISC-V-baed chips. I got the first step of selecting the "esp32c3" in LoadFirmwareImage, but still need to figure out the processor family changes required from EXTENSA to RISCV, etc.
I get this error when I try to dump a partition:
./esp32_image_parser.py create_elf flash.bin -partition app0 -output app0.elf
Dumping partition 'app0' to app0_out.bin
Traceback (most recent call last):
File "softs/esp32_image_parser/./esp32_image_parser.py", line 281, in <module>
main()
File "softs/esp32_image_parser/./esp32_image_parser.py", line 264, in main
image2elf(dump_file, output_file, verbose)
File "softs/esp32_image_parser/./esp32_image_parser.py", line 41, in image2elf
image = LoadFirmwareImage('esp32', filename)
NameError: name 'LoadFirmwareImage' is not defined
This can be fixed in esp32_image_parser.py
if you add from esptool.bin_image import *
:
import sys
import json
import os, argparse
from makeelf.elf import *
from esptool import *
from esptool.bin_image import *
from esp32_firmware_reader import *
from read_nvs import *
...
I got this error. any help will be appreciated.
PS D:\Development\esp decompiler\esp32_image_parser> python ./esp32_image_parser.py create_elf firmware_before_corruption.bin -partition ota_0 -output output.elf
Dumping partition 'ota_0' to ota_0_out.bin
Unsure what to do with segment: BYTE_ACCESSIBLE, DRAM
Traceback (most recent call last):
File "./esp32_image_parser.py", line 282, in <module>
main()
File "./esp32_image_parser.py", line 265, in main
image2elf(dump_file, output_file, verbose)
File "./esp32_image_parser.py", line 160, in image2elf
size = len(section_data[name]['data'])
KeyError: '.dram0.data'
Hello,
I am trying to dump a esp32 binary image from a Xiaomi IR remote, unfortunately it isn't working.
Any ideas why this is happening?
(venv) [user@fedora esp32_image_parser-master]$ ./esp32_image_parser.py show_partitions chuangmi.remote_2.0.6_0006.v2.bin
reading partition table...
(venv) [user@fedora esp32_image_parser-master]$
Getting the following errors on a binary
Dumping partition 'ota_0' to ota_0_out.bin
Unsure what to do with segment: PADDING
Unsure what to do with segment: RTC_DATA
Traceback (most recent call last):
File "esp32_image_parser.py", line 283, in <module>
main()
File "esp32_image_parser.py", line 266, in main
image2elf(dump_file, output_file, verbose)
File "esp32_image_parser.py", line 159, in image2elf
size = len(section_data['.iram0.vectors']['data']) + len(section_data['.iram0.text']['data'])
~~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: '.iram0.text'
Dumping partition 'app0' to app0_out.bin
Unsure what to do with segment: BYTE_ACCESSIBLE, DRAM
Unsure what to do with segment: RTC_IRAM
Traceback (most recent call last):
File "C:\Desktop\esp32_image_parser-master\esp32_image_parser.py", line 282, in
main()
File "C:\Desktop\esp32_image_parser-master\esp32_image_parser.py", line 265, in main
image2elf(dump_file, output_file, verbose)
File "C:\Desktop\esp32_image_parser-master\esp32_image_parser.py", line 160, in image2elf
size = len(section_data[name]['data'])
KeyError: '.dram0.data'
Hello Guys,
Have you implemented rtc_iram.
Error says : "Unsure what to do with segment: rtc_iram"
Please help.
Thanks
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.