blob: 1a998a872ebc93b0195bd1a16734f4bdf627637a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include "binaryninjaapi.h"
using namespace BinaryNinja;
using namespace std;
bool DemangleMS(Architecture* arch,
const std::string& mangledName,
Type** outType,
std::vector<std::string>& outVarName)
{
BNType* localType = (*outType)->GetObject();
char** localVarName = nullptr;
size_t localSize = 0;
if (!BNDemangleMS(arch->GetObject(), mangledName.c_str(), &localType, &localVarName, &localSize))
return false;
for (size_t i = 0; i < localSize; i++)
{
outVarName.push_back(localVarName[i]);
BNFreeString(localVarName[i]);
}
delete [] localVarName;
return true;
}
|