- 🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用
- 🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】
- 🍅 玩转CANoe,博客目录大全,点击跳转👉
目录
- 📙RSA文件的格式简介
- 📙CAPL解析RSA文件源码
- 🌎总结
📙RSA文件的格式简介
- 现在主流的控制器刷写校验都是基于RSA方式,校验码就保存在.RSA文件中,在刷写完毕后,要发送诊断服务
$31 01 02 02 + 128或者256个字节的校验码
,去检查软件完整性。 - 接下来要做的就是CAPL读取rsa文件,提取校验码
📙CAPL解析RSA文件源码
- 这个函数主要目的是将rsa文件的校验码提取出来,保存到
byte data[]
里面,我们诊断校验完整性要用的到。
on key 'a'
{byte data[128] ;long rsa_size;long i;rsa_size = Flash_Parse_RSA("E:\\ApplicationData.RSA",data);write("*********rsa_size %d",rsa_size);for(i=0;i<rsa_size;i++)write("********* %X", data[i]);}long Flash_Parse_RSA(char f_path[],byte data[])
{long i;dword fileHandle;char tmpBuffer[5000];char temStr[255];int startIndex;dword result;long number;fileHandle = OpenFileRead(f_path,0); if (fileHandle == 0 ) {write("Failed to open File %s !",f_path);return 0 ;}write("rsa File:%s Opened",f_path);startIndex = 0;number= 0;while ( fileGetString(tmpBuffer,elcount(tmpBuffer),fileHandle) != 0){while(1){startIndex = strtoul(tmpBuffer, startIndex,result);startIndex = startIndex+2; if(startIndex!=0){data[number] = result;number++;} else{break;}} }fileClose(fileHandle);return number;
}
🌎总结
- 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
- 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。