-
Notifications
You must be signed in to change notification settings - Fork 6
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
IR decoding error for WRMSR instructions #7
Comments
After increasing the basic block count, I've found more instructions that are unrecognised: $ awk '$1 == "IR" { printf("^%s:\n", substr($5, 3, 16)) }' < fail.txt | sort -u | grep -f- <(objdump -d /local/xen.git/xen/xen-syms)
ffff82d040201e98: 0f 30 wrmsr
ffff82d040201fca: 0f 30 wrmsr
ffff82d040206a47: 0f 0b ud2
ffff82d040206d31: 0f 0b ud2
ffff82d04044d9f0: 0f 78 c0 vmread %rax,%rax
ffff82d04059c32c: 0f 0b ud2 Speculation wise, most |
With the fix for #6 in place, analysis gets further, and this is the new list:
I think it's safe to say that |
I would suggest to separate the IR decoding errors from the other errors and output the locations to a separate file (e.g., The instructions that stop speculation is no need to support for, since its fine to stop the analysis at that point. You agree? |
Logging them separately is probably a good thing. I've been pointed at angr/vex@e8a5589 as an example of adding support to pyvex but I have to say that the x86 decoder semantics leaves a lot to be desired |
When trying this scanner on Xen, I've got the 4 instances of the following:
All reported
where
's areWRMSR
instructions. Full binary and repro details on #6 (comment)The text was updated successfully, but these errors were encountered: