Frequently Asked Questions
Native
-
To be able to mark certain functions for IxProtector, the function must be exported during compilation. Only then can IxProtector find the function in the binary.
For marking the macro WUPIDECLFUNC from the wibuixap.h can be used.
Also, if you compile with C++, the exported name may be more complicated than the one in the original source code. This happen because of "name mangeling" (also called "name decoration") where the compiler adds additional information to the function name.
Here extern "C" can help.
For example: extern "C" WUPIDECLFUNC wchar_t* HexConversion(wchar_t* ctext);
To read the exported symbols once from a compiled binary, you can use the "dumpbin" application on Windows that is available in the Visual Studio command line.
E.g.: dumpbin /exports SamplePlugin.dll
Dump of file SamplePlugin.dll
File Type: DLL
Section contains the following exports for SamplePlugin.dll
00000000 characteristics
5CA39B12 time date stamp Tue Apr 2 19:25:38 2019
0.00 version
1 ordinal base
3 number of functions
3 number of names
ordinal hint RVA name
1 0 00001030 ??0CSamplePlugInApp@@QAE@XZ
2 1 00001040 ??4CSamplePlugInApp@@QAEAAV0@ABV0@@@Z (<- Example for "name mangeling")
3 2 00001EA0 HexConversion