I read the parsing code, and I now understand the content (for problem 2). I explain if someone needs it.
Here was my message log (given on my previous topic):
00000000: 00 1a 02 00 00 01 3d b5 d9 cd 2d 00 05 32 32 32
00000010: 32 32 00 01 2a 00 06 67 6e 65 78 75 73 00 1a 00
00000020: 17 02 00 00 01 3d b6 1f a8 ba
00 05 32 32 32 32
00000030: 32 00 01 2a 00 03 61 61 61 00 17The two last bytes is a short representing length: 0x
0017 (23 in decimal).
So we count -23 bytes from the end (-5 for headers, 2×2 for length + 1 for switch_byte), the length is written here too (0x
0017).
The next byte is 0x
02, which is RhizomeMessage.SWITCH_BYTE, so it is a rhizome message.
Then, the 8 following bytes are timestamp (0x
0000013db61fa8ba), which is today:
date -d @$(echo 'div=1000;obase=10;ibase=16;13DB61FA8BA/div'|bc)
Fri Mar 29 13:29:20 CET 2013Then the senderDID is in
UTF.
The 2 first bytes is the length of DID (0x
0005), which is only 5 spaces (0x
3232323232).
Then the recipient DID in UTF: length=0x
0001, value=0x
2a (42, the answer, which is the ASCII code of '
*' set in BroadcastPeer).
Then message is then written in UTF: length=0x
0003, value=0x
616161 ("aaa").
"aaa" was my message. So everything is OK, it is not encrypted.
However, I have no explanation for problem 1.