91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)針對MAC地址的應(yīng)用程序加密方法

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-17 10:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在實際應(yīng)用中,客戶可能希望對自己的程序添加驗證過程,使得無法被隨意拷貝到其它板子上使用。英創(chuàng)ARM系列工控主板都配有唯一指定MAC,我們可以根據(jù)MAC地址,生產(chǎn)加密字符串,存入KEY文件或是注冊表內(nèi)。然后在程序啟動部分添加驗證代碼,驗證這個字符串,從而達(dá)到防拷貝的目的。

本文介紹MAC的獲得方式及幾種常用的加密方式。

驗證設(shè)備

在驗證MAC之前,首先應(yīng)當(dāng)檢查使用的板卡型號,以檢查EM9281為例,代碼如下。

添加頭文件及宏定義,此部分代碼均包含在板子對應(yīng)SDK包中的bsp_drivers.h下

#include

extern"C"__declspec(dllimport) BOOLKernelIoControl( DWORDdwIoControlCode,

LPVOID lpInBuf,

DWORD nInBufSize,

LPVOID lpOutBuf,

DWORD nOutBufSize,

LPDWORD lpBytesReturned);

#defineIOCTL_HAL_BOARD_STATE_READ CTL_CODE(FILE_DEVICE_HAL, 4024, METHOD_BUFFERED, FILE_ANY_ACCESS)

#defineEM9280_BOARD_TYPE_9280 0

#defineEM9280_BOARD_TYPE_9281 1 // -> EM9281

#defineEM9280_BOARD_TYPE_9380 2

#defineEM9280_BOARD_TYPE_9283 3

#defineEM9280_BOARD_TYPE_ES9281 4 // -> ES9281

#defineEM9280_BOARD_TYPE_9287 7

#defineEM9280_BOARD_CFG_SHIFT 14

#defineEM9280_BOARD_CFG_MASK 0x3

#defineEM9280_BOARD_TYPE_SHIFT 4

#defineEM9280_BOARD_TYPE_MASK 0x7

#defineEM928X_BOARD_TYPE_BASE(v) ((v >> EM9280_BOARD_TYPE_SHIFT) & EM9280_BOARD_TYPE_MASK)

#defineEM928X_BOARD_TYPE_SUB_ID(v) ((v >> EM9280_BOARD_CFG_SHIFT) & EM9280_BOARD_CFG_MASK)

#defineEM9287_BOARD_TYPE_SUB_TYPE(v) ((EM928X_BOARD_TYPE_SUB_ID(v)==1)? EM9280_BOARD_TYPE_9281:\

(EM928X_BOARD_TYPE_SUB_ID(v)==2)? EM9280_BOARD_TYPE_ES9281: EM9280_BOARD_TYPE_9287)

#defineEM928X_BOARD_TYPE_ALL(v) ((EM928X_BOARD_TYPE_BASE(v)==EM9280_BOARD_TYPE_9287)? EM9287_BOARD_TYPE_SUB_TYPE(v):EM928X_BOARD_TYPE_BASE(v))

檢查板卡型號,以EM9281為例

BOOL bRet;

DWORD dwReturnBytes;

DWORD dwBoardInfo = 0;

dwReturnBytes = 0;

bRet = KernelIoControl(IOCTL_HAL_BOARD_STATE_READ,

NULL, 0,

(LPVOID)&dwBoardInfo,sizeof(DWORD),

&dwReturnBytes);

If(EM928X_BOARD_TYPE_ALL(dwBoardInfo)!= EM9280_BOARD_TYPE_9281)return;

獲得MAC地址

必要的頭文件和lib庫

#include"Iphlpapi.h"

#pragmacomment(lib,"Iphlpapi.lib")

VOIDGetMAC(BYTE* buf)

{

DWORD dwRetVal;

IP_ADAPTER_INFO AdapterInfo[4];

ULONG OutBufLen =sizeof(IP_ADAPTER_INFO);

GetAdaptersInfo(&AdapterInfo[0], &OutBufLen);

GetAdaptersInfo(&AdapterInfo[0], &OutBufLen);

/*if(strcmp(AdapterInfo[0].AdapterName, "ENET1") != 0)

{

return;

}*/

memcpy(buf, AdapterInfo[0].Address, 6);

}

BYTE mac[6];

GetMAC(mac);

char macstr[16];

sprintf(macstr, "%02x:%02x:%02x:%02x:%02x:%02x", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);

