ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
April 17th, 2024 | 14:30-16:00 SGT (UTC+8) | Online

Wireshark-dev: [Wireshark-dev] Strange Characters

Date: Fri, 13 Mar 2009 16:35:05 +0000
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