-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for LITBASE #1
Comments
Hi, thanks for the message! The answer depends on how the firmware is using the LITBASE register.
We may need to expose a load option so as not to affect decompilation on chips that don't use it. This plugin best supports the ESP8266, and it works fairly well, so I'd like to preserve that, but I'd also like to support whatever chip this is! I'm open to merging a hack here if that's easiest to implement. However, if it would break non-LITBASE cases, I'd like to put it behind a load option. It'd be useful to have a sample binary for documentation & testing purposes. I'm guessing you probably can't share the firmware from the device under analysis. Do any of the free SDKs use this architecture option? I just checked and the ESP32 does not, and I'm pretty sure the ESP8266 doesn't either. If there's no freely distributable example, can you share a snippet of disassembly that demonstrates how the firmware is using the LITBASE register? Do any of those options sound like something you'd like to implement? Your best bet is probably 1) or 2) |
Hi Zack, thanks for your answer! The LITBASE registers is set only once in my binary:
I patched
But of course this brakes the original functionality of your plugin. Where would be a good point to set a "global register"? I guess during parsing of the WSR instruction. I would not like to share the binary publicly, if you can share you mail address I can send it to you. Thanks, |
Hi,
I have an Xtensa binary which uses LITBASE (special register #5). Without honoring it l32r instructions will always point to the wrong target address. Here is a relevant section from the reference manual:
I would like to help implementing LITBASE into this project, where could I begin? For starters, LITBASE could just be hard coded.
The text was updated successfully, but these errors were encountered: