pfalcon / ida-xtensa2 Goto Github PK
View Code? Open in Web Editor NEWIDAPython plugin for Tensilica Xtensa (as seen in ESP8266), version 2
License: GNU General Public License v2.0
IDAPython plugin for Tensilica Xtensa (as seen in ESP8266), version 2
License: GNU General Public License v2.0
Hi @pfalcon,
I'm trying to get ScratchABit + ida-xtensa2 to work for esp8266 disassembly and having the following error:
> python3 scratchabit.py ../esp8266.def
Loading CPU plugin xtensa
Loading /Volumes/esp8266/esp-open-rtos/examples/http_get/build/http_get.out (elf plugin)
Adding area: Area(0x40000000-0x4000ffff, {'name': '.bin', 'access': 'RX'})
Loading /Volumes/esp8266/esp-elf-rom/bootrom.bin @0x40000000
Processing section: entrypoints
Traceback (most recent call last):00
File "scratchabit.py", line 950, in <module>
engine.analyze(_progress)
File "/Volumes/esp8266/ScratchABit/engine.py", line 861, in analyze
insn_sz = _processor.ana()
File "/Volumes/esp8266/ScratchABit/plugins/cpu/xtensa.py", line 460, in ana
val = get_full_val(ea, 4)
File "/Volumes/esp8266/ScratchABit/idaapi.py", line 293, in get_full_val
return ADDRESS_SPACE.get_data(ea, val_sz)
File "/Volumes/esp8266/ScratchABit/engine.py", line 221, in get_data
val = val | (area[BYTES][off + i] << 8 * i)
TypeError: 'NoneType' object is not subscriptable
Here's my configuration file:
cpu xtensa
# Show up to this many raw bytes of code/data
show bytes 4
# Load an arbitrary esp8266 ELF file
# See example.def if you want to load raw binaries instead
load /Volumes/esp8266/esp-open-rtos/examples/http_get/build/http_get.out elf
# First attempt at loading BootROM binary image and symbols
# These files came from https://github.com/jcmvbkbc/esp-elf-rom
area .bin 0x40000000(0x10000) rx
load /Volumes/esp8266/esp-elf-rom/bootrom.bin 0x40000000
[entrypoints]
load "/Volumes/esp8266/esp-elf-rom/eagle.rom.addr.v6.ld"
Python version 3.5.2
Is there something wrong with my configuration?
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.