博客專欄

EEPW首頁 > 博客 > 干貨分享 | 在TSMaster中加載基于DotNet平臺的Seed&Key

干貨分享 | 在TSMaster中加載基于DotNet平臺的Seed&Key

發(fā)布人:汽車電子工程師 時間:2024-04-08 來源:工程師 發(fā)布文章

在UDS診斷過程中,會涉及到安全訪問的問題,也就是所謂的Seed&Key。TSMaster 診斷模塊支持通過.dll文件載入 Seed&Key 算法用于安全訪問解鎖。在最近發(fā)布的TSMaster 2024.03版本中不僅支持了C/C++,Delphi等語言封裝的DLL文件,也新增支持了基于DotNet平臺如C#,VB.Net等語言編寫的DLL,高效兼容不同平臺生成的安全訪問dll,為工程師帶來更便捷的使用體驗(yàn)。


在 TSMaster 安裝目錄中,提供了C++和C#兩種編程語言封裝 Seed&Key 算法的Visual Studio模板工程。用戶基于此模板工程開發(fā)即可得到能夠直接加載的 DLL 函數(shù)。


本文關(guān)鍵字:UDS、Seed&Key算法、DLL模板工程、C++、C#


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

1. 打開 TSMaster 安裝目錄下 Seed&Key 接口工程所在的路徑(圖1)。用戶可以拷貝該工程添加自己的 Seed&Key 算法。

圖片1.png


2. 如果使用C++封裝Seed&Key 算法成DLL文件,可以選擇Win32DLL->GenerateKeyEx路徑下的工程并打開。

圖片2.png


3. 目前,要想被 TSMaster 的診斷模塊直接加載,該 DLL 必須實(shí)現(xiàn)工程內(nèi)seedNKeyDiag.cpp文件中四種函數(shù)接口中的其中一種:

接口.jpg圖片3.png


4. 使用接口1編寫測試代碼(圖4),選擇Release模式,選擇X86平臺,右鍵項(xiàng)目生成解決方案。

接口1.jpg接口2.jpg圖片4.png


5. 生成解決方案后,在當(dāng)前工程文件夾下的x86->Release目錄可以看到剛剛生成的DLL文件。

圖片5.png


6. 加載生成好的DLL文件,使用DLL校驗(yàn)器,判斷自己加載的 DLL接口是否正確。

圖片6.png


二、C#封裝Seed&Key算法

1. 使用C#封裝Seed&Key 算法的步驟與使用C++封裝的步驟類似,選擇DotNet->GenerateKeyEx路徑下的工程并打開。

圖片7.png


2. 打開工程后,可以在uGenerateKeyExNet.cs源文件中看到目前所支持的三種C#接口類型,實(shí)現(xiàn)如下三種接口中的其中一個接口即可。

接口3.jpg圖片8.png


3. 使用接口1編寫測試代碼,選擇Release,再選擇重新生成解決方案。

接口4.jpg圖片9.png


4. 生成解決方案后,在當(dāng)前工程文件夾下的bin>Release目錄可以看到剛剛生成的DLL文件。

圖片10.png


5.加載生成好的DLL文件,勾選DoNET選項(xiàng),使用DLL校驗(yàn)器,判斷自己加載的 DLL接口是否正確。

圖片11.png

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: TSMaster Seed&Key UDS診斷

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