导航:首页 > 操作系统 > 读取stc单片机程序

读取stc单片机程序

发布时间:2022-08-30 03:33:03

单片机里的程序怎么读取出来

你好,这个只有专业人员可以做到,谓之“单片机的解密”
现在单片机加密越来越强,stc公司的51单片机已经悬赏20万寻求破解
程序在下载进入单片机时已经经过加密。因此逆向读取程序是几乎不可行的
这个不可行不仅是基于软件程序,更是基于硬件的层面

⑵ STC单片机ISP如何读取文件 我看到的好像只能烧写

STC的单片机 只能写,不能读,,因为厂家没有公开 读单片机内部程序的方法

⑶ 如何把STC单片机里的代码读出来

这个需要单片机解密

单片机解密
单片机解密又叫单片机破解,芯片解密,IC解密,但是这严格说来这几种称呼都不科学,但已经成了习惯叫法,我们把CPLD解密,DSP解密都习惯称为单片机解密。单片机只是能装载程序芯片的其中一个类。能烧录程序并能加密的芯片还有DSP,CPLD,PLD,AVR,ARM等。当然具存储功能的存储器芯片也能加密,比如DS2401 DS2501 AT88S0104 DM2602 AT88SC0104D等,当中也有专门设计有加密算法用于专业加密的芯片或设计验证厂家代码工作等功能芯片,该类芯片业能实现防止电子产品复制的目的。
单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序这就叫单片机解密。

解密过程

揭去芯片封装
侵入型攻击的第一步是揭去芯片封装(简称“开盖”有时候称“开封”,英文为“DECAP”,decapsulation)。
有两种方法可以达到这一目的:
第一种是完全溶解掉芯片封装,暴露金属连线。
第二种是只移掉硅核上面的塑料封装。
第一种方法需要将芯片绑定到测试夹具上,借助绑定台来操作;第二种方法除了需要具备攻击者一定的知识和必要的技能外,还需要个人的智慧和耐心,但操作起来相对比较方便,完全家庭中操作。
芯片上面的塑料可以用小刀揭开,芯片周围的环氧树脂可以用浓硝酸腐蚀掉。热的浓硝酸会溶解掉芯片封装而不会影响芯片及连线。该过程一般在非常干燥的条件下进行,因为水的存在可能会侵蚀已暴露的铝线连接 (这就可能造成解密失败)。

清洗芯片
接着在超声池里先用丙酮清洗该芯片以除去残余硝酸,并浸泡。
寻找保护熔丝的位置并破坏
最后一步是寻找保护熔丝的位置并将保护熔丝暴露在紫外光下。一般用一台放大倍数至少100倍的显微镜,从编程电压输入脚的连线跟踪进去,来寻找保护熔丝。若没有显微镜,则采用将芯片的不同部分暴露到紫外光下并观察结果的方式进行简单的搜索。操作时应用不透明的纸片覆盖芯片以保护程序存储器不被紫外光擦除。将保护熔丝暴露在紫外光下5~10分钟就能破坏掉保护位的保护作用,之后,使用简单的编程器就可直接读出程序存储器的内容。
对于使用了防护层来保护EEPROM单元的单片机来说,使用紫外光复位保护电路是不可行的。对于这种类型的单片机,一般使用微探针技术来读取存储器内容。在芯片封装打开后,将芯片置于显微镜下就能够很容易的找到从存储器连到电路其它部分的数据总线。由于某种原因,芯片锁定位在编程模式下并不锁定对存储器的访问。利用这一缺陷将探针放在数据线的上面就能读到所有想要的数据。在编程模式下,重启读过程并连接探针到另外的数据线上就可以读出程序和数据存储器中的所有信息。
借助显微镜和激光切割机破坏保护熔丝
还有一种可能的攻击手段是借助显微镜和激光切割机等设备来寻找保护熔丝,从而寻查和这部分电路相联系的所有信号线。由于设计有缺陷,因此,只要切断从保护熔丝到其它电路的某一根信号线(或切割掉整个加密电路)或连接1~3根金线(通常称FIB:focused ion beam),就能禁止整个保护功能,这样,使用简单的编程器就能直接读出程序存储器的内容。
虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但由于通用低档的单片机并非定位于制作安全类产品,因此,它们往往没有提供有针对性的防范措施且安全级别较低。加上单片机应用场合广泛,销售量大,厂商间委托加工与技术转让频繁,大量技术资料外泻,使得利用该类芯片的设计漏洞和厂商的测试接口,并通过修改熔丝保护位等侵入型攻击或非侵入型攻击手段来读取单片机的内部程序变得比较容易。

⑷ 如何读取STC单片机的ID号码

这个是通过串口读出ID号

//读内部R/C时钟及ID号C语言参考程序
#include<reg51.h>
#include<intrins.h>
sfr IAP_CONTR = 0xC7;

sbit MCU_Start_Led = P1^7;
//unsigned char self_command_array[4] = {0x22,0x33,0x44,0x55};
#define Self_Define_ISP_Download_Command 0x22
#define RELOAD_COUNT 0xfb //18.432MHz,12T,SMOD=0,9600bps

void serial_port_initial();
void send_UART(unsigned char);
void UART_Interrupt_Receive(void);
void soft_reset_to_ISP_Monitor(void);
void delay(void);
void display_MCU_Start_Led(void);

