Functions | |
bool | BinaryNinja::DemangleGeneric (Ref< Architecture > arch, const std::string &mangledName, Ref< Type > &outType, QualifiedName &outVarName, Ref< BinaryView > view=nullptr, const bool simplify=false) |
Attempt to demangle a mangled name, trying all relevant demanglers and using whichever one accepts it. | |
bool | BinaryNinja::DemangleLLVM (const std::string &mangledName, QualifiedName &outVarName, const bool simplify=false) |
Demangles using LLVM's demangler. | |
bool | BinaryNinja::DemangleLLVM (const std::string &mangledName, QualifiedName &outVarName, BinaryView *view) |
Demangles using LLVM's demangler. | |
bool | BinaryNinja::DemangleMS (Architecture *arch, const std::string &mangledName, Ref< Type > &outType, QualifiedName &outVarName, const bool simplify=false) |
Demangles a Microsoft Visual Studio C++ name. | |
bool | BinaryNinja::DemangleMS (Architecture *arch, const std::string &mangledName, Ref< Type > &outType, QualifiedName &outVarName, BinaryView *view) |
Demangles a Microsoft Visual Studio C++ name. | |
bool | BinaryNinja::DemangleGNU3 (Ref< Architecture > arch, const std::string &mangledName, Ref< Type > &outType, QualifiedName &outVarName, const bool simplify=false) |
Demangles a GNU3 name. | |
bool | BinaryNinja::DemangleGNU3 (Ref< Architecture > arch, const std::string &mangledName, Ref< Type > &outType, QualifiedName &outVarName, BinaryView *view) |
Demangles a GNU3 name. | |
bool | BinaryNinja::IsGNU3MangledString (const std::string &mangledName) |
Determines if a symbol name is a mangled GNU3 name. | |
std::string | BinaryNinja::SimplifyToString (const std::string &input) |
std::string | BinaryNinja::SimplifyToString (const QualifiedName &input) |
QualifiedName | BinaryNinja::SimplifyToQualifiedName (const std::string &input, bool simplify) |
QualifiedName | BinaryNinja::SimplifyToQualifiedName (const QualifiedName &input) |
bool BinaryNinja::DemangleGeneric | ( | Ref< Architecture > | arch, |
const std::string & | mangledName, | ||
Ref< Type > & | outType, | ||
QualifiedName & | outVarName, | ||
Ref< BinaryView > | view = nullptr, | ||
const bool | simplify = false ) |
Attempt to demangle a mangled name, trying all relevant demanglers and using whichever one accepts it.
[in] | arch | Architecture for the symbol. Required for pointer and integer sizes. |
[in] | mangledName | a mangled Microsoft Visual Studio C++ name |
[out] | outType | Pointer to Type to output |
[out] | outVarName | QualifiedName reference to write the output name to. |
[in] | view | (Optional) view of the binary containing the mangled name |
[in] | simplify | (Optional) Whether to simplify demangled names. |
bool BinaryNinja::DemangleLLVM | ( | const std::string & | mangledName, |
QualifiedName & | outVarName, | ||
const bool | simplify = false ) |
Demangles using LLVM's demangler.
[in] | mangledName | a mangled (msvc/itanium/rust/dlang) name |
[out] | outVarName | QualifiedName reference to write the output name to. |
[in] | simplify | Whether to simplify demangled names. |
bool BinaryNinja::DemangleLLVM | ( | const std::string & | mangledName, |
QualifiedName & | outVarName, | ||
BinaryView * | view ) |
Demangles using LLVM's demangler.
[in] | mangledName | a mangled (msvc/itanium/rust/dlang) name |
[out] | outVarName | QualifiedName reference to write the output name to. |
[in] | view | View to check the analysis.types.templateSimplifier for |
bool BinaryNinja::DemangleMS | ( | Architecture * | arch, |
const std::string & | mangledName, | ||
Ref< Type > & | outType, | ||
QualifiedName & | outVarName, | ||
const bool | simplify = false ) |
Demangles a Microsoft Visual Studio C++ name.
[in] | arch | Architecture for the symbol. Required for pointer and integer sizes. |
[in] | mangledName | a mangled Microsoft Visual Studio C++ name |
[out] | outType | Reference to Type to output |
[out] | outVarName | QualifiedName reference to write the output name to. |
[in] | simplify | Whether to simplify demangled names. |
bool BinaryNinja::DemangleMS | ( | Architecture * | arch, |
const std::string & | mangledName, | ||
Ref< Type > & | outType, | ||
QualifiedName & | outVarName, | ||
BinaryView * | view ) |
Demangles a Microsoft Visual Studio C++ name.
This overload will use the view's "analysis.types.templateSimplifier" setting to determine whether to simplify the mangled name.
[in] | arch | Architecture for the symbol. Required for pointer and integer sizes. |
[in] | mangledName | a mangled Microsoft Visual Studio C++ name |
[out] | outType | Reference to Type to output |
[out] | outVarName | QualifiedName reference to write the output name to. |
[in] | view | View to check the analysis.types.templateSimplifier for |
bool BinaryNinja::DemangleGNU3 | ( | Ref< Architecture > | arch, |
const std::string & | mangledName, | ||
Ref< Type > & | outType, | ||
QualifiedName & | outVarName, | ||
const bool | simplify = false ) |
Demangles a GNU3 name.
[in] | arch | Architecture for the symbol. Required for pointer and integer sizes. |
[in] | mangledName | a mangled GNU3 name |
[out] | outType | Reference to Type to output |
[out] | outVarName | QualifiedName reference to write the output name to. |
[in] | simplify | Whether to simplify demangled names. |
bool BinaryNinja::DemangleGNU3 | ( | Ref< Architecture > | arch, |
const std::string & | mangledName, | ||
Ref< Type > & | outType, | ||
QualifiedName & | outVarName, | ||
BinaryView * | view ) |
Demangles a GNU3 name.
This overload will use the view's "analysis.types.templateSimplifier" setting to determine whether to simplify the mangled name.
[in] | arch | Architecture for the symbol. Required for pointer and integer sizes. |
[in] | mangledName | a mangled GNU3 name |
[out] | outType | Reference to Type to output |
[out] | outVarName | QualifiedName reference to write the output name to. |
[in] | view | View to check the analysis.types.templateSimplifier for |
bool BinaryNinja::IsGNU3MangledString | ( | const std::string & | mangledName | ) |
Determines if a symbol name is a mangled GNU3 name.
[in] | mangledName | a potentially mangled name |
std::string BinaryNinja::SimplifyToString | ( | const std::string & | input | ) |
string BinaryNinja::SimplifyToString | ( | const QualifiedName & | input | ) |
QualifiedName BinaryNinja::SimplifyToQualifiedName | ( | const std::string & | input, |
bool | simplify ) |
QualifiedName BinaryNinja::SimplifyToQualifiedName | ( | const QualifiedName & | input | ) |