-
Notifications
You must be signed in to change notification settings - Fork 192
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
Look/merge/test issue211_vft_overwrite branch #222
Comments
This branch apparently has some problems for virtual bases. Basically, when we install a vftable to a virtual base, the thisptr will not match ecx:
|
It seems that we need a way for |
I am sure I'll forget my progress by the time I get back from vacation, so I'll add some notes here. I added a new fact type, thisPtrDefinition, which expresses pointers as expressions. Here is an example:
I added a hash for the "full" or "expanded" thisptr to possibleVFTableWrite, which is sv_3544081266679891044 here. Then we can see the definition of sv_3544081266679891044, which must be describing a virtual base. Notice that the "old" fact information of sv_18024155638382103558 and offset 0 is laughably wrong. So how do we use this on the vft_overwrite branch? Perhaps by verifying that the address is an offset from ecx at some point. |
This is in the thisptr-overhaul branch |
This branch needs to use thisPtrDefinition from the thisptr-overhaul branch (#224) |
No description provided.
The text was updated successfully, but these errors were encountered: