PIC单片机芯片的解密原理介绍 (上)
- 格式:pdf
- 大小:41.41 KB
- 文档页数:2
PIC18F43K20性能简介与芯片解密深圳市世纪芯集成电路有限公司专业从事芯片解密服务,竭诚为广大客户提供芯片解密、单片机解密、芯片型号鉴定、程序破解等各种解密服务。
公司拥有专业的技术人员和技术设备,热烈欢迎项目合作需求者与公司商洽.High Performance RISC CPU:•C Compiler Optimized Architecture:-Optional extended instruction set designed to optimize re-entrant code•Up to1024bytes Data EEPROM•Up to64Kbytes Linear program memory addressing•Up to3936bytes Linear data memory addressing•Up to16MIPS operation•16-bit wide instructions,8-bit wide data path•Priority levels for interrupts•31-level,software accessible hardware stack•8x8single-cycle hardware multiplier Flexible Oscillator Structure:•Precision16MHz internal oscillator block:-Factory calibrated to±1%-Software selectable frequencies range of31kHz to16MHz-64MHz performance available using PLL–no external components required•Four crystal modes up to64MHz•Two external clock modes up to64MHz•4X Phase Lock Loop(PLL)•Secondary oscillator using Timer1@32kHz•Fail-Safe Clock Monitor:-Allows for safe shutdown if peripheral clock stops-Two-Speed Oscillator Start-up Special Microcontroller Features:•Operating Voltage Range:1.8V to3.6V•Self-Programmable under Software Control•Programmable16-Level High/Low-V oltage Detection(HLVD)module:-Interrupt onHigh/Low-V oltage Detection•Programmable Brown-out Reset(BOR):-With software enable option•Extended Watchdog Timer(WDT):-Programmable period from4ms to131s•Single-Supply3V In-Circuit Serial Programming™(ICSP™)via two pins•In-Circuit Debug(ICD)via Two Pins Extreme Low-Power Management with nanoWattXLP™:•Sleep mode:100nA•Watchdog Timer:500nA•Timer1Oscillator:500nA@32kHz Analog Features:•Analog-to-Digital Converter(ADC)module:-10-bit resolution,13External Channels-Auto-acquisition capability-Conversion available during Sleep-1.2V Fixed Voltage Reference (FVR)channel-Independent input multiplexing•Analog Comparator module:-Two rail-to-rail analog comparators-Independent input multiplexing•Voltage Reference(CVREF)module-Programmable(%VDD),16steps-Two16-level voltage ranges using VREF pins Peripheral Highlights:•Up to35I/O pins plus1input-only pin:-High-Current Sink/Source25mA/25mA-Three programmable external interrupts-Four programmable interrupt-on-change-Eight programmable weak pull-ups-Programmable slew rate•Capture/Compare/PWM(CCP)module•Enhanced CCP(ECCP)module:-One,two or four PWM outputs-Selectable polarity-Programmable dead time-Auto-Shutdown and Auto-Restart•Master Synchronous Serial Port(MSSP)module-3-wire SPI(supports all4modes)-I2C™Master and Slave modes with address mask•Enhanced Universal Synchronous Asynchronous Receiver Transmitter(EUSART)module:-Supports RS-485,RS-232and LIN-RS-232operation using internal oscillator-Auto-Wake-up on Break-Auto-Baud Detect为方便客户对PIC18F43K20解密的技术实现及单片机本身的性质进行理解,这里,我们提供对PIC18F43K20单片机的基本性能特征介绍,有PIC18F43K20芯片解密需求者欢迎与世纪芯联系咨询更多解密详情。
单片机解密方法简单介绍下面是单片机解密的常用几种方法,我们做一下简单介绍:1:软解密技术,就是通过软件找出单片机的设计缺陷,将内部OTP/falsh ROM 或eeprom代码读出,但这种方法并不是最理想的,因为他的研究时间太长。
同一系列的单片机都不是颗颗一样。
下面再教你如何破解51单片机。
2:探针技术,和FIB技术解密,是一个很流行的一种方法,但是要一定的成本。
首先将单片机的C onfig.(配置文件)用烧写器保存起来,用在文件做出来后手工补回去之用。
再用硝酸熔去掉封装,在显微镜下用微形探针试探。
得出结果后在显微镜拍成图片用FIB连接或切割加工完成。
也有不用FIB用探针就能用编程器将程序读出。
3:紫外线光技术,是一个非常流行的一种方法,也是最简单的一种时间快、像我们一样只要30至1 20分钟出文件、成本非常低样片成本就行。
首先将单片机的Config.(配置文件)用烧写器保存起来,再用硝酸熔去掉封装,在显微镜下用不透光的物体盖住OTP/falsh ROM 或eeprom处,紫外线照在加密位上10到120分钟,加密位由0变为1就能用编程器将程序读出。
(不过他有个缺陷,不是对每颗OT P/falsh都有效)有了以上的了解解密手段,我们开始从最简的紫外光技术,对付它:EMC单片机用紫外光有那一些问题出现呢?:OTP ROM 的地址(Address:0080H to 008FH) or (Address:0280h to 028FH) 即:EMC的指令的第9位由0变为1。
因为它的加密位在于第9位,所以会影响数据。
说明一下指令格式:"0110 bbb rrrrrrr" 这条指令JBC 0x13,2最头痛,2是B,0X13是R。
如果数据由0变为1后:"0111 bbb rrrrrrr"变成JBS 0x13,2头痛啊,见议在80H到8FH 和280H到28FH多用这条指令。
PIC详细功能及原理介绍1PIC 单⽚机开板详细功能及原理使⽤说明第1章 PIC单⽚机开发板简介1.1 产品概述本套开发板为天祥电⼦⼯程师综合市场上现有的多种PIC开发板的功能之优点,结合⼯程师们多年项⽬经验之需求,特别为PIC单⽚机爱好者们研制的具有强⼤功能的PIC单⽚机学习开发板。
该开发板集常⽤的单⽚机外围资源、烧写电路于⼀⾝。
配合天祥电⼦出品的配套视频教程及提供的资料和例程,可以让您在最短的时间内,全⾯的掌握PIC单⽚机编程技术。
板⼦的供电和下程序下载共⽤⼀根USB线与电脑连接,使⽤⽅便,性能稳定。
最⼤的特点是配套有郭⽼师亲⾃讲解的视频教程,让学习者轻松上⼿。
该开发板特别适合单⽚机初学者以及电⼦爱好者⾃学使⽤。
与PIC单⽚机开发板配套的视频教程全部⼗三讲,⾮常详细的讲解软件的使⽤、程序的编写,整个过程全部⽤单⽚机的C语⾔讲解,全新的讲课风格,跳过复杂的单⽚机内部结构知识,⾸先从单⽚机的应⽤讲起,⼀步步深⼊到内部结构,让学⽣彻底掌握其实际应⽤⽅法。
2第2章 MPLAB IDE集成开发环境第3章 PIC开发板资源介绍3.1 单⽚机引脚资源及系统时钟选择3.1.1 系统组成本模块主下由以下部分组成:1)40脚芯⽚插座2)PIC16F57芯⽚插座3)28脚芯⽚插座4)20脚芯⽚插座5)18脚芯⽚插座6)14脚芯⽚插座7)8脚芯⽚插座8)PIC10FXXX芯⽚插座9)时钟源OSCA(供40/28引脚单⽚机和PIC16F57单⽚机使⽤)10)时钟源OSCB(供18引脚单⽚机使⽤)11)时钟源OSCC(供20/14/8脚单⽚机使⽤)12)各I/O端⼝的输出接⼝3.1.2 芯⽚引脚资源各芯⽚的引脚资源详细信息请参考各芯⽚的数据⼿册,由于硬件设计原因,在本实验板中有⼀些引脚需要特别说明:1)PIC10FXXX的第8脚做复位脚和编程电压输⼊脚,不⽤于I/O功能(GP3)。
2)8引脚单⽚机的第4脚做复位脚和编程电压输⼊脚,不⽤于I/O功3能(GP3)。
单片机解密方法简单介绍下面是单片机解密的常用几种方法,我们做一下简单介绍:1:软解密技术,就是通过软件找出单片机的设计缺陷,将内部OTP/falsh ROM 或eeprom代码读出,但这种方法并不是最理想的,因为他的研究时间太长。
同一系列的单片机都不是颗颗一样。
下面再教你如何破解51单片机。
2:探针技术,和FIB技术解密,是一个很流行的一种方法,但是要一定的成本。
首先将单片机的C onfig.(配置文件)用烧写器保存起来,用在文件做出来后手工补回去之用。
再用硝酸熔去掉封装,在显微镜下用微形探针试探。
得出结果后在显微镜拍成图片用FIB连接或切割加工完成。
也有不用FIB用探针就能用编程器将程序读出。
3:紫外线光技术,是一个非常流行的一种方法,也是最简单的一种时间快、像我们一样只要30至1 20分钟出文件、成本非常低样片成本就行。
首先将单片机的Config.(配置文件)用烧写器保存起来,再用硝酸熔去掉封装,在显微镜下用不透光的物体盖住OTP/falsh ROM 或eeprom处,紫外线照在加密位上10到120分钟,加密位由0变为1就能用编程器将程序读出。
(不过他有个缺陷,不是对每颗OT P/falsh都有效)有了以上的了解解密手段,我们开始从最简的紫外光技术,对付它:EMC单片机用紫外光有那一些问题出现呢?:OTP ROM 的地址(Address:0080H to 008FH) or (Address:0280h to 028FH) 即:EMC的指令的第9位由0变为1。
因为它的加密位在于第9位,所以会影响数据。
说明一下指令格式:"0110 bbb rrrrrrr" 这条指令JBC 0x13,2最头痛,2是B,0X13是R。
如果数据由0变为1后:"0111 bbb rrrrrrr"变成JBS 0x13,2头痛啊,见议在80H到8FH 和280H到28FH多用这条指令。
1PIC 单片机开板详细功能及原理使用说明第1章 PIC单片机开发板简介1.1 产品概述本套开发板为天祥电子工程师综合市场上现有的多种PIC开发板的功能之优点,结合工程师们多年项目经验之需求,特别为PIC单片机爱好者们研制的具有强大功能的PIC单片机学习开发板。
该开发板集常用的单片机外围资源、烧写电路于一身。
配合天祥电子出品的配套视频教程及提供的资料和例程,可以让您在最短的时间内,全面的掌握PIC单片机编程技术。
板子的供电和下程序下载共用一根USB线与电脑连接,使用方便,性能稳定。
最大的特点是配套有郭老师亲自讲解的视频教程,让学习者轻松上手。
该开发板特别适合单片机初学者以及电子爱好者自学使用。
与PIC单片机开发板配套的视频教程全部十三讲,非常详细的讲解软件的使用、程序的编写,整个过程全部用单片机的C语言讲解,全新的讲课风格,跳过复杂的单片机内部结构知识,首先从单片机的应用讲起,一步步深入到内部结构,让学生彻底掌握其实际应用方法。
2第2章 MPLAB IDE集成开发环境第3章 PIC开发板资源介绍3.1 单片机引脚资源及系统时钟选择3.1.1 系统组成本模块主下由以下部分组成:1)40脚芯片插座2)PIC16F57芯片插座3)28脚芯片插座4)20脚芯片插座5)18脚芯片插座6)14脚芯片插座7)8脚芯片插座8)PIC10FXXX芯片插座9)时钟源OSCA(供40/28引脚单片机和PIC16F57单片机使用)10)时钟源OSCB(供18引脚单片机使用)11)时钟源OSCC(供20/14/8脚单片机使用)12)各I/O端口的输出接口3.1.2 芯片引脚资源各芯片的引脚资源详细信息请参考各芯片的数据手册,由于硬件设计原因,在本实验板中有一些引脚需要特别说明:1)PIC10FXXX的第8脚做复位脚和编程电压输入脚,不用于I/O功能(GP3)。
2)8引脚单片机的第4脚做复位脚和编程电压输入脚,不用于I/O功3能(GP3)。
单片机芯片解密单片机芯片解密是指对一种未公开的单片机芯片进行逆向工程,从而获得解密的过程和方法。
单片机芯片解密的目的主要是为了得到芯片的内部结构和功能,以便进行后续的修改、仿制或破解。
单片机芯片解密的过程通常分为以下几个步骤:1. 芯片取样:首先需要从目标芯片中取得一块实物样品。
取样可以通过从市场上购买芯片、请求芯片供应商提供或通过其他合法渠道进行。
2. 芯片分析:芯片取样之后,需要对芯片进行物理结构分析。
这包括进行芯片外观观察、尺寸测量和材料成分测试等。
3. 芯片反向工程:在芯片分析的基础上,需要进行芯片的电路结构和功能分析。
这个过程需要通过使用电子显微镜、探针仪、逻辑分析仪等工具来研究芯片的内部电路结构。
4. 芯片解密:在芯片反向工程的基础上,需要对芯片进行具体的解密工作。
这包括解密算法破解、加密芯片的功能分析、解密程序的编写等。
5. 解密结果验证:芯片解密完成后,需要对解密结果进行验证,确保得到的数据或程序与原始芯片相符合。
这可以通过对比验证、仿真测试等方法进行。
单片机芯片解密需要具备一定的电子技术和逆向工程的知识。
对于不同型号的芯片,解密的过程和方法也会有所不同。
微控制器芯片解密是单片机芯片解密的一种,它通常在解密过程中会涉及到微控制器的保护、加密和安全机制。
单片机芯片解密一直是个敏感话题,因为它涉及到知识产权和商业机密。
在某些情况下,芯片供应商可能采取技术手段来保护其芯片的安全性,例如电子保护、物理保护和法律保护等。
总之,单片机芯片解密是一项技术含量较高的工作,它需要对芯片的物理结构和电路设计进行深入研究,以及对解密算法和程序进行分析和破解。
其实了解芯片解密方法之前先要知道什么是芯片解密,网络上对芯片解密的定义很多,其实芯片解密就是通过半导体反向开发技术手段,将已加密的芯片变为不加密的芯片,进而使用编程器读取程序出来。
芯片解密所要具备的条件是:第一、你有一定的知识,懂得如何将一个已加密的芯片变为不加密。
第二、必须有读取程序的工具,可能有人就会说,无非就是一个编程器。
是的,就是一个编程器,但并非所有的编程器是具备可以读的功能。
这也是就为什么我们有时候为了解密一个芯片而会去开发一个可读编程器的原因。
具备有一个可读的编程器,那我们就讲讲,芯片解密常有的一些方法。
1、软件攻击:该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。
软件攻击取得成功的一个典型事例是对早期ATMELAT89C系列单片机的攻击。
攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。
至于在其他加密方法的基础上,可以研究出一些设备,配合一定的软件,来做软件攻击。
近期国内出现了一种凯基迪科技51芯片解密设备(成都一位高手搞出来的),这种解密器主要针对SyncMos.Winbond,在生产工艺上的漏洞,利用某些编程器定位插字节,通过一定的方法查找芯片中是否有连续空位,也就是说查找芯片中连续的FFFF字节,插入的字节能够执行把片内的程序送到片外的指令,然后用解密的设备进行截获,这样芯片内部的程序就被解密完成了。
2、电子探测攻击:该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。
因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。
这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。
PIC单片机芯片的解密原理介绍 (上)
In this file you will find out more about the theory on which my CrackPic software is based.
Theory on which CrackPic is based
***************************************
1. Some of the PIC models allow scrambled data reading when they are protected, according to the formula:
s = a NXOR b 1.) where: a = higher 7 bits from 14-bit word
b = lower 7 bits from 14-bit word
NXOR Table:
x y |z
------
0 0 |1
1 0 |0
0 1 |0
1 1 |1
2. Program is stored into EPROM. When this EPROM is erased, he has all of its bits set to 1, which means that value of all words stored into it is 3fffh. During the EPROM programming it is ONLY possible to change 1 into 0, AND NOT the other way around.
Combining 1. and 2. You can conclude that to unscramble the word it is enough to erase lower 7 bits (b=0), which makes:
for equation 1. if b=0
s1 = a NXOR 0 = NOT a
s1 = NOT a 2.)
----------
equation 1. can be written as
s = (NOT a) XOR b 3.)
-----------------
Combining equations 2 and 3
s = s1 XOR b
b = (s XOR s1) AND 127 4.) (AND 127 extracts 7th bit)
======================
a = (NOT s1) AND 127
====================
The original word is:
w = a*128 + b
********************************************************
* w = ((NOT s1) AND 127)*128 + ((s XOR s1 ) AND 127) *
********************************************************
--------------------------------------------------------------------
"s" is obtained by simple reading the PIC.
Obtaining "s1" is a problem.
Some PIC`s (16c71,61,.) allow writing into first 64 words, so it is enough
to write 3f80h (11 1111 1000 000 bin) into every of these words,
thus making b=0.
The rest of the memory is protected from the writing, so it is necessary
to find a way to do it somehow.
I accidentally discovered the way to write the following word into the
rest of the EPROM: (xx xxxx x x 00 0000 bin), thus making b=(x00 0000)bin (More about you can find in CrackPic.a32 writen in ASM).
I cannot reset the highest bit in b, and from the previous equations it is obvious that it influences 14th and 7th bit in the original word. This
means that for a given "s" we can calculate two pairs of different combinations for one instruction code (since bit 7 in b can be either 0 or 1): possible value
bit for the bit
7 "s" 14 7 "w"
--------------------------------------------------------------
0 0 1 code 1
1 0 code 2
1 1 1 code 1
0 0 code 2
Because of that you will get 2 codes of which one is the correct. You will have to manually determine the correct instruction, but they differs a
lot, and it should be easy to filter out wrong ones. I have made software (CrackPic.exe) that generate DEX.LST file which contains pairs of instructions, and enables you to easy pick the correct ones.
Some helpfull notes
*********************
If 7th bit of "s" equals 0, and you're cracking the PIC that has up to 3fh files (16c71,61,84, etc.), than it is probably code 1 0, because
instructions with 0 1 code works with files 40h - 7fh, which are not supported in these PIC`s. Of course, after reading this text anyone can
use this kind of instruction which has no other purpose but to fool you. Anyway, this program is not something special, but if you need inverse engineering of the PIC`s, and you`re experienced PIC programmer who
can not pay 1000$ - 5000$ to the professionals, I believe that this FREE software will be of some use to you ;)。