commit 5b77e8f336915f35c4dee890df0982894f04b34c Author: DavidVentura Date: Mon Jan 15 15:01:16 2024 +0100 first commit diff --git a/cam.md b/cam.md new file mode 100644 index 0000000..2c95027 --- /dev/null +++ b/cam.md @@ -0,0 +1,144 @@ +dst port 32108 udp +src port 49512 ? + +data: +1st byte always f1 + +examples +f1 e1 00 00 +f1 30 00 00 + +``` +undefined8 create_LanSearch(undefined2 *param_1) + +{ + *param_1 = 0x30f1; + param_1[1] = 0; + return 4; +} +``` +f1 30 00 00 = lan search + +checksum?? +``` + if (((uint)(auStack_5c8[0] >> 8) | (auStack_5c8[0] & 0xff00ff) << 8) != 0xf141) + goto LAB_004a9fb0; + ``` +out[4] = pkt[2] +out[6] + +## Data flow? + +1. P2PInit = Open socket +2. Push params? +``` +for (PushBean SynCmdSend : pushParams) { + IlnkApiMgr.SynCmdSend(p2pParam.getP2pID(), -1, 6, 4, SynCmdSend); +} +``` +3. SendCMD ? + a. friendMsgSend + +16 bytes fixed header +data=20 + len vv +0000 f1 d0 00 10 d1 00 00 0f 11 0a 08 10 04 00 00 00 +0010 65 51 46 36 + + +data=28 + len vv +0000 f1 d0 00 18 d1 00 00 0a 11 0a 18 30 0c 00 00 00 +0010 65 51 46 36 03 01 01 01 00 01 01 01 + +data=204 + len vv +0000 f1 d0 00 c8 d1 00 00 0e 11 0a ff 50 bc 00 00 00 +0010 65 51 46 36 00 0b 51 6a 01 ad fe fe 01 01 01 01 +0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00c0 00 00 00 00 00 00 00 00 b5 01 01 01 + +# start of frame? +0000 f1 d0 00 24 d1 01 00 00 55 aa 15 a8 03 00 40 3f +0010 08 74 a0 65 d1 09 00 00 94 4c 00 00 00 00 00 00 +0020 00 00 00 00 00 00 00 00 + +^# 3f 08 = 1016 = frame length next + +# 8th byte = pkt count; frames only? + len vv +0000 f1 d0 04 04 d1 01 00 01 ff d8 ff db 00 84 00 07 +0010 05 05 06 05 04 07 06 06 06 08 08 07 09 0b 13 0c +0020 0b 0a 0a 0b 18 11 12 0e 13 1c 19 1e 1d 1c 19 1b +0030 1b 1f 22 2c 25 1f 20 2a 21 1b 1b 26 35 27 2a 2e +0040 2f 32 32 32 1e 25 37 3b 36 30 3a 2c 31 32 30 01 +0050 08 08 08 0b 0a 0b 17 0c 0c 17 30 1f 1b 1f 30 30 +0060 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 +0070 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 +0080 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 +0090 ff c0 00 11 08 01 e0 02 80 03 01 22 00 02 11 01 +00a0 03 11 01 ff c4 01 a2 00 00 01 05 01 01 01 01 01 +00b0 01 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 +00c0 08 09 0a 0b 10 00 02 01 03 03 02 04 03 05 05 04 +00d0 04 00 00 01 7d 01 02 03 00 04 11 05 12 21 31 41 +00e0 06 13 51 61 07 22 71 14 32 81 91 a1 08 23 42 b1 +00f0 c1 15 52 d1 f0 24 33 62 72 82 09 0a 16 17 18 19 +0100 1a 25 26 27 28 29 2a 34 35 36 37 38 39 3a 43 44 +0110 45 46 47 48 49 4a 53 54 55 56 57 58 59 5a 63 64 +0120 65 66 67 68 69 6a 73 74 75 76 77 78 79 7a 83 84 +0130 85 86 87 88 89 8a 92 93 94 95 96 97 98 99 9a a2 +0140 a3 a4 a5 a6 a7 a8 a9 aa b2 b3 b4 b5 b6 b7 b8 b9 +0150 ba c2 c3 c4 c5 c6 c7 c8 c9 ca d2 d3 d4 d5 d6 d7 +0160 d8 d9 da e1 e2 e3 e4 e5 e6 e7 e8 e9 ea f1 f2 f3 +0170 f4 f5 f6 f7 f8 f9 fa 01 00 03 01 01 01 01 01 01 +0180 01 01 01 00 00 00 00 00 00 01 02 03 04 05 06 07 +0190 08 09 0a 0b 11 00 02 01 02 04 04 03 04 07 05 04 +01a0 04 00 01 02 77 00 01 02 03 11 04 05 21 31 06 12 +01b0 41 51 07 61 71 13 22 32 81 08 14 42 91 a1 b1 c1 +01c0 09 23 33 52 f0 15 62 72 d1 0a 16 24 34 e1 25 f1 +01d0 17 18 19 1a 26 27 28 29 2a 35 36 37 38 39 3a 43 +01e0 44 45 46 47 48 49 4a 53 54 55 56 57 58 59 5a 63 +01f0 64 65 66 67 68 69 6a 73 74 75 76 77 78 79 7a 82 +0200 83 84 85 86 87 88 89 8a 92 93 94 95 96 97 98 99 +0210 9a a2 a3 a4 a5 a6 a7 a8 a9 aa b2 b3 b4 b5 b6 b7 +0220 b8 b9 ba c2 c3 c4 c5 c6 c7 c8 c9 ca d2 d3 d4 d5 +0230 d6 d7 d8 d9 da e2 e3 e4 e5 e6 e7 e8 e9 ea f2 f3 +0240 f4 f5 f6 f7 f8 f9 fa ff dd 00 04 00 28 ff da 00 +0250 0c 03 01 00 02 11 03 11 00 3f 00 e8 0a 00 7a 50 +0260 17 26 a6 61 92 69 a0 60 d7 9e d6 a7 ab 72 3f 2f +0270 d2 94 ae 05 49 8a 50 05 01 75 d0 62 70 6a 75 19 +0280 15 1f 19 ab 11 8e 29 5a e3 57 1a 54 62 9a 07 35 +0290 23 75 a0 0c d2 b5 b6 09 68 34 28 eb 4a 06 4d 2a +02a0 8e 69 70 41 a4 17 62 6d e6 8d b5 26 41 a4 a2 cc +02b0 77 d0 40 05 05 79 a7 aa d0 7a d4 a4 c7 7b 0d 0b +02c0 9a 53 81 4a 05 01 79 a6 d0 b9 86 ed e7 8a 4d a4 +02d0 9a 90 9e 68 c0 a1 8d 31 9b 31 40 4c d4 bd 68 e8 +02e0 68 68 9b ea 44 13 06 9c 13 9a 7e 32 68 e9 49 a2 +02f0 b9 86 81 cd 29 5a 70 22 94 1a 12 b8 36 c6 6d a0 +0300 ae 4d 3f 83 4a 05 2b 05 c6 15 a3 65 3c 9c 1f 5a +0310 7e 78 a1 a1 dd a2 2c 63 b5 2e 29 f8 cd 27 4a 49 +0320 58 39 88 a6 3b 50 9a f2 ef 1a 5d 17 ba 61 9c e7 +0330 bd 7a 56 a7 32 c7 68 dc f3 5e 3b e2 0b bf 3e f2 +0340 4c 0e 37 1e d8 ab 86 e3 bb 67 33 70 c0 b1 a8 71 +0350 8e 3a d4 f3 2e 5b 8a 66 de 6b b3 63 06 ee c6 32 +0360 8c 55 7c fe f2 ac 4a 70 2a 14 42 5b 26 9a 7d 48 +0370 96 e4 8d 82 95 59 57 f7 9e d5 66 5c 60 0a 84 29 +0380 dc 2a b5 16 97 2c b6 16 3a aa 06 64 ab 2d f7 7a +0390 d4 41 7e 6c 8a 5e a5 49 db 61 c5 38 c5 30 26 0d +03a0 48 c7 9a 0f 2b 9a 4d eb a0 6d b9 56 51 52 42 9c +03b0 74 a4 23 26 a6 87 38 aa 6f 42 63 b9 1b 2e 0d 33 +03c0 6f 35 2c 99 53 c5 08 b9 3c d1 7e c3 49 5e e2 32 +03d0 e0 53 76 a9 a9 dc 54 44 64 f0 69 5c 7c a9 b1 e8 +03e0 bf 2f 14 c9 33 53 20 c2 d4 32 e6 95 c2 49 15 ba +03f0 bd 24 a6 a4 45 e7 35 14 a7 e6 ad 0e 76 ec 22 8c +0400 9a 47 5a 7c 4d 93 d2 92 + diff --git a/script.py b/script.py new file mode 100644 index 0000000..71358d9 --- /dev/null +++ b/script.py @@ -0,0 +1,33 @@ +import socket +import time +s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +ip = "192.168.1.255" +ip = "192.168.1.1" +send_port = 32108 +recv_port = 49512 +s.bind(("", recv_port)) +#s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) + +DISCOVER_PKT = bytes([0xf1, 0x30, 0x00, 0x00]) +def send(data): + s.sendto(data, (ip, send_port)) + +send(DISCOVER_PKT) +data, server = s.recvfrom(4095) +print(data, server) +time.sleep(0.1) + +""" +b'\xf1A\x00\x14BATC\x00\x00\x00\x00\x00\tM,HVDCS\x00\x00\x00' + +0000 14 ac 60 29 81 bf 84 36 71 17 be 90 08 00 45 00 ..`)...6q.....E. +0010 00 34 00 2f 00 00 ff 11 37 d4 c0 a8 01 01 c0 a8 .4./....7....... +0020 01 64 7d 6c c1 68 00 20 88 79 f1 41 00 14 42 41 .d}l.h. .y.A..BA +0030 54 43 00 00 00 00 00 09 4d 2c 48 56 44 43 53 00 TC......M,HVDCS. +0040 00 00 .. +""" + +send(bytes([0xf1, 0xe1, 0x00, 0x00])) +data, server = s.recvfrom(4095) +print(data, server) +time.sleep(0.1)