Help with RTTI problem
See original GitHub issueHi,
I don’t think this is a bug in Ghidra but I must be making a mistake somewhere. I have a lot of strings like 11NisePVectorIN6ns_lib11NormalLayerEE
, 12BattleVersus
and N6ns_lib12SmartPointerI16CellAnimLiveDataEE
in my program. This is a decompiled Nintendo DS ROM. These strings lead me to believe that there’s Runtime Type Information in my binary. I’m almost convinced it was compiled with GCC, since they’re RTTI strings are similar.
The problem is that none of the scripts that are in Ghidra will help me reconstruct these strings into types and it seems I have to do it all by hand. When I run a script like GccRttiAnalysisScript
, it tells me it doesn’t think it’s a GCC binary. I also tried the Ghidra C++ Class and Run Time Type Information Analyzer plugin, which also does not run.
Is there any way to reconstruct this, without doing it by hand? I’m sure I’m making a mistake in my understanding of all this, can you point it out to me? Why does it not recognize it as GCC RTTI?
I was thinking I had to write my own script for this, but before I have to dive into the Ghidra Script API, I want to make sure I’m not making a simple mistake.
Some program info:
Language ID: ARM:LE:32:v5t (1.103)
Compiler ID: default
Processor: ARM
Endian: Little
Address Size: 32
Analyzed: true
Created With Ghidra Version: 10.1.4
Executable Format: Raw Binary
Executable Location: unknown
Thank you for your input.
Issue Analytics
- State:
- Created a year ago
- Comments:15 (11 by maintainers)
Thanks! I was also able to generate one and also noticed calls to null which I had never seen before. Will try to get someone to look into that.
Thanks! No worries.