>> ECU 0x31 on HS-CAN (ReqCANId: 0x00000242, RspCANId: 0x00000642)
>> ECU 0x97 on HS-CAN (ReqCANId: 0x0000024D, RspCANId: 0x0000064D)
>> ECU 0x18 on HS-CAN (ReqCANId: 0x000007E2, RspCANId: 0x000007EA) tcm
>> ECU 0x11 on HS-CAN (ReqCANId: 0x000007E0, RspCANId: 0x000007E8) ecm
>> ECU 0x8F on HS-CAN (ReqCANId: 0x00000252, RspCANId: 0x00000652)
>> ECU 0x45 on HS-CAN (ReqCANId: 0x0000025F, RspCANId: 0x0000065F)
>> ECU 0x28 on HS-CAN (ReqCANId: 0x00000243, RspCANId: 0x00000643) abs??
>> ECU 0x40 on HS-CAN (ReqCANId: 0x00000241, RspCANId: 0x00000641) bcm??
I found this chart on the web. Maybe the modules also advertise them with some ids, but filtering traffic is nightmare.
The script you are refering is not using comments, even you can add ones with a special character, but not sure what it was.
This part for example runs a loop within the script and checks all algos for brute unlocking the pcm.
loop:768 //here you specify the loop count
getseed:7:algo //this line specifyy you are going to test some algos and convert seed to key. getseed:7 means get seed from byte 7 on next response[zero is also counted] :algo is used as a variable here
00 00 07 E2 02 27 01 FF FF FF FF FF //get seed command
break:7:AA // break loop if byte 7 of response is AA
00 00 07 E2 04 27 02 key FF FF FF //set key and response
variable:algo:0:+1 //here you increase the algo number being tested
00 00 01 01 FE 01 3E //some 10 seconds delay is introduced here
delay:2000
00 00 01 01 FE 01 3E
delay:2000
00 00 01 01 FE 01 3E
delay:2000
00 00 01 01 FE 01 3E
delay:2000
00 00 01 01 FE 01 3E
delay:2000
endloop // break loop here
You can also specify a key algo if you know it.
example
getseed:5:28 //get seed from 5th byte and convert to key with algo 28
6c 10 f0 27 01
6c 10 f0 27 02 key // send converted key to pcm
there is 3 tables for algos being used table 0 is 0-ff table 1 is 100-1ff and table2 is 200-2ff
The other part of the loop is to read all 1a info from pcm in a loop.
variable:var1:1:80 //here you set variable :var1, :1 bytes length :80 initial value
loop:256 //here you start the loop
00 00 07 E2 02 1A var1 FF FF FF FF FF

150 //use variable here :100 is expected responses count and :150 is the timeout for listening
variable:var1:1:+1 //here you increase variable by 1
delay:2000 //insert 2seconds delay before next command is issued
00 00 01 01 FE 01 3E:0:500 some idle command and :0 means zero responses are expected and :500 is the timeout of waiting for response
delay:1000
00 00 01 01 FE 01 3E:0:500
delay:500
endloop //here the loops breaks.