激光器單片機密碼到期什麼意思
❶ 單片機原理的加密方法
科研成果保護是每一個科研人員最關心的事情,加密方法有軟體加密,硬體加密,軟硬體綜合加密,時間加密,錯誤引導加密,專利保護等措施有矛就有盾,有盾就有矛,有矛有盾,才促進矛盾質量水平的提高加密只講盾,也希望網友提供更新的加密思路,現先講一個軟體加密:利用MCS-51 中A5 指令加密,其實世界上所有資料,包括英文資料都沒有講這條指令,其實這是很好的加密指令A5 功能是二位元組空操作指令加密方法在A5 後加一個二位元組或三位元組操作碼,因為所有反匯編軟體都不會反匯編A5 指令,造成正常程序反匯編亂套,執行程序無問題仿製者就不能改變你的源程序。
硬體加密:8031/8052單片機就是8031/8052掩模產品中的不合格產品,內部有ROM,可以把8031/8052 當8751/8752 來用,再擴展外部程序器,然後調用8031 內部子程序當然你所選的同批8031晶元的首地址及所需用的中斷入口均應轉到外部程序區。
硬體加密
用高電壓或激光燒斷某條引腳,使其讀不到內部程序,用高電壓會造成一些器件損壞重要RAM 數據採用電池(大電容,街機採用的辦法)保護,拔出晶元數據失去機器不能起動,或能初始化,但不能運行。
用真假方法加密
擦除晶元標識
把8X52單片機,標成8X51 單片機,並用到後128B的RAM 等方法,把AT90S8252 當AT89C52,初始化後程序段中並用到EEPROM 內容,你再去聯想吧!
用激光(或絲印)打上其它標識如有的單片機引腳兼容,有的又不是同一種單片機,可張冠李戴,只能意會了,這要求你知識面廣一點 。
用最新出廠編號的單片機,如2000 年後的AT89C 就難解密,或新的單片機品種,如AVR 單片機。
DIP 封裝改成PLCC,TQFP,SOIC,BGA等封裝,如果量大可以做定製ASIC,或軟封裝,用不需外晶振的單片機工作(如AVR 單片機中的AT90S1200),使用更復雜的單片機,FPGA+AVR+SRAM=AT40K系列。
硬體加密與軟體加密只是為敘說方便而分開來講,其實它們是分不開的,互相支撐,互相依存的軟體加密:其目的是不讓人讀懂你的程序,不能修改程序,你可以………….....
利用單片機未公開,未被利用的標志位或單元,作為軟體標志位,如8031/8051有一個用戶標志位,PSW.1 位,是可以利用的程序入口地址不要用整地址,如:XX00H,XXX0H,可用整地址-1,或-2,而在整地址處加二位元組或三位元組操作碼,在無程序的空單元也加上程序機器碼,最好要加巧妙一點用大容量晶元,用市場上模擬器不能模擬的晶元,如內部程序為64KB 或大於64KB 的器件,如:AVR 單片機中ATmega103 的Flash 程序存儲器為128KBAT89S8252/AT89S53中有EEPROM,關鍵數據存放在EEPROM 中,或程序初始化時把密碼寫到EEPROM 中,程序執行時再查密碼正確與否,盡量不讓人家讀懂程序。關於單片機加密,講到這里,就算拋磚引玉。
❷ 單片機密碼鎖怎麼判斷密碼正確
假設你用的是最基礎的51單片機,
首先你要知道你的密碼是不是可以修改的,如果想設計成密碼能修改的,要加上非易失存儲器,就是掉電以後也能存儲數據的,類似於24系列的存儲器。如果只是4位密碼的話,24C02完全足夠了,也可以用一個18B20,用裡面的兩個非易失高低溫存儲位元組保存,不過四位密碼你要保存成BCD格式了。這個你自己斟酌了。
如果設計成不用修改密碼的,那就在程序初始化的時候,用一個數組保存密碼,然後依次判斷輸入的密碼和你保存的密碼就行了。給你寫個大概的框框,你參考吧
不能修改密碼的程序
code uchar password[4]={2,3,6,8}; //保存密碼的數組 密碼 2,3,6,8,
uchar Getinput(void);//讀取一次有效輸入的值,按照你的實際硬體自己編寫
main()
{
uchar i;
uchar input[4]={0,0,0,0};
for(i=0;i<4;i++)
{
input[i]=Getinput();//讀取輸入的密碼
if(input[i]!=password[i])//如果密碼輸入錯誤
{
i=0;
break;//退出循環
}
}
if(3==i) //判斷是否4為密碼都輸入正確
{
i=0;
open();//這里是你的開鎖函數
}
}
這只是簡單的實現,你還要考慮很多細節問題,比如輸入錯誤密碼的次數,還有開鎖與關鎖的相關提示等。