Hello helpful people,
So when i test my dissector, it gives me back strange characters. At first i thought it was the buffer being passed to my dll wrong, (i use a void* target with memdup, though not sure if memdup or memcpy is better) but then i created a buffer in my dll to test with that i know works, and i still get the strange characters. I think it is how i am converting the string i keep passing. I have 3 files, dissector, dll proxy, and a lib that converts the buffer and returns a CString. I was hoping to get help with this. In my dll (c++):
unsigned char* block = NULL;
int size = 0;
string_to_bytearray("0B1F00040104000023002807000000000000000000D9070300040005000F0014001B00690120110000F4120000000000000000", block, size);
CMsgDecoder msgDecoder;
// Construct your ciMsg with the buffer received from the Dissector
PlantCML::Messaging::CIMsg ciMsg(block, 7);
// Decode stuff
CString name = CMsgDecoder::GetMsgName(ciMsg);
char *output = name.GetBuffer()
delete [] block;
return output;
Maybe this is wrong? It could be the how i get and pass the buffer, but this one i made should work anyway. i get an output of ?????????????????6(strange square lego looking symbol)? and things like that. If anyone has any ideas it would be very helpful.
Thank you,
Greg