void main(void)
{
unsigned char i = 0;
unsigned char j = 0;

unsigned char idata *idata_point;

serial_port_initial(); //串口初始化
// display_MCU_Start_Led(); //点亮发光二极管表示单片机开始工作
// send_UART(0x34); //串口发送数据表示单片机串口正常工作
// send_UART(0xa7); //串口发送数据表示单片机串口正常工作

idata_point = 0xF1;
for(j=0;j<15;j++)
{
i = *idata_point;
send_UART(i);
idata_point++;
}

while(1);
}

void serial_port_initial()
{
SCON = 0x50; //0101,0000 8位可变波特率,无奇偶校验位
TMOD = 0x21; //0011,0001 设置顶时器1为8位自动重装计数器
TH1 = RELOAD_COUNT; //设置定时器1自动重装数
TL1 = RELOAD_COUNT;
TR1 = 1; //开定时器1
ES = 1; //允许串口中断
EA = 1; //开总中断
}

void send_UART(unsigned char i)
{
ES = 0; //关串口中断
TI = 0; //清零串口发送完成中断请求标志
SBUF = i;
while(TI ==0); //等待发送完成
TI = 0; //清零串口发送完成中断请求标志
ES = 1; //允许串口中断
}

void UART_Interrupt_Receive(void) interrupt 4
{
unsigned char k = 0;
if(RI==1)
{
RI = 0;
k = SBUF;
if(k==Self_Define_ISP_Download_Command) //是自定义下载命令
{
delay(); //延时1秒就足够了
delay(); //延时1秒就足够了
soft_reset_to_ISP_Monitor(); //软复位到系统ISP监控区
}
send_UART(k);
}
else
{
TI = 0;
}
}

void soft_reset_to_ISP_Monitor(void)
{
IAP_CONTR = 0x60; //0110,0000 软复位到系统ISP监控区
}

void delay(void)
{
unsigned int j = 0;
unsigned int g = 0;
for(j=0;j<5;j++)
{
for(g=0;g<60000;g++)
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}

void display_MCU_Start_Led(void)
{
unsigned char i = 0;
for(i=0;i<3;i++)
{
MCU_Start_Led = 0; //顶亮MCU开始工作指示灯
delay();
MCU_Start_Led = 1; //熄灭MCU开始工作指示灯
delay();
MCU_Start_Led = 0; //顶亮MCU开始工作指示灯
}
}

⑸ 如何将stc15w404asIC内程序读出

stc15w404as是用STC专用的烧录软件stc-isp烧录程序的,就是只能烧录程序,却不能读取程序的。目前也没有第三方的读取程序的软件。而且,STC官方声明,目前STC15系列单片机还不能解密。所以,烧录的程序是不可能读取出来的。
即内部程序是不可能读出的。

⑹ stc89c52单片机程序怎么读出来

你是要读出stc89c52单片机里面的程序吗?
这是不可能的,STC单片机只能下载程序,即烧录程序,是不能读回程序的。
有的单片机,破解后是可以读出里面的程序的。但读出的是机器码,即二进制代码程序,需要反汇编成汇编程序。如果你对汇编程序不太懂,就是反汇编出来也没有用啊。

⑺ stc 单片机利用ADC读取按键测试程序

ADC 得到的是模数转换的结果,950、550、700 就是相应的模拟量。。。。。。

⑻ 怎样把单片机里的程序读取出来和把程序写进单片机

1 首先将编写的程序经仿真软件调试好,然后编译保存为HEX文件格式。
2 使用编程器(也叫烧写器)先选择芯片的厂家,芯片型号。
3 装在要烧写到程序代码(HEX文件格式)
4进行芯片空白检查
5选择编程(进行下载)
6对比检查(成功)
当然 也可以选择自己做一个某个芯片的专用的烧写器。

⑼ 如何读取STC单片机内部没加密的程序

如果单片机未加密的话,那么用编程器可以读出来,如果已加密,那么需要解密后才能读出来

⑽ 怎样读取STC单片机中的内容下载时怎么老显示已加密我不想加密怎么设置有掉电数据保存功能吗怎么用

下程序的时候无意中勾选了加密芯片吧

或者这个片子不是你的 别人写好了

加密后就不能读取了
换片吧

阅读全文

与读取stc单片机程序相关的资料

热点内容
算法创新就业方向 浏览:417
算法最优解作者 浏览:863
通达信红绿宝塔线指标源码 浏览:656
app是什么东西合法吗 浏览:229
怎么锁app视频教程 浏览:841
迅捷pdf注册码生成器 浏览:744
androidsdkosx 浏览:300
压缩面膜纸荧光 浏览:839
app怎么分身三个 浏览:744
电影bt下载源码 浏览:421
iwatch屏幕加密芯片 浏览:570
公安主题网站源码 浏览:986
天津市服务器供应商云服务器 浏览:115
数控车床子程序编程 浏览:110
floydwarshall算法 浏览:717
丢失微信app怎么找 浏览:252
php能写前端吗 浏览:9
服务器如何更改raid模式 浏览:92
方舟服务器怎么导出来 浏览:610
手机显示服务器异常什么鬼 浏览:381