干货分享 | 在TSMaster中加载基于DotNet平台的SeedKey

2024-04-08 17:12

本文主要是介绍干货分享 | 在TSMaster中加载基于DotNet平台的SeedKey,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在UDS诊断过程中,会涉及到安全访问的问题,也就是所谓的Seed&Key。TSMaster 诊断模块支持通过.dll文件载入 Seed&Key 算法用于安全访问解锁。在最近发布的TSMaster 2024.03版本中不仅支持了C/C++,Delphi等语言封装的DLL文件,也新增支持了基于DotNet平台如C#,VB.Net等语言编写的DLL,高效兼容不同平台生成的安全访问dll,为工程师带来更便捷的使用体验。

在 TSMaster 安装目录中,提供了C++和C#两种编程语言封装 Seed&Key 算法的Visual Studio模板工程。用户基于此模板工程开发即可得到能够直接加载的 DLL 函数。

本文关键字:UDS、Seed&Key算法DLL模板工程、C++、C#

目录

Catalog

1. C++封装Seed&Key算法

2. C#封装Seed&Key算法

一、C++封装Seed&Key算法

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

图片

图1

2. 如果使用C++封装Seed&Key 算法成DLL文件,可以选择Win32DLL->GenerateKeyEx路径下的工程并打开。

图片

图2

3. 目前,要想被 TSMaster 的诊断模块直接加载,该 DLL 必须实现工程内seedNKeyDiag.cpp文件中四种函数接口中的其中一种:

图片

图片

图3

4. 使用接口1编写测试代码(图4),选择Release模式,选择X86平台,右键项目生成解决方案。

图片

图片

图片

图4

5. 生成解决方案后,在当前工程文件夹下的x86->Release目录可以看到刚刚生成的DLL文件。

图片

图5

6. 加载生成好的DLL文件,使用DLL校验器,判断自己加载的 DLL接口是否正确。

图片

图6

二、C#封装Seed&Key算法

1. 使用C#封装Seed&Key 算法的步骤与使用C++封装的步骤类似,选择DotNet->GenerateKeyEx路径下的工程并打开。

图片

图7

2. 打开工程后,可以在uGenerateKeyExNet.cs源文件中看到目前所支持的三种C#接口类型,实现如下三种接口中的其中一个接口即可。

图片

图片

图8

3. 使用接口1编写测试代码,选择Release,再选择重新生成解决方案。

图片

图片

图9

4. 生成解决方案后,在当前工程文件夹下的bin>Release目录可以看到刚刚生成的DLL文件。

图片

图10

5.加载生成好的DLL文件,勾选DoNET选项,使用DLL校验器,判断自己加载的 DLL接口是否正确。

图片

图11

这篇关于干货分享 | 在TSMaster中加载基于DotNet平台的SeedKey的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/886141

相关文章

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

IDEA下"File is read-only"可能原因分析及"找不到或无法加载主类"的问题

《IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题》:本文主要介绍IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题,具有很好的参... 目录1.File is read-only”可能原因2.“找不到或无法加载主类”问题的解决总结1.File

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

在 PyQt 加载 UI 三种常见方法

《在PyQt加载UI三种常见方法》在PyQt中,加载UI文件通常指的是使用QtDesigner设计的.ui文件,并将其转换为Python代码,以便在PyQt应用程序中使用,这篇文章给大家介绍在... 目录方法一:使用 uic 模块动态加载 (不推荐用于大型项目)方法二:将 UI 文件编译为 python 模

Spring框架中@Lazy延迟加载原理和使用详解

《Spring框架中@Lazy延迟加载原理和使用详解》:本文主要介绍Spring框架中@Lazy延迟加载原理和使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、@Lazy延迟加载原理1.延迟加载原理1.1 @Lazy三种配置方法1.2 @Component