Comments (5)
Hmm. It appears that the type info for std::type_info
is found but it either can't find the vtable or verification is failing.
Is the symbol for std::type_info::vtable
present? If so I would like to see what the data there looks like.
from ghidra-cpp-class-analyzer.
readelf
shows std::type_info
4747: 0000000000416dcc 4 FUNC GLOBAL DEFAULT 3 std::type_info::~type_info()
4752: 000000000073a8c0 16 OBJECT GLOBAL DEFAULT 11 typeinfo for std::type_info
4791: 0000000000416dcc 4 FUNC GLOBAL DEFAULT 3 std::type_info::~type_info()
However I do not see a vtable
in the symbols like I do for other classes.
from ghidra-cpp-class-analyzer.
readelf
showsstd::type_info
4747: 0000000000416dcc 4 FUNC GLOBAL DEFAULT 3 std::type_info::~type_info() 4752: 000000000073a8c0 16 OBJECT GLOBAL DEFAULT 11 typeinfo for std::type_info 4791: 0000000000416dcc 4 FUNC GLOBAL DEFAULT 3 std::type_info::~type_info()
However I do not see a
vtable
in the symbols like I do for other classes.
Is this something you can share (ie have the rights to distribute it)? This should be an impossible situation.
Is this by any chance an android app? Just curious as I've seen some pretty strange things in that area particularly with the ndk.
from ghidra-cpp-class-analyzer.
An android native binary I'm working on has this exact same issue.
here is a link to the file in question
from ghidra-cpp-class-analyzer.
An android native binary I'm working on has this exact same issue.
here is a link to the file in question
I will take a look when I have some free time. However, please be advised that you will encounter some other problems when using the analyzer on Android binaries. Android vtables in particular don't seem to follow the common "rules" such as having the destructors in function table slots 0 and 1 but the analyzer might still assume it is. There is some verification for the destructors but depending on how complex it is expected to be it may incorrectly determine it to be a destructor.
from ghidra-cpp-class-analyzer.
Related Issues (20)
- Binary 10.1.2 release HOT 1
- Resource Leak
- Extension won't install for Ghidra version 10.1.3 HOT 2
- Extension doesn't appear in the Experimental Plugin List HOT 12
- When process comes to cppclassanalyzer.plugin.ClassTypeInfoManagerPlugin.getExternalClassTypeInfo(ClassTypeInfoManagerPlugin.java:331), it haven't ProjectClassTypeInfoManager instancies in heap. HOT 7
- Add Drag n drop handlers
- Plugin: ClassTypeInfoManager name collision
- Duplicated data types with GNU Demangler HOT 6
- Ghidra 10.1.4: "String index out of range: 0" when trying to analyze an executable HOT 3
- `UnresolvedClassTypeInfoException`: Unable to locate archived data HOT 5
- Analysis failure, unable to copy some library ClassTypeInfo data to a project archive HOT 8
- Everything seems to be working fine, but RTTI finds no results. HOT 14
- Error using `TypeInfo *` in structs HOT 2
- Clone method implemented incorrectly for TypeInfoFactoryDataType HOT 3
- Class analyzer errors while analyzing binary HOT 6
- 10.2 Build
- Plugin Related Analysis Tools do not Appear. HOT 4
- 10.2 plugin incompatible with Ghidra 10.3 HOT 6
- getManagerNode is null in analyzer
- Fails to progress due to demangle exception HOT 1
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 ghidra-cpp-class-analyzer.