芯片解密怎樣防止程序丟失
芯片解密是通過(guò)各種手段獲取芯片內(nèi)的程序信息,通過(guò)反匯編使之能達(dá)到原芯片的功能。在解密芯片時(shí)需注意何防止單片機(jī)程序丟失,如果程序信息丟失或出錯(cuò)將使芯片解密失敗,芯片解密防止程序丟失的方法具體有哪些?
1.提高電源穩(wěn)定性,降低噪聲干擾
盡量改善電源。并不是說(shuō)單片機(jī)能工作就行,電源要設(shè)計(jì)好,加上104去耦電容安置在元件附近的電源處,用來(lái)濾除高頻噪聲,使電壓穩(wěn)定干凈,保證元件的正常工作。改進(jìn)電路布局等措施。
使用帶電壓監(jiān)測(cè)的706硬件看門(mén)狗。即保證可靠復(fù)位,又防止CPU低電壓工作。
2.使用帶電壓監(jiān)測(cè)的復(fù)位芯片
防止上電/下電時(shí),單片機(jī)電壓處于工作和不工作的臨界時(shí),單片機(jī)自己胡來(lái)。上電后,電容從0V逐漸升到VCC;下電時(shí),從VCC逐漸降到0V。不管轉(zhuǎn)電壓轉(zhuǎn)換的多快,總會(huì)有一段時(shí)間處于電壓不足的不穩(wěn)定狀態(tài),什么情況都可能發(fā)生。
3.足電壓編程、慢速編程
讓Flash/EEP存儲(chǔ)器在編程時(shí)充入足夠電荷。
需要可靠性的場(chǎng)合盡量低速寫(xiě)入,把工作加到芯片上限 (一搬5V芯片用5.5V,3V芯片到3.6V),能明顯提高數(shù)據(jù)可靠性。
4.保護(hù)編程口
保護(hù)編程的IO口,加些上拉或下拉電阻。如IAP、ISP、JTAG等。防止單片機(jī)復(fù)位之前的時(shí)間被處界雜波干擾,誤入編程狀態(tài)。
例1:ATMEL的ISP口的SCK、MISO腳盡量做輸出使用。防止外圍器件對(duì)這些腳產(chǎn)生跳動(dòng)電平。防止誤入ISP狀態(tài)。對(duì)JTAG口也要做同樣的保護(hù)。
例2:STC單片機(jī),盡量設(shè)置成P1.1P1.0為低電平時(shí)才可以編程。
5.產(chǎn)品盡量禁止編程功能
比如AVR單片機(jī),設(shè)置JTAGEN=1 OCDEN=1 因?yàn)镴TAG有改寫(xiě)FALSH的能力。在產(chǎn)品階段用不著它,把它禁止。如果可能,還可以設(shè)置熔絲位,禁止ISP功能。但是你要考慮清楚,禁止ISP功能以后就只能通過(guò)并行方式改寫(xiě)程序了。
還有一些單片機(jī)有專門(mén)的引腳,控制編程允許。那么咱們可以讓它處于禁止編程的狀態(tài)。