找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3827|回復: 17
收起左側

請教單片機如何通過程序自己清除程序存儲器(ROM)

[復制鏈接]
ID:1066583 發(fā)表于 2023-7-15 12:49 | 顯示全部樓層 |閱讀模式
論壇各位大佬老師們好,我最近在研究單片機ID號加密,想著ID號驗證不通過就清除內部程序,請問這個清除ROM的操作如何實現,我用的是STC8單片機,內部有rom和eeprom,eeprom倒是有清除扇區(qū)的操作可是清除不了ROM,請教各位老師如何通過程序代碼實現自主清除程序。感謝大家。
回復

使用道具 舉報

ID:807591 發(fā)表于 2023-7-15 15:13 | 顯示全部樓層
外加一個電路 引入高壓電,自毀芯片吧
回復

使用道具 舉報

ID:373684 發(fā)表于 2023-7-15 16:14 | 顯示全部樓層
可以加密的啊
回復

使用道具 舉報

ID:879348 發(fā)表于 2023-7-15 17:12 | 顯示全部樓層
普通STC不具備自己編程自己的能力
回復

使用道具 舉報

ID:1066583 發(fā)表于 2023-7-15 17:23 | 顯示全部樓層
szb314 發(fā)表于 2023-7-15 15:13
外加一個電路 引入高壓,自毀芯片吧

是個好辦法,要在電路上加點料
回復

使用道具 舉報

ID:1066583 發(fā)表于 2023-7-15 17:25 | 顯示全部樓層

嗯,現在就是用ID號進行加密,驗證不通過就卡在while循環(huán)里,不知道這是不是主流的辦法,還想著驗證不通過就清除flash銷毀程序,不知如何操作
回復

使用道具 舉報

ID:1066583 發(fā)表于 2023-7-15 17:26 | 顯示全部樓層
wufa1986 發(fā)表于 2023-7-15 17:12
普通STC不具備自己編程自己的能力

也就是說不能通過程序本身清除flash里的程序嗎,我用的STC8a8k64d4
回復

使用道具 舉報

ID:213173 發(fā)表于 2023-7-15 22:10 | 顯示全部樓層
STC提供那么多方法還不夠你用?隨便擦除一個扇區(qū),程序不就等于全毀了。
回復

使用道具 舉報

ID:213173 發(fā)表于 2023-7-16 07:23 | 顯示全部樓層
一筆長空 發(fā)表于 2023-7-15 17:26
也就是說不能通過程序本身清除flash里的程序嗎,我用的STC8a8k64d4

STC8a8k64d4的EEPROM是IAP,沒有特定地址。正常使用EEPROM是定義在用戶程序大小范圍之外的下一個扇區(qū)的任意空間。想破壞程序只要在用戶程序大小范圍內想擦哪個扇區(qū)隨你便。擦后無法恢復,只能重新燒錄。
回復

使用道具 舉報

ID:1066583 發(fā)表于 2023-7-16 12:09 | 顯示全部樓層
wulin 發(fā)表于 2023-7-16 07:23
STC8a8k64d4的EEPROM是IAP,沒有特定地址。正常使用EEPROM是定義在用戶程序大小范圍之外的下一個扇區(qū)的任 ...

老師您好,感謝您都解答,我是初學者有些地方不太明白,看stc手冊里寫的eeprom和rom區(qū)的地址是重疊的,擦除時指定的地址自動定位到eeprom了,請問如何擦除用戶程序區(qū)都內容,請問該如何填地址,非常感謝

都是從0000h開始的,執(zhí)行擦除命令時如何區(qū)分

都是從0000h開始的,執(zhí)行擦除命令時如何區(qū)分
234.JPG
345.JPG
回復

使用道具 舉報

ID:373684 發(fā)表于 2023-7-16 13:56 | 顯示全部樓層
wulin 發(fā)表于 2023-7-16 07:23
STC8a8k64d4的EEPROM是IAP,沒有特定地址。正常使用EEPROM是定義在用戶程序大小范圍之外的下一個扇區(qū)的任 ...

這是負責任的答復

回復

使用道具 舉報

ID:401564 發(fā)表于 2023-7-16 14:27 | 顯示全部樓層
保護程序還是防止破解?
完全沒有這個必要
當你有能力寫出一個別人要千方百計的去破解的程序的時候,你就已經知道應該要怎么做了
回復

使用道具 舉報

ID:1066583 發(fā)表于 2023-7-16 15:15 | 顯示全部樓層
wulin 發(fā)表于 2023-7-16 07:23
STC8a8k64d4的EEPROM是IAP,沒有特定地址。正常使用EEPROM是定義在用戶程序大小范圍之外的下一個扇區(qū)的任 ...

謝謝老師的解答,我剛接觸單片機沒幾個月有些不明白的還想請教您,現在rom和eeprom的地址有重疊的部分,同一個地址也是rom的也是eeprom的比如0100h,如果使用擦除eeprom的指令擦除0100h肯定擦除不掉rom,請問怎么操作能擦除rom,感謝! 123.JPG
都是從0000h開始的,地址重疊了
234.JPG
345.JPG
用MOVC地址是唯一?墒鞘謨陨险fMOVC指令不能擦除只能讀,且我不會匯編語言



回復

使用道具 舉報

ID:1066583 發(fā)表于 2023-7-16 15:19 | 顯示全部樓層
Y_G_G 發(fā)表于 2023-7-16 14:27
保護程序還是防止破解?
完全沒有這個必要
當你有能力寫出一個別人要千方百計的去破解的程序的時候,你就已 ...

感謝您的解答,學機械的剛接觸單片機沒多久現在自己開發(fā)個控制板,一直聽說加密什么的也好奇想研究研究,說不定以后能用上
回復

使用道具 舉報

ID:624769 發(fā)表于 2023-7-17 14:14 來自觸屏版 | 顯示全部樓層
首先,你要刪除程序區(qū)的內容,必須購買IAP15xxxxxx 系列單片機。stc8不能直接刪除,你要先做底層“系統”才可以。 其次,有必要刪除么?檢驗到和序列號不一致,說明你的程序已經流傳出去,別人用你的程序燒錄了自己的芯片。那么你刪了單片機里的,人家一樣可以再燒寫,有任何實際意義么?
回復

使用道具 舉報

ID:123289 發(fā)表于 2023-7-17 16:42 | 顯示全部樓層
必須采用ISP型號的單片機。
我們做的產品中,在不改變硬件的情況下,是可以自動升級軟件的,就是采用的ISP型的CPU。
升級時,先刪除程序,再寫入新的程序。這里是有技巧的,需要內置專門的升級程序。
回復

使用道具 舉報

ID:883242 發(fā)表于 2023-7-17 20:10 | 顯示全部樓層
看你做什么產品了,小家電不怕死機,但是工業(yè)產品怕!一萬次操作出一次錯就夠嗆了,所以我寫程序發(fā)現UID不對都不會擦除,而是小概率出錯,這樣山寨者就很難查找了。
回復

使用道具 舉報

ID:401564 發(fā)表于 2023-7-18 09:22 | 顯示全部樓層
一筆長空 發(fā)表于 2023-7-16 15:19
感謝您的解答,學機械的剛接觸單片機沒多久現在自己開發(fā)個控制板,一直聽說加密什么的也好奇想研究研究, ...

不要學這個加密了,現實中幾乎不用
當你要去寫一個需要加密的項目時,你的能力已經很強了,到時候,這個加密就不是什么大問題了
我們這基本都是直接發(fā)送燒錄文件給IC廠商的,有時候有問題直接發(fā)代碼給人家,叫幫忙看一下問題出現在哪里的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表