-
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
Prolog sanity check failed - multiple inheritance offsets #275
Comments
Forgot the facts: |
Thanks, I will take a look at this. The threading problem is probably #267. |
Working backwards...
|
% This rule is a special case of the reasonObjectInObject_E, that relies on the fact that it
% does not matter whether the InnerClass and OuterClass are provably different or whether
% they're just currently not assigned to the same class. The key observation is that the
% distinction only matters when offset is non-zero, because that fact alone rules out the
% possibility that the two classes are in fact the same class. |
0x587970 is the vftable for .?AVCMFCPropertyGridCtrl@@ |
According to this:
So what is going on with the offset at 0x244? |
Just to add some more information in case it's relevant. I identified 3 new operators and 2 delete operators, in a potentially strange configuration:
Having double checked these just now I've found a wrapper for the main delete operator as well, I will try running again with that one defined. |
At 0x50b92d of 0x50b8db (probably MFCPropertyGridCtrl's constructor), we call 0x426738 at offset 0x244. |
|
According to OOAnalyzer, 0x426738 is CWnd::CWnd. |
I think the MFC classes in this program are triggered a rare-but-not-unknown problem in a sanity rule, insanityInheritTwice. Comment out this line and try to run again. |
Initial results are promising, it's on to the guess phase. As an aside, are any of the errors in the analysis log concerning? I'm assuming it will just result in slightly less information extracted than otherwise. |
Nothing too concerning, especially for a program of that size |
After a few adjustments to memory and swap on the container I'm now getting:
Full log: prolog.zip |
I'm getting this error trying to run OOProlog on a Kensington firmware update utility:
There are several warnings/errors at the OOAnalyzer stage which may be related.
Container Version: seipharos/pharos:latest (sha256:fe09ad8e492115b7a1cfe0899995fa37057089d695d73332aa633b7f696f33bd)
Input file: KensingtonUpdate.exe
API database JSON files: ApiJson.zip
Logs: Logs.zip
Partition command:
Analyzer command:
Note: --threads=1 is to avoid a multithread issue that I'll submit/add to another issue for.
Prolog command:
The text was updated successfully, but these errors were encountered: