LIEF exposes a demangling API for the following formats:
Input
lief.demangle("?h@@YAXH@Z")
Result
void __cdecl h(int)
Input
lief.demangle("_RNvCskwGfYPst2Cb_3foo16example_function")
Result
foo::example_function
Input
lief.demangle("_ZTSN3lld13SpecificAllocINS_4coff9TpiSourceEEE")
Result
typeinfo name for lld::SpecificAlloc<lld::coff::TpiSource>
Input
lief.demangle("_$s10Foundation4DataV15_RepresentationON")
Result
type metadata for Foundation.Data._Representation
Demangle the given input.
This function only works with the extended version of LIEF
Demangle the given input.
Warning
This function only works with the extended version of LIEF
To check if the current build is an extended version you can use:
Whether this version of LIEF includes extended features.
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
In C++ you can also check if the LIEF_EXTENDED
is defined:
#include <LIEF/config.hpp>
#if defined(LIEF_EXTENDED)
// Extended version
#else
// Regular version
#endif
Return the Android code associated with a ANDROID_VERSIONS
.
For example: Nougat
Return the ANDROID_VERSIONS
as a string..
For example: 7.0.1
Bases: object
The underlying integer value
Disable nanobind warnings about leaked objects. For instance:
nanobind: leaked 45 instances!
nanobind: leaked 25 types!
- leaked type "lief._lief.FORMATS"
- ... skipped remainder
nanobind: leaked 201 functions!
- leaked function ""
- leaked function "export_symbol"
- ... skipped remainder
nanobind: this is likely caused by a reference counting issue in the binding code.