tslater2006 / esp32_flash_loader Goto Github PK
View Code? Open in Web Editor NEWGhidra Loader for ESP32 Flash Dumps
Ghidra Loader for ESP32 Flash Dumps
I am trying to use this with Ghidra 9.2.4 and it says the version is not supported.
When performing analysis, not enough padding is used, i.e. for the function at 400d43fc analysis start at 0x400d43f
Any way to fix this?
I also want to remove the label and perform reanalysis at the correct address, but I cannot define a function on Data.
Any tips on how to do this in ghidra?
This is the incorrect analysis as the first 0 should have been ignored.
If analysis is performed at address 400d43fc, not 400d43fb then things make more sense.
LAB_ram_400d43fb+1 XREF[0,1]: ram:400d2b9f(R)
ram:400d43fb 00 36 41 srli a3,a0,0x6
ram:400d43fe 00 ?? 00h
ram:400d43ff a1 56 f0 l32r a10,LAB_ram_400d0558
ram:400d4402 65 fb ff call8 LAB_ram_400d43b7+1
ram:400d4405 2d 0a mov.n a2,a10
ram:400d4407 1d f0 retw.n
This should have been,
**************************************************************
* FUNCTION *
**************************************************************
esp_err_t __stdcall nvs_flash_init(void)
esp_err_t a2:4 <RETURN>
nvs_flash_init XREF[2]: Entry Point(*),
app_main:400d2b9f(R)
ram:400d43fc 36 41 00 entry a1,0x20
ram:400d43ff a1 56 f0 l32r a10,PTR_DAT_ram_3f40377c_ram_400d0558 = ram:3f40377c
ram:400d4402 65 fb ff call8 nvs_flash_init_partition
ram:400d4405 2d 0a mov.n a2=>DAT_ram_3f40377c,a10 = 6Eh n
ram:400d4407 1d f0 retw.n
F.Y.I. I am working on ESP32-S2 flash support.
I would also like to add the know functions in rom. Any ideas/suggestions on the best way to do this?
https://github.com/cesanta/mongoose-os/blob/master/platforms/esp32/src/rom/rom_functions.S
Or maybe it is easier to add the entire rom.elf file after loading the flash file.
https://github.com/cesanta/mongoose-os/blob/master/platforms/esp32/src/rom/disasm.sh
Hello, Where is it possible to find the ESP32 specific language spec?
I like the esp32_rom.elf loading but cannot find the ESP32 specific spec for ghidra.
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.