Vector35 / Vector35/binaryninja-api
UI Display Showing Symbols That Couldn't Be Demangled
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
What is the feature you'd like to have?
I'd like a list of all symbols that were unable to be demangled similar to how Ghidra displays it's failures and presents a dialog with the mangled symbols it failed to demangle.
This could be checked by comparing against tools available on the users path such as undname.exe (which may not be the best example since it's not a cross platform tool) or by checking if the mangled name and demangled name are the same after the demangler processes it. There are of course some symbols that are not mangled at all like core C apis..
It would also be good to know if Binary Ninja could identify why it wasn't able to get the demangled name since new additions are being added with each compiler update and language that hits the market. What I mean by this is if it was demangling a symbol fine, however then it encountered an unexpected character based on the information it had been able to extract so far and it didn't know how to proceed, it could log the context.
Is your feature request related to a problem?
I'm was quite happy when the demangling was improved significantly a few months back, however I still have HUNDREDS of symbols not being demangling that undname.exe is able to demangle without any issue. I seem to find more and more as time goes by and I don't see that trend stopping since the specifications are constantly being developed further.
Are any alternative solutions acceptable?
Continuously improving the demangler based on failures users report or allowing for users to use a secondary pass workflow to demangle any remaining symbols, although those are more reactive approaches to already having a list of failures
Additional Information:
This would make it easier for Binary Ninja to stay on top of symbol mangling issues.
Here's how Ghidra displays it:

Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no implementation files, tests, or entry points. Begin by locating Binary Ninja's existing symbol-demangling path and determining how failed results are represented; done should provide a defined way to identify and list symbols that could not be demangled, with failure context if available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100