新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 對(duì)單片機(jī)程序的動(dòng)態(tài)加密措施

對(duì)單片機(jī)程序的動(dòng)態(tài)加密措施

作者: 時(shí)間:2012-11-15 來源:網(wǎng)絡(luò) 收藏
x 0px; WORD-SPACING: 0px; FONT: 14px/25px 宋體, arial; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  CJNE A,#80H,ERR ;結(jié)果與80H比較

  ……

  ERR: MOV A,#0 ;錯(cuò)誤出口

  ……

  在SUB2程序段, 是通過指令計(jì)算某些數(shù)據(jù)的,如收費(fèi)的算法等。解密者總要修改部分指令, 達(dá)到某種目的。然而, 反解密的工作是在后面的LOOP2程序段中,是用到了SUB2程序段中的指令字節(jié)(這里是用了4個(gè)字節(jié))進(jìn)行運(yùn)算(這里是用"異或"運(yùn)算),它的結(jié)果將直接影響下面程序的正確執(zhí)行(正確的運(yùn)算結(jié)果為80H)。如果改變?cè)揝UB2程序段,則在LOOP2程序段中將程序引入歧途, 會(huì)不知不覺地走入迷途。如果在硬件設(shè)計(jì)上有電擦除EEPROM,可以進(jìn)一步將程序中的數(shù)據(jù)修改(或刪除),使跟蹤者造成設(shè)備的"損壞",無法重新分析程序。

  上面介紹的加密方法,是阻止解密者非法獲得ROM中的程序或者使ROM中的程序無法在復(fù)制的系統(tǒng)中運(yùn)行。在實(shí)際應(yīng)用中,判斷程序正常運(yùn)行與被跟蹤運(yùn)行是有很多方法的。例如,可以根據(jù)時(shí)鐘計(jì)時(shí)斷定某個(gè)程序段運(yùn)行的時(shí)間, 以便作出不同的反應(yīng), 因?yàn)閱尾脚c連續(xù)運(yùn)行在時(shí)間上是有很大差別的。另外, 對(duì)的加密不能僅限于上述的一種方法,而且反跟蹤的方法也不能單一, 要幾種方法配合使用才能達(dá)到好的效果。如軟件加密與硬件加密相結(jié)合,動(dòng)態(tài)解碼可與程序防修改相結(jié)合等,充分利用新技術(shù)、新方法(如可編程邏輯器件等)使單片機(jī)的加密保護(hù)更有效。


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