干貨分享 | 在TSMaster中加載基于DotNet平臺的Seed&Key
在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 算法。
2. 如果使用C++封裝Seed&Key 算法成DLL文件,可以選擇Win32DLL->GenerateKeyEx路徑下的工程并打開。
3. 目前,要想被 TSMaster 的診斷模塊直接加載,該 DLL 必須實(shí)現(xiàn)工程內(nèi)seedNKeyDiag.cpp文件中四種函數(shù)接口中的其中一種:
4. 使用接口1編寫測試代碼(圖4),選擇Release模式,選擇X86平臺,右鍵項(xiàng)目生成解決方案。
5. 生成解決方案后,在當(dāng)前工程文件夾下的x86->Release目錄可以看到剛剛生成的DLL文件。
6. 加載生成好的DLL文件,使用DLL校驗(yàn)器,判斷自己加載的 DLL接口是否正確。
二、C#封裝Seed&Key算法
1. 使用C#封裝Seed&Key 算法的步驟與使用C++封裝的步驟類似,選擇DotNet->GenerateKeyEx路徑下的工程并打開。
2. 打開工程后,可以在uGenerateKeyExNet.cs源文件中看到目前所支持的三種C#接口類型,實(shí)現(xiàn)如下三種接口中的其中一個接口即可。
3. 使用接口1編寫測試代碼,選擇Release,再選擇重新生成解決方案。
4. 生成解決方案后,在當(dāng)前工程文件夾下的bin>Release目錄可以看到剛剛生成的DLL文件。
5.加載生成好的DLL文件,勾選DoNET選項(xiàng),使用DLL校驗(yàn)器,判斷自己加載的 DLL接口是否正確。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。