• 大小: 43KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-22
  • 语言: 其他
  • 标签: STC  

资源简介

读取STC单片机 ID号,利用CRC-ITU算法存入EEPROM,在应用程序中比较单片机ID号和EEPROM中的CRC数据,两者符合规定算法才运行程序执行,这样将达到程序坚不可摧的目的!(在具体应用中,可以灵活修改 生成多项式0X1021的值,防止被破解算法)

资源截图

代码片段和文件信息

#include
#include 

#include
sbit  P0_0=P0^0;   sbit  P1_0=P1^0;   
 sbit  P0_1=P0^1;   sbit  P1_1=P1^1;
 sbit  P0_2=P0^2;   sbit  P1_2=P1^2;
 sbit  P0_3=P0^3;   sbit  P1_3=P1^3;
 sbit  P0_4=P0^4;   sbit  P1_4=P1^4;
 sbit  P0_5=P0^5;   sbit  P1_5=P1^5;
 sbit  P0_6=P0^6;   sbit  P1_6=P1^6;
 sbit  P0_7=P0^7;   sbit  P1_7=P1^7;
   

 sbit  P2_0=P2^0;   sbit  P3_0=P3^0;
 sbit  P2_1=P2^1;   sbit  P3_1=P3^1;
 sbit  P2_2=P2^2;   sbit  P3_2=P3^2;
 sbit  P2_3=P2^3;   sbit  P3_3=P3^3;
 sbit  P2_4=P2^4;   sbit  P3_4=P3^4;
 sbit  P2_5=P2^5;   sbit  P3_5=P3^5;
 sbit  P2_6=P2^6;   sbit  P3_6=P3^6;
 sbit  P2_7=P2^7;   sbit  P3_7=P3^7;  
 #define ID_ADDR_RAM  0XF1
 #define ID_ADDR_ROM  0X1FF9   //stc11 ROM 无ID号
 void InitUart(void);
 void  SendUart(unsigned char dat);
 void Delay10ms() ;
 unsigned long crc_cal(unsigned char *ptrunsigned char len);//CRC-ITU
 sfr  AUXR=0x8E; 
  sfr BRT   = 0x9C;
 void INT_TR(void) ;

sfr ISP_DATA  = 0xC2;  /* Flash Data Register */      
sfr ISP_ADDRH = 0xC3;  /* flash address high */  
sfr ISP_ADDRL = 0xC4;  /* flash address low */    
sfr ISP_CMD   = 0xC5;  /* flash command register */     
sfr ISP_TRIG  = 0xC6;  /* flash command trigger */  
sfr ISP_CONTR = 0xC7;  /* isp/iap control register */  

#define ISP_IAP_BYTE_READ 1;  /* 读字节 */
#define ISP_IAP_BYTE_PROGRAM 2; /* 字节编程 */
#define ISP_IAP_SECTOR_ERASE 3; /* 扇区擦除 */
#define ISP_IAP_ENABLE 0x81; /* 系统工作时钟<12M对ISP_CONTR寄存器设置此值 0x81*/ 

unsigned char byte_read(unsigned int addr);
void byte_write(unsigned int addrunsigned char program_data);
void Sector_Erase(unsigned int addr);
//void IAP_Disable();
//unsigned int  eeprom_address;unsigned  int  read_eeprom;
 void main()
 {
   unsigned char idata *iptr;
   unsigned char code *cptr;
unsigned long xdata outdata;
   unsigned char xdata outdata1 outdata2outdata3outdata4;
   unsigned char i;  unsigned char xdata stc_11[7] ;
   Delay10ms(); InitUart();
   iptr= ID_ADDR_RAM;  cptr=ID_ADDR_ROM;
   for (i=0;i<7;i++)
   {
    SendUart(*iptr++);
   }
    iptr= ID_ADDR_RAM;
    for (i=0;i<7;i++)
   {
    //SendUart(*cptr++);
   }
   cptr=ID_ADDR_ROM;

   for (i=0;i<7;i++)
   {
    stc_11[i]=*iptr++; 
   }
  
    outdata=crc_cal(stc_117);

    outdata1=outdata/0x1000000;outdata2=outdata%0x1000000/0x10000;
outdata3=outdata%0x10000/0x100;outdata4=outdata%0x100;
SendUart( outdata1); _nop_();    _nop_();  
SendUart(outdata2); _nop_();    _nop_();  
   SendUart(outdata3); _nop_();    _nop_();  
SendUart(outdata4); _nop_();    _nop_();  
Sector_Erase(0x77ff);_nop_();_nop_(); byte_write(0x77ffoutdata1);_nop_(); _nop_();
    Sector_Erase(0x79ff);_nop_(); _nop_();byte_write(0x79ffoutdata2);_nop_(); _nop_();
Sector_Erase(0x7bff);_nop_();_nop_(); byte_write(0x7bffoutdata3);_nop_(); _nop_();
    Sector_Erase(0x7dff);_nop_(); _nop_();byte_write(0x7dffoutdata4);_nop_(); _nop_();
//加密数据写入eeprom
 whil

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      10840  2014-12-23 08:39  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.LST

     文件        199  2014-12-23 17:15  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.plg

     文件       5361  2014-12-23 08:39  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.c

     文件       1143  2014-12-23 17:15  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.Opt

     文件       4980  2014-12-23 08:39  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.OBJ

     文件       3770  2014-12-23 08:39  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id

     文件      12805  2014-12-18 20:37  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15f2k08s2.h

     文件       1361  2014-12-23 08:39  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id_Opt.Bak

     文件         48  2014-12-23 08:39  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.lnp

     文件      12812  2014-12-23 08:39  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.M51

     文件         45  2014-12-18 21:33  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.__b

     文件       2954  2014-12-23 08:39  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.hex

     文件       1232  2014-12-18 21:33  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.LIB

     文件          6  2014-12-21 22:46  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\新建 文本文档.txt

     文件       2151  2014-12-21 00:06  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id_Uv2.Bak

     文件       2151  2014-12-22 11:11  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验\stc15-id.Uv2

     文件       5702  2014-12-23 08:40  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11-id.c

     文件          8  2014-12-22 11:20  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\新建 文本文档.txt

     文件        477  2014-12-23 08:40  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11.plg

     文件         45  2014-12-23 08:40  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11.lnp

     文件      13334  2014-12-23 08:40  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11.M51

     文件       2945  2014-12-23 08:40  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11.hex

     文件          0  2014-12-22 14:40  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11_Uv2.Bak

     文件       2148  2014-12-22 14:41  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11.Uv2

     文件        986  2014-12-22 17:43  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11_Opt.Bak

     文件      11345  2014-12-23 08:40  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11-id.LST

     文件      14039  2014-12-23 08:40  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11-id.OBJ

     文件      12781  2014-12-23 08:40  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11

     文件        985  2014-12-23 08:40  STC单片机 ID号CRC-ITU加密\STC11 ID号加密试验\stc11.Opt

     目录          0  2014-12-23 17:35  STC单片机 ID号CRC-ITU加密\STC15_ID加密试验

............此处省略5个文件信息

评论

共有 条评论