Comments (5)
Thanks for this bug report. It looks like the problem is related to the JSON exporter, not the actual Prolog results, which is good news, because detection problems are usually harder to fix than reporting problems. It will probably take us a while to fix this, but it's on the list now.
from pharos.
Thank you. This work is really meaningful.
from pharos.
Just adding additional notes about this bug to make it clearer what the problem is. The JSON results for ooex_vs2008/Debug/oo.exe report:
"Vcalls": [{ "call": "4116a2", "targets": [{ "ea": "411970" }]}]
But the Prolog results for the same file are:
finalResolvedVirtualCall(0x4116a2, 0x417824, 0x411970).
finalResolvedVirtualCall(0x4116bb, 0x417814, 0x4119f0).
finalResolvedVirtualCall(0x4116d5, 0x417814, 0x4118f0).
finalResolvedVirtualCall(0x4116ea, 0x417824, 0x411970).
So it appears that perhaps our JSON reporter only ever reports the first virtual call?
from pharos.
The code to pull out virtual function call targets examines call descriptors. which apparently do not account for multiple targets:
pharos/libpharos/oojson_exporter.cpp
Line 433 in 747576f
from pharos.
Indeed I got 52 finalResolvedVirtualCall's in another test (from different callsites) but only a single VCalls entry in the entire json file.
from pharos.
Related Issues (20)
- no need to create lies HOT 1
- ooprolog crash HOT 16
- Consistency checks failed in ooprolog. HOT 22
- Partition stuck at 94%, seems to not be using available memory HOT 14
- Partitioner stucks at 17 % and often gets killed HOT 4
- crash in partitioning: basic block does not contain instruction HOT 8
- Is there a method to exclude classes by name? HOT 29
- Add Support For Non-Standard Windows Based Executables. HOT 6
- Initial sanity check failed in ooprolog HOT 6
- Contribute to OOAnalyzer HOT 1
- Where can I find a plugin for Ghidra? HOT 1
- WSL: cannot see file mapped HOT 1
- Build error running make on CentOS 7 (error: constructor required before non-static data member) HOT 12
- Initial sanity checks failed: Contradictory information about constructor: factConstructor(0x4a347b) but reasonNOTConstructor(0x4a347b) HOT 2
- Unknown message: error(system_error(initialSanityChecks)) error from ooprolog HOT 24
- fn2yara segfaults HOT 2
- Duplicate IntegerOffsetSearcher code in funcs.cpp and fn2yara.cpp
- Concurrency problems in fn2hash and other tools HOT 12
- Segmentation fault (core dumped) HOT 6
- Broken link in documentation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pharos.