加密策略

英創(chuàng)所有嵌入式板卡都擁有唯一的MAC地址,在對MAC地址加密后,生成唯一的加密KEY。同時程序中判斷板卡信息,并驗證這個加密KEY。這樣可以保證程序必須處于正確的板卡中,并擁有正確的KEY文件,才能執(zhí)行。

為了增加安全性,加大KEY文件破譯難度,可以考慮以下處理

1、將MAC地址與常量字符串混合后,再進(jìn)行加密,生成加密KEY。

2、多種加密手段結(jié)合使用,多次加密。

3、驗證失敗后“軟”關(guān)閉程序,可以做延遲處理,并可以考慮重啟設(shè)備,增加暴力破解KEY的難度。

加密程序流程

獲得板卡MAC地址à 執(zhí)行加密函數(shù)à 生成KEY文件置入板卡中

解密程序流程

查詢板卡MACà執(zhí)行加密函數(shù)à讀取KEY文件中密鑰并對比à判斷驗證是否成功并進(jìn)行后續(xù)執(zhí)行

讀取KEY文件中密鑰à執(zhí)行解密函數(shù)à查詢板卡MAC并對比à判斷驗證是否成功并進(jìn)行后續(xù)執(zhí)行

加密方法

常用的加密方法有很多,可以參考文章《常用加密方法及代碼》。同時英創(chuàng)提供這些加密算法相關(guān)測試?yán)?,如有需要,可以?lián)系英創(chuàng)工程師獲得。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6107

    瀏覽量

    37091
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    提醒|MAC(oui)地址要漲價!

    如題,每一年都是這樣沒有任何意外的可能,從10多年從事此行業(yè)至此都是這個規(guī)律,沒有變過。IEEE官方定于每年的12月31日起,在原費(fèi)用上漲3%。Pleasenotethattheannual3%priceincreasewillgointoeffectforallregistrieson31December2025at1:00pmET.
    的頭像 發(fā)表于 12-16 17:36 ?1183次閱讀
    提醒|<b class='flag-5'>MAC</b>(oui)<b class='flag-5'>地址</b>要漲價!

    龍芯中科成功舉辦2025信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)教融合交流會

    11月30日,在教育部教育管理信息中心、山東省電化教育館的支持和指導(dǎo)下,龍芯中科聯(lián)合浪潮集團(tuán)、濟(jì)南幼兒師范高等專科學(xué)校(以下簡稱“濟(jì)南幼高專”),成功舉辦信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)教融合交流會,并同步舉行信息技術(shù)應(yīng)用創(chuàng)新實踐基地啟用儀式
    的頭像 發(fā)表于 12-08 14:53 ?794次閱讀

    龍芯中科助力2025教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦

    2025年11月13日-15日,由中國教育技術(shù)協(xié)會主辦、浙江大學(xué)與中國教育技術(shù)協(xié)會網(wǎng)絡(luò)安全專業(yè)委員會聯(lián)合承辦,中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會信息技術(shù)應(yīng)用創(chuàng)新工作委員會、浙江高校信
    的頭像 發(fā)表于 11-21 16:23 ?799次閱讀

    誠邁科技信創(chuàng)電腦助力2025第二屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿收官

    11月15日,由中國教育技術(shù)協(xié)會主辦、浙江大學(xué)與中國教育技術(shù)協(xié)會網(wǎng)絡(luò)安全專業(yè)委員會聯(lián)合承辦,中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會信息技術(shù)應(yīng)用創(chuàng)新工作委員會、浙江高校信
    的頭像 發(fā)表于 11-17 17:58 ?691次閱讀
    誠邁科技信<b class='flag-5'>創(chuàng)</b>電腦助力2025第二屆教育<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新大賽圓滿收官

    寶馬南京信息技術(shù)有限公司開業(yè)

    今日,寶馬(南京)信息技術(shù)有限公司在南京正式“掛牌運(yùn)行”。這家華晨寶馬全資子公司由領(lǐng)悅數(shù)字信息技術(shù)有限公司南京分公司“迭代”而來,代表著一次里程碑式的“進(jìn)化”。這次升級不僅加速了寶馬在華數(shù)字化轉(zhuǎn)型進(jìn)程,更通過深化本土創(chuàng)新,為“未來智慧出行”的發(fā)展譜寫了核心“代碼”。
    的頭像 發(fā)表于 10-29 15:17 ?635次閱讀

    加密算法的應(yīng)用

    加密是一種保護(hù)信息安全的重要手段,近年來隨著信息技術(shù)的發(fā)展,加密技術(shù)的應(yīng)用越來越廣泛。本文將介紹加密算法的發(fā)展、含義、分類及應(yīng)用場景。
    發(fā)表于 10-24 08:03

    CYW20820 SPP 如何更改 MAC 地址

    您好,我目前正在使用多個CYW20820進(jìn)行應(yīng)用程序開發(fā)。我主要使用rfcomm來發(fā)送和接收數(shù)據(jù)。我想知道如何更改每個芯片的經(jīng)典Bluetooth?的 MAC 地址
    發(fā)表于 08-11 07:26

    佛瑞亞如何通過信息技術(shù)推動業(yè)務(wù)增長

    在數(shù)字化、信息化的浪潮下,信息技術(shù)已經(jīng)不僅是后臺工具,更成為驅(qū)動企業(yè)發(fā)展的關(guān)鍵力量。本期Women Inspiring Mobility,我們采訪了佛瑞亞中國區(qū)信息技術(shù)總監(jiān)馬瑛,了解她和團(tuán)隊如何將
    的頭像 發(fā)表于 07-29 14:00 ?920次閱讀

    飛騰主板為信創(chuàng)產(chǎn)業(yè)發(fā)展提高硬實力

    信息技術(shù)飛速發(fā)展的當(dāng)下,信創(chuàng)產(chǎn)業(yè)已成為我國實現(xiàn)科技自立自強(qiáng)、保障國家信息安全的關(guān)鍵領(lǐng)域。信創(chuàng),即信息技術(shù)應(yīng)用創(chuàng)新,其核心目標(biāo)是實現(xiàn)
    的頭像 發(fā)表于 07-22 18:20 ?726次閱讀

    DEKRA德凱成為沙特通信和信息技術(shù)設(shè)備技術(shù)法規(guī)認(rèn)證機(jī)構(gòu)

    近日,DEKRA德凱成功獲得沙特標(biāo)準(zhǔn)、計量和質(zhì)量組織(SASO)認(rèn)可,正式成為沙特通信和信息技術(shù)設(shè)備技術(shù)法規(guī)(Technical Regulation for Communications
    的頭像 發(fā)表于 07-15 14:27 ?929次閱讀

    wsOtaUpgrade有沒有辦法指定MAC地址?

    cybt-353027 的 MAC 地址。 我可以制作一個軟件實用程序,從連接的設(shè)備讀取 MAC 地址,然后使用正確的
    發(fā)表于 06-27 06:19

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國家推動IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國家網(wǎng)絡(luò)安全、推動產(chǎn)業(yè)升級和實現(xiàn)數(shù)字主權(quán)的重任。簡單來
    的頭像 發(fā)表于 06-13 10:06 ?8445次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    通過注冊表和Technitium MAC Address Changer修改MAC地址(支持W5500模塊及通用網(wǎng)卡)

    一、前言 在某些場景下(如網(wǎng)絡(luò)調(diào)試、隱私保護(hù)或設(shè)備唯一性管理),需要修改網(wǎng)絡(luò)設(shè)備的MAC地址。本教程將詳細(xì)介紹兩種方法:注冊表修改(適合高級用戶)和?Technitium MAC Ad
    的頭像 發(fā)表于 03-28 09:27 ?8070次閱讀
    通過注冊表和Technitium <b class='flag-5'>MAC</b> Address Changer修改<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>(支持W5500模塊及通用網(wǎng)卡)

    通過注冊表和Technitium MAC Address Changer修改MAC地址(支持W5500模塊及通用網(wǎng)卡)

    一、前言 在某些場景下(如網(wǎng)絡(luò)調(diào)試、隱私保護(hù)或設(shè)備唯一性管理),需要修改網(wǎng)絡(luò)設(shè)備的MAC地址。本教程將詳細(xì)介紹兩種方法:注冊表修改(適合高級用戶)和 Technitium MAC Ad
    發(fā)表于 03-28 09:18

    如何修復(fù)S32G gmac的mac地址?

    您好,我想修復(fù) S32G gmac 的 mac 地址,我在 uboot 下執(zhí)行以下命令 setenv ethaddr d6:20:eb:40:75:d8 保存 在內(nèi)核上運(yùn)行 ifconfig
    發(fā)表于 03-21 06:49