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服务未知子服务"); } } }