Skip to content

Instantly share code, notes, and snippets.

@radare
Created June 7, 2016 17:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save radare/b1bb99abb7bd04a6101c78c7a4d78deb to your computer and use it in GitHub Desktop.
Save radare/b1bb99abb7bd04a6101c78c7a4d78deb to your computer and use it in GitHub Desktop.
1) spawning is slow, so spawning for each symbol is killing the process
2) you can quickly detect which symbols are mangled by just checking the first 2 chars of the symbol, this reduces the time A LOT
3) swift-demangle can be used to demangle more than one symbol at the time
4) swift is opensource, there's no need to spawn anything
5) the swift demangling apis are accessible (not in last release, but yes in git)
6) there's a swift reimplemenation of the c++ one, just google for it
7) i wrote my own demangler in C (totally incomplete, but enough for most needs)
8) spawning is a process that can be done in paralel. but that's something only Node developers know (ssssh!)
9) python is slow
10) opening any real application with this script will kill your machine
11) it is possible to execute code in your machine by adding custom symbol strings in there (pipes and such)
12) r2 supports native demangling for C++, Java and Swift, improving over time with no external dependencies
13) i have better things to do now
@ronyfadel
Copy link

You might want to check out swiftdemangler.com for a web based version of the demangler

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment