{"id":18896190,"url":"https://github.com/tenable/esp32_image_parser","last_synced_at":"2025-04-09T22:18:29.231Z","repository":{"id":49451496,"uuid":"221546141","full_name":"tenable/esp32_image_parser","owner":"tenable","description":"A toolkit for helping you reverse engineer ESP32 firmware.","archived":false,"fork":false,"pushed_at":"2024-04-03T18:32:21.000Z","size":48,"stargazers_count":189,"open_issues_count":15,"forks_count":50,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-09T22:18:25.764Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tenable.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-13T20:32:09.000Z","updated_at":"2025-04-08T08:19:49.000Z","dependencies_parsed_at":"2024-11-08T08:34:22.950Z","dependency_job_id":"f8527176-6619-4594-a5fc-05cf2ee8cbd6","html_url":"https://github.com/tenable/esp32_image_parser","commit_stats":{"total_commits":22,"total_committers":3,"mean_commits":7.333333333333333,"dds":0.2727272727272727,"last_synced_commit":"0c9ff48d56c8e1e65ba93213400b4d469b84c8ce"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fesp32_image_parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fesp32_image_parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fesp32_image_parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fesp32_image_parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tenable","download_url":"https://codeload.github.com/tenable/esp32_image_parser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248119286,"owners_count":21050755,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T08:32:50.597Z","updated_at":"2025-04-09T22:18:29.205Z","avatar_url":"https://github.com/tenable.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32 Firmware Image to ELF\nThis tool can be used to convert a flash dump from an ESP32 into an ELF file.\n\nAuthors: @lynerc and @\\_NickMiles\\_\n\nThere are three actions:\n- **show_partitions** - will display all of the partitions found in an image file.\n- **dump_partition** - will dump the raw bytes of a specified partition into a file.\n- **create_elf** - reconstruct an ELF file from an 'app' partition (e.g. ota_0).\n- **dump_nvs** - will parse a specified NVS partition and dump its contents.\n\n# Setup\n`pip install -r requirements.txt`\n\n# Example Usage\n## Show all partitions\n`$ python3 esp32_image_parser.py show_partitions espwroom32.bin`\n\n## Dump a specific partition\nDumps to ble_data_out.bin\n\n`$ python3 esp32_image_parser.py dump_partition espwroom32.bin -partition ble_data`\n\nDumps to ble_data.dump\n\n`$ python3 esp32_image_parser.py dump_partition espwroom32.bin -partition ble_data -output ble_data.dump`\n\n## Convert a specific app partition into an ELF file\nConverts ota_0 partition into ELF. Writes to ota_0.elf\n\n`$ python3 esp32_image_parser.py create_elf espwroom32.bin -partition ota_0 -output ota_0.elf`\n\n## Dump a specific NVS partition\nDumps the nvs partition\n\n`$ python3 esp32_image_parser.py dump_nvs esp32_flashdump.bin -partition nvs`\n\nDumps the nvs partition as a JSON\n\n`$ python3 esp32_image_parser.py dump_nvs flashdump/esp32_flashdump.bin -partition nvs -nvs_output_type json`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenable%2Fesp32_image_parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftenable%2Fesp32_image_parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenable%2Fesp32_image_parser/lists"}