can_bootloader/user/Diag27code.aardio
2022-05-18 10:43:03 +08:00

52 lines
1.0 KiB
Plaintext

var SecuretySeed = {0,0,0,0,};
var SecuretyKey = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
//发送
FuncReq27 = function(num,key){
if(num >= 1 && num <= 0x0C){
if(key == null){
var data = {0x02,0x27,num,0,0,0,0,0};
CANHw.SendMsg(DiagReqID,data);
}
else {
var data = {0x10,0X12,0x27,num,key[1],key[2],key[3],key[4]};
CANHw.SendMsg(DiagReqID,data);
FuncPushPackage(DiagReqID,table.slice(key,5));
}
}
}
loadcodex("\user\securety.aardio");
//接收
FuncDiag27Pro = function(data){
//console.dumpJson(data);
select(data[1]) {
case 1,3,5,7,9,11 {
var str = "收到种子";
for(i=1;4;1){
SecuretySeed[i] = data[i+1];
str += " " + tostring(SecuretySeed[i],16);
}
FuncDisplay(str)
SecuretyKey = GenerateKeyEx(SecuretySeed,data[1]);
if(#SecuretyKey >= 16){
FuncReq27(data[1]+1,SecuretyKey);
}
else {
FuncDisplay("计算失败");
}
}
case 2,4,6,8,10,12 {
FuncDisplay("解锁成功");
}
else {
FuncDisplay("27服务未知子服务");
}
}
}