-
Notifications
You must be signed in to change notification settings - Fork 115
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
ArchPPC32 has incorrect PC register number #27
Comments
Hi jeffball, Sorry for the laggy response. I was at SECCON, and didn't have a chance to look into this. You've definitely triggered a "how did this ever work" moment. I'll look into this a bit further and get back to you. |
Can we have whatever sample binary you're working with that's little-endian 32 bit powerpc? As far as I know, code of this type has never been tested with angr, and might not actually exist? |
Ah, I should have mentioned, from my testing, it looks like this holds for I have a vague half-memory of running into this before for some reason, but
|
The vex source comments indicate that yes, it is in fact at that offset. I have no idea where this bug is introduced, and since this source has been copied around since before I was on this project it's impossible to tell when it was introduced, but I'll push a fix. :+) |
Fix pushed to the |
Yep, after upgrading archinfo from the archinfo github repository, this does fix the issue. Thanks! |
I'm attempting to obtain the Intermediate Representation for the PPC32 architecture (little endian), however when parsing the output, I'm getting an incorrect register number for what appears to be the PC register. The output is shown below. The register number 1168 is returned instead of the correct 1160.
I'm running python 2.7.10 on Ubuntu 15.10 and installed pyvex using the recommended "pip install pyvex".
The text was updated successfully, but these errors were encountered: