一、如何读取stc单片机程序
这个需要单片机解密
单片机解密
单片机解密又叫单片机破解,芯片解密,IC解密,但是这严格说来这几种称呼都不科学,但已经成了习惯叫法,我们把CPLD解密,DSP解密都习惯称为单片机解密。单片机只是能装载程序芯片的其中一个类。能烧录程序并能加密的芯片还有DSP,CPLD,PLD,AVR,ARM等。当然具存储功能的存储器芯片也能加密,比如DS2401DS2501AT88S0104DM2602AT88SC0104D等,当中也有专门设计有加密算法用于专业加密的芯片或设计验证厂家代码工作等功能芯片,该类芯片业能实现防止电子产品**的目的。
单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序这就叫单片机解密。
解密过程
揭去芯片封装
侵入型攻击的第一步是揭去芯片封装(简称“开盖”有时候称“开封”,英文为“DECAP”,decapsulation)。
有两种方法可以达到这一目的:
第一种是完全溶解掉芯片封装,暴露金属连线。
第二种是只移掉硅核上面的塑料封装。
第一种方法需要将芯片绑定到测试夹具上,借助绑定台来操作;第二种方法除了需要具备攻击者一定的知识和必要的技能外,还需要个人的智慧和耐心,但操作起来相对比较方便,完全家庭中操作。
芯片上面的塑料可以用小刀揭开,芯片周围的环氧树脂可以用浓硝酸腐蚀掉。热的浓硝酸会溶解掉芯片封装而不会影响芯片及连线。该过程一般在非常干燥的条件下进行,因为水的存在可能会侵蚀已暴露的铝线连接(这就可能造成解密失败)。
清洗芯片
接着在超声池里先用丙酮清洗该芯片以除去残余硝酸,并浸泡。
寻找保护熔丝的位置并破坏
最后一步是寻找保护熔丝的位置并将保护熔丝暴露在紫外光下。一般用一台放大倍数至少100倍的显微镜,从编程电压输入脚的连线跟踪进去,来寻找保护熔丝。若没有显微镜,则采用将芯片的不同部分暴露到紫外光下并观察结果的方式进行简单的搜索。操作时应用不透明的纸片覆盖芯片以保护程序存储器不被紫外光擦除。将保护熔丝暴露在紫外光下5~10分钟就能破坏掉保护位的保护作用,之后,使用简单的编程器就可直接读出程序存储器的内容。
对于使用了防护层来保护EEPROM单元的单片机来说,使用紫外光复位保护电路是不可行的。对于这种类型的单片机,一般使用微探针技术来读取存储器内容。在芯片封装打开后,将芯片置于显微镜下就能够很容易的找到从存储器连到电路其它部分的数据总线。由于某种原因,芯片锁定位在编程模式下并不锁定对存储器的访问。利用这一缺陷将探针放在数据线的上面就能读到所有想要的数据。在编程模式下,重启读过程并连接探针到另外的数据线上就可以读出程序和数据存储器中的所有信息。
借助显微镜和激光切割机破坏保护熔丝
还有一种可能的攻击手段是借助显微镜和激光切割机等设备来寻找保护熔丝,从而寻查和这部分电路相联系的所有信号线。由于设计有缺陷,因此,只要切断从保护熔丝到其它电路的某一根信号线(或切割掉整个加密电路)或连接1~3根金线(通常称FIB:focusedionbeam),就能禁止整个保护功能,这样,使用简单的编程器就能直接读出程序存储器的内容。
虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但由于通用低档的单片机并非定位于制作安全类产品,因此,它们往往没有提供有针对性的防范措施且安全级别较低。加上单片机应用场合广泛,销售量大,厂商间委托加工与技术转让频繁,大量技术资料外泻,使得利用该类芯片的设计漏洞和厂商的测试接口,并通过修改熔丝保护位等侵入型攻击或非侵入型攻击手段来读取单片机的内部程序变得比较容易。
二、stc单片机程序烧录方法
方法如下:
首先,将stc单片机与烧录器连接,然后打开烧录软件,选择对应的芯片型号和烧录方式。
接着,点击“打开文件”按钮,选择需要烧录的程序文件。
最后,点击“烧录”按钮开始烧录。在烧录过程中,要保持连接稳定,不要断开连接,否则会导致烧录失败。
烧录成功后,可以通过相应的测试程序来验证程序是否正确。
三、stc8 怎么编程
STC8是一种基于8051内核的单片机,使用KeilC51或SDCC(SmallDeviceCCompiler)等开发工具进行编程。
以下是使用KeilC51进行STC8编程的步骤:
1.下载并安装KeilC51软件。
2.连接STC8单片机到电脑上。连接方式为通过串口或USB转串口线连接,确保连接正常。
3.打开KeilC51软件,并创建一个新的工程。
4.在打开的窗口中选择“STC”公司的芯片,然后选择您要使用的具体型号。
5.配置您的工程设置,包括芯片时钟频率、编译器选项等等。
6.编写您的C程序代码,并保存在工程目录下的.c文件中。
7.在编写代码时,请使用相应的头文件来访问STC8引脚和寄存器。这些头文件可以从STC官方网站上下载。
8.在编写完代码后,使用编译器将其编译成.hex文件。
9.将.hex文件下载到STC8单片机上,您可以使用烧录器或者STC提供的ISP下载工具进行下载。
以上是使用KeilC51进行STC8编程的简单步骤。当然,在实际应用中还需要对具体的硬件设备进行详细的了解,以便更好地配置和使用STC8单片机。建议您参考STC官方文档和其他相关资料,深入了解STC8的编程和应用。
四、虚拟机怎么装STC单片机烧写软件
我没用过64位系统
不过虚拟机里要装32位系统,因为STC的烧写软件好像还没有支持64位的功能吧
另外,检查你的COM口是否正确,波特率一般选默认即可9600
最重要的一点是:请将虚拟机全屏,并运行排斥模式之后,再将USB转串口线插入电脑(且要保证虚拟机中已经安装了USB转串口驱动及单片机烧写软件,当然如果你是台式机并且自带串口则直接拿串口线即可烧写)
下面的部分仅适用于使用USB转串口线烧写程序的同志们,若非则无需浪费时间
问:为何要运行排斥模式之后再插入USB转串口线?
答:其实我也不明白,不过你可以找个U盘实验一下,会出现如下情况
如果你在物理机下(即将虚拟机窗口最小化之后)插入U盘,则物理机可识别并读写,而虚拟机不可
如果你运行排斥模式之后插入U盘,则虚拟机可识别U盘,并可对U盘读写;而物理机不出现U盘盘符,更不要说读写了,即使此时将系统切换至物理机的界面内,U盘仍然只能被虚拟机识别
综上所述:
当然啦,我曾经在虚拟机里面烧写过单片机程序的,这个你放心(实验平台式:物理机WIN732位系统,虚拟机XP32位系统,由于是台式机,所以两个系统里面均安装了USB转串口驱动)
因此,综上所述:
为什么是这样,我不晓得
这样做在你的实验平台下是否可行,我也不确定
GOODLUCK
文章到此结束,如果本次分享的stc单片机编程软件和stc单片机编程软件KEIL下载的问题解决了您的问题,那么我们由衷的感到高兴!