干货分享一文了解TSMaster中Seed&key的两种处理方法

在UDS诊断过程中,会涉及到安全访问的问题,也就是常说的Seed&Key。TSMaster中提供了两种Seed&Key的处理方法:第一种是直接加载DLL文件;第二种是直接在TSMaster的编译器中直接添加安全算法。

一、加载外部Seed&KeyDLL

TSMaster诊断模块支持通过dll载入Seed&Key算法,该算法dll跟主流工具的计算接口兼容,接口定义如下图所示:

【1】加载DLL

【2】删除DLL

【3】DLL校验器,通过此按钮,用户可以判断自己加载的dll接口是否正确,算法是否符合设计要求。如下图所示:

如上图所示界面,用户选择Seed的Level过后,输入DemoSeed值,点击GenKey进行判断。如果该DLL接口跟模板定义接口统一,则会输出提示信息:GenerateKeySuccess,然后用户根据Key值跟目标值对比,进一步确认DLL中的算法是否符合设计要求。

【4】打开TSMaster安装目录下Seed&Key接口工程所在的路径。用户可以拷贝该工程添加自己的Seed&Key算法。

默认SeedKey函数接口

目前,要想被TSMaster的诊断模块直接加载,该DLL必须实现如下三种函数接口中的一种:

【1】接口1:

unsignedintGenerateKeyEx(

constunsignedchar*ipSeedArray,/*Arrayfortheseed[in]*/

unsignedintiSeedArraySize,/*Lengthofthearrayfortheseed[in]*/

constunsignedintiSecurityLevel,/*Securitylevel[in]*/

constchar*ipVariant,/*Nameoftheactivevariant[in]*/

unsignedchar*iopKeyArray,/*Arrayforthekey[in,out]*/

unsignedintiMaxKeyArraySize,/*Maximumlengthofthearrayforthekey[in]*/

unsignedint&oActualKeyArraySize);/*Lengthofthekey[out]*/

【2】接口2:

unsignedintGenerateKeyExOpt(

constchar*iPara,/**/

unsignedint&oActualKeyArraySize)/*Lengthofthekey[out]*/

【3】接口3:

boolASAP1A_CCP_ComputeKeyFromSeed(

unsignedshortiSeedArraySize,/*Lengthofthearrayfortheseed[in]*/

unsignedshortiMaxKeyArraySize,/*Maximumlengthofthearrayforthekey[in]*/

unsignedshort*opSizeKey)/*Lengthofthekey[out]*/

用户的DLL只要实现了上述任意一种函数接口,即可直接加载到TP层模块中。如果出现加载失败,主要检查如下情况:

1.是否用Release模式发布,如果是Debug模式,常常会有以上失败的情况出现。

2.是否采用x86平台发布,目前TSMaster为支持X86的版本,用来调试的DLL也必须为X86模式。

如何兼容其他函数接口

日常使用中,经常出现用户已经开发好了dll,如果该dll的接口不是上述三种中的任何一种,就无法直接加载到TSMaster的诊断模块中。对于这种情况,推荐采用如下方案来解决此问题:

下面以一个实际的实例来讲解如何兼容用户现有的DLL文件。

1.用户现有的DLL,名称为UserSeedKey.dll。该函数内部的API函数有:

Seed等级为1的时候,调用函数voidGetKeyFromSeed01(byte*ASeed,byte*AKey);

Seed等级为3的时候,调用函数voidGetKeyFromSeed03(byte*ASeed,byte*AKey);

Seed等级为11的时候,调用函数voidGetKeyFromSeed11(byte*ASeed,byte*AKey);

该dll不支持上述默认加载接口,无法直接加载到TSMaster中使用。因此,需要把这些DLL再包装一层,才能载入到TSMaster的诊断模块中。

2.选择TSMaster安装目录中提供的GenerateKeyEx的模板工程,在该工程中调用上述DLL的函数接口。基本思路是:

采用Loadlibrary动态用户现有的dll。

根据传入的Level参数,采用GetProcAddress函数动态获取实际的用于计算Key的函数指针。

如果获取函数指针成功,则使用该函数指针传输Seed值,并计算对应的Key值。

详细调用示例函数如下图所示:

3.该GenerateKeyEx工程开发结束后,TSMaster直接加载GenerateKeyEx所在的dll。需要注意的是,用户需要把现有的UserSeedKey.dll拷贝到TSMaster根目录或者GenerateKeyEx.dll所在的目录。如果不拷贝过去,GenerateKeyEx.dll执行的时候会出现找不到对应依赖dll的情况,解锁失败。

总结:

