mr-ma / sip-eval

1 stars 0 forks source link

Demangle function names in the combination pass #29

Closed mr-ma closed 6 years ago

mr-ma commented 6 years ago

C++ programs use mangled functions names, this could potentially break SC patcher.

anahitH commented 6 years ago

In order not to break SC patcher function names should be demangled complying to radare2's representation of names, which may differ from llvm demangled names. E.g. radare replaces all pointers (*), references (&) and other special characters in function name with '_', while llvm demangled name may have all these characters. On the other hand function names in combination files are used in SC pass to find functions by their names, so we can not simply create combination files with function names for radare2. It makes sense instead of demangling names in combination files do it for SC patcher guide file. I.e. write function names demangled for radare2 to guide.txt. Given all this I'll open an issue in self-checksumming project instead of this one.