<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 利用STM32F唯一96bit序列號實(shí)現反拷貝加密的源代碼公開(kāi)

利用STM32F唯一96bit序列號實(shí)現反拷貝加密的源代碼公開(kāi)

作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏
//---------------------------------------------------------------------------
#include
#pragma argsused
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
return 1;
}
//---------------------------------------------------------------------------
//本示例代碼用BCB5編寫(xiě),很容易移植到VC++等編譯環(huán)境
//導出函數mcuisp_AntiCopy,mcuisp.exe將調用mcuisp_AntiCopy函數來(lái)實(shí)現反拷貝功能
extern "C" __declspec(dllexport) int __stdcall mcuisp_AntiCopy(
unsigned char *buf,//FLASH內容存儲緩沖
DWORD buflen,//FLASH代碼長(cháng)度(字節)
DWORD startaddress,//FLASH的地址偏移,STM32F一般為0x08000000
unsigned char const *inbuf, //前12字節為96bit的芯片序列號
DWORD inputbuflen//序列號信息的長(cháng)度
);
//--
int __stdcall mcuisp_AntiCopy(
unsigned char *buf,//FLASH內容存儲緩沖
DWORD buflen,//FLASH代碼長(cháng)度(字節)
DWORD startaddress,//FLASH的地址偏移,STM32F一般為0x08000000
unsigned char const *inbuf, //前12字節為96bit的芯片序列號
DWORD inputbuflen//序列號信息的長(cháng)度
)
{
//mcuisp_AntiCopy根據FLASH內容和芯片序列號,經(jīng)過(guò)運算后,修改FLASH內容
//本例中,簡(jiǎn)單的把序列號拷貝到0x08010000的位置
//可以在STM32的代碼中比對0x08010000和0x1ffff7e8的內容,相符才正常運行
//實(shí)際應用中,可以采取比較復雜的算法
memcpy(buf+0x10000,inbuf,12);
return 0;
};

上述DLL與mcuisp配合,即可實(shí)現STM32F AntiCopy功能。
由于算法由用戶(hù)自己把握,自由發(fā)揮,可最大限度保護用戶(hù)的代碼


關(guān)鍵詞: STM32F序列號反拷貝加

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>