在TSMaster安装目录中,提供了封装Seed&Key算法的模板工程。如GenerateKeyEx,GenerateKeyExOptASAP1A_CCP_ComputeKeyFromSeed,用户基于此模板工程开发即可得到能够直接加载的dll函数。

同时,也提供了二次封装的dll的工程,比如GenerateKeyEx_Wrapper_Demo,该工程演示了如何基于已经存在的SeedKey算法库进行包装,生成可以直接加载到TSMaster诊断模块中的dll的过程。

二、采用内置的算法编辑器

基本步骤如下所示:

注意事项:

【1】算法函数的接口,TSMaster目前提供了最常用的接口形式,如果用户有自己特殊的接口形式,无法覆盖住,请联系上海同星把此接口增加到选项中。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

THE END
1.新时代程序员都用什么写代码?俗话说的好:工欲善其事,必先利其器。一款好的开发工具对程序员来说是至关重要的,可以降低开发成本、提高开发的效率和代码质量。 所以今天分享一些主流的编程开发工具,基本都是我曾经或正在使用的,附带一些使用感受。 编程开发工具一览 本文大纲: 本地编辑器 https://xie.infoq.cn/article/e66510757d2de253686943671
2.A星算法地图编辑器A星算法地图编辑器评分: 实现的功能有导入地图,地图编辑,地图数组文件生成等。编辑器运用的java编写,大家只要把项目工程导入Eclipse运行即可进行地图编辑,本编辑可以课让你更好更直接更简便地把你的地图转化二维数组。 地图编辑器2015-07-30 上传大小:17KB https://www.iteye.com/resource/u013043346-8947575
3.算法开发:编程语言以及代码编辑器选择算法开发:编程语言以及代码编辑器选择一、 编成语言选择 python 语言的优却点: 语法简单,算法实现快,现有很多算法训练框架在很早以前就支持python,例如pytorch,tensorflow,paddle。 也有很多推理框架支持python,例如pytorch,tensorflow,paddle,openvino,tensorrt等,python语言适用于,边缘端,服务端,但不适用与移动端。 c++https://download.csdn.net/blog/column/12159765/128623998
4.《创作猫》软件中的音频编辑器支持哪些高级音频处理算法?《创作猫》是一款备受瞩目的音频编辑软件,以其直观易用的界面和强大的音频处理能力赢得了广大用户的青睐。其内置的音频编辑器支持一系列高级音频处理算法,为用户提供了丰富的音频处理工具,帮助他们实现各种音频创作需求。本文将详细介绍这些高级音频处理算法,以及它们在音频编辑中的应用。 https://www.sousou.com/bk/419732.html
5.Python常用库大全及简要说明pythonchardet:字符编码检测器,兼容 Python2 和 Python3。官网 difflib:(Python 标准库)帮助我们进行差异化比较。官网 ftfy:让 Unicode 文本更完整更连贯。官网 fuzzywuzzy:模糊字符串匹配。官网 Levenshtein:快速计算编辑距离以及字符串的相似度。官网 pangu.py:在中日韩语字符和数字字母之间添加空格。官网 https://www.jb51.net/article/178716.htm
6.Delta机器人轨迹规划算法二次开发教程.pdf4.算法编写算法编写:在算法编辑器中编写或导入控制算法,确保算法与机器人的运动模型兼容。 5.运行仿真运行仿真:点击控制面板的“运行”按钮,开始仿真过程,观察机器人的运动状态。 6.性能分析性能分析:仿真结束后,使用性能监控器分析机器人的运动性能,识别潜在的优化点。 4.2技巧与示例技巧与示例 技巧技巧1:自定义轨迹https://max.book118.com/html/2024/0810/5211132332011304.shtm
7.算法助手2.1.2新版算法助手官方手机版下载v2.1.25、高级算法和数据结构的详细讲解和示例代码 6、让用户能够深入理解和实践更加复杂的算法 7、算法助手拥有强大的算法设计和分析功能 8、用户可以使用软件中的算法编辑器 重要提示 由于更改了配置信息和数据库的存储方式,此次更新会导致旧版的数据配置全部丢失,请提前做好备份处理 更新日志 v2.1.2 新增功能: 1、新增https://www.qimu86.com/soft/86480.html
8.视频封面编辑器万兴喵影如何使用视频封面编辑器功能 免费下载免费下载 常见问题 Q3:我可以自定义AI生成的视频封面吗? Q4:使用视频封面编辑器有什么好处? Q6:AI 生成的视频封面是否能有效吸引注意力? Q7:使用视频封面编辑器需要任何设计技能吗? 了解更多功能 关键帧 运动跟踪 曲线变速 https://miao.wondershare.cn/features/ai-thumbnail-creator.html
9.ProFlow流程编辑器框架1.0发布ProFlow 流程编辑器框架 1.0 发布 本文来源:支付宝体验科技公众号 ProFlow 官网地址直达:https://pro-flow.antdigital.dev/ 在当前数字科技的业务中存在很多图展示、编辑的相关业务,大家设计方案不统一实现也不尽统一,最终导致设计与研发资源的浪费、产品体验参差不齐。为此我们设计和研发了ProFlow,提供更现代化的 UI http://daijinquan.ceden.cn/?article/1536382
10.微视频剪辑编辑器2024官方下载视频剪辑,视频去水印#微视频剪辑编辑器,快速剪辑视频,方便视频去水印;#微视频剪辑编辑器采用底层算法,快速编辑去除视频水印;#微视频剪辑编辑器-视频时长裁剪,只保留需要的小视频总分;#微视频剪辑编辑器-视频音乐提取,让好的背景音乐与你相伴;#微视频剪辑编辑器-视https://sj.qq.com/appdetail/com.app.wspjjzzbjq
11.Fleet后台探秘,第二部分–编辑器详解TheFleetBlog在本系列的第一部分中,我们概括介绍了 Fleet 架构。 在此第二部分中,我们将介绍编辑器幕后使用的算法和数据结构。 数据结构的聚合Copy heading link 请查看以下屏幕截图,其中展示了 Fleet 中的编辑器窗口 图中包含一行带有语法高亮显示的文本,以及一个提供特定变量用法相关信息的微件。 现在,人们可以通过多种方式显示http://blog.jetbrains.com/zh-hans/?p=236106/
12.Geo图中的参数值或者是 ArcGIS Schematics 的默认参数值,或者是为活动逻辑示意图关联的逻辑示意图模板特别设置的默认值(该默认值在此逻辑示意图模板的“逻辑示意图数据集编辑器”的布局选项卡中进行设置)。 迭代次数参数 迭代次数参数用于确定在显示最终结果之前“空间分散”算法将执行的迭代次数。执行一次迭代次数参数https://desktop.arcgis.com/zh-cn/arcmap/10.7/extensions/schematics/geo-spatial-dispatch-schematic-layout-algorithm-properties-page.htm
13.PseudoEditorAI神器大全免费在线伪代码编辑器,便捷高效! 标签:PseudoEditor代码保存伪代码生成伪代码编译器在线伪代码编辑学生程序员算法设计者语法高亮错误提示 访问PseudoEditor官网 PseudoEditor是什么 PseudoEditor是一款在线伪代码编辑器和编译器,由计算机科学学生在2020年设计和开发。该产品的目标是简化学生和开发人员编写伪代码的过程。Pseudohttps://aishenqi.net/tool/pseudoeditor
14.技术干货:如何高效实现地图自动拼接功能这篇文章提供了一个诸如RPG Maker、星际争霸关卡编辑器的自动拼接功能的算法和数据结构。当地图编辑器提供了这个功能,能显著加快内容创建的节奏。 二、背景 基于tile的图像现在已经是2d游戏的标志了,因为早期的2D游戏使用有限的tile来表现一个大的2D环境。这很自然地会让图像块状并且重复。但是,高超的图像艺术家会通过https://gwb.tencent.com/community/detail/105699
15.dcoder下载编辑器Dcoder编码器汉化版下载v1.7.4中文手机版- 通过解决我们的算法问题学习编码,这使你的行业准备面试。 软件特色 1、自定义建议视图。 2、多语言支持。 3、自定义菜单抽屉,自定义代码编辑器主题,编辑器的可编辑字体大小和更多! 4、彻底设计算法问题,提高编程技巧,使程序员做好行业准备。 5、文件打开/保存。 6、活动的调试视图,以便更快地访问输出。 7、https://www.qqtn.com/azsoft/550838.html
16.hexworkshop中文版十六进制编辑器6.8下载《hexworkshop中文版(十六进制编辑器) 6.8》是一款十六进制编辑器,这款软件能够帮助用户在使用函数代码的时候创建输入自己出现的算法格式,软件内的功能非常丰富,操作也很简单,是一款非常不错的软件,感兴趣的小伙伴欢迎下载使用噢! 软件功能 丰富的功能集 https://soft.3dmgame.com/down/206729.html
17.什么是数据结构?图码许多地方都有重做/撤消功能,例如编辑器、Photoshop。 网络浏览器中的前进和后退功能 用于许多算法,如 汉诺塔、 树遍历 、 股票跨度问题 和 直方图问题 。 回溯是算法设计技术之一。 回溯的一些例子包括骑士之旅问题、N-皇后问题、在迷宫中寻找出路以及所有这些问题中的类似国际象棋或西洋跳棋的问题,如果这种方式效率https://www.totuma.cn/book/desc/ds.html