PIC单片机芯片的解密原理介绍 (上)
PIC单片机原理及应用

PIC 系列单片机代表着单片机发展的新动向
7 2021/4/20
PIC 单片机的特色
❖ 指令单字节化
数据总线和指令总线分离,ROM和RAM寻址空间互相独立, 宽度不同。 确保数据安全性、提高运行速度和实现全部指令单字节化。
MCS-51系列ROM和RAM都是8位,指令长度1~3字节,长短不一!
PIC12C50X/PIC16C5X 系列单片机的指令字节为12位; PIC16C6X/7X / 8X 系列单片机的指令字节为14位; PIC17CXX 系列单片机的指令字节为16位;
PIC 系列单片机代表着单片机发展的新动向
14 2021/4/20
PIC 单片机的特色
❖ I2 和 SPI 串行总线端口
I2(Inter IC Bus)和 SPI( Seril Peripheral Interface)是在 芯片之间实现同步串行数据传输的技术。方便灵活的扩展 外围器件,大大简化单片机应用系统的结构,极易形成产 品电路的模块化结构。 大屏幕彩电中都引入了I2技术。
26 2021/4/20
PIC12F629/675系统结构与工作原理
❖ PIC12F629/675简化结构框图
T1G T1CKI T0CKI
Flash程序 存储器 1K * 14
程序计数器PC 8级堆栈13位
RAM 寄存器 64*8
GP0/AN0/CIN+
指令寄存器 内部
4MHz 振荡器
指令译码 与控制
PIC单片机原理及应用
2005.12
1 2021/4/20
内容提要
单片机概述 PIC单片机的特色 PIC单片机的程序设计
2 2021/4/20
单片机概述
文档 常见的几种PIC系列芯片解密介绍

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详细功能及原理介绍

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)。
PIC单片机结构原理

0: 执行加法(或减法)指令时,如果 最高位无进位(或借位); 1:执行加法(或减法)指令时,如果 最高位有进位(或借位)。
RP1、RP0 RP1、RP0 RP1、RP0 RP1、RP0
= = = =
0 0 1 1
0 1 0 1
选中区0 选中区1 选中区2 选中区3
0 : 执行加法(或减法)指令时,如 果低4位向高4位无进位(或借位); 1:执行加法(或减法)指令时,如果 低4位向高4位有进位(或借位)。
1.1 单片机概述
1.1.1单片机的应用 (1)单片机在仪器仪表中的应用 (2)单片机在机电一体化中的应用 (3)单片机在智能接口和多机系统中的应用 (4)单片机在生活中的应用 (5)微处理功能 (6)通讯 (7)军事
1.1 单片机概述
1.1.2单片机工作原理简述 1. 单片机的工作特点 (1)存储器ROM和RAM的相互独立 (2)采用面向控制的指令系统 (3)输入/输出端口的强大功能 (4)品种系列化
表1-1 PIC16F87X系列单片机功能配置 型号 功能 工作频率 Flash存储 器/bit RAM/B EEPROM/B 中断/个 I/O端口 定时器/个 A/D转换通 道/个 CCP模块/ 个 串行通讯 模块 PIC16 F870 DC-20 2K×1 4 128 64 10 A、B、 C 3 5 1 USART PIC16F8 71 DC-20 2K×14 128 64 11 A、B、C、 D、E 3 8 1 USART PIC16 F872 DC-20 2K×1 4 128 64 10 A、B、 C 3 5 1 无 PIC16 F873 DC-20 4K×1 4 192 128 13 A、B、 C 3 5 2 USART PIC16F8 74 DC-20 4K×14 192 128 14 A、B、C、 D、E 3 8 2 USART PIC16 F876 DC-20 8K×1 4 368 256 13 A、B、 C 3 5 2 USART PIC16F8 77 DC-20 8K×14 368 256 14 A、B、C、 D、E 3 8 2 USART
单片机解密方法简单介绍(破解)

单片机解密方法简单介绍下面是单片机解密的常用几种方法,我们做一下简单介绍: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)。
PIC单片机芯片的解密原理介绍(程序补充)

call ax_2_hex
mov eax,' '
stosd
;stosw
mov ebx,bafer_4
mov ax,word ptr [esi+ebx]
call ax_2_hex
mov ax,' '
stosw
push ecx
call itime_h
call end_pic
;--------------------------------------
_printm 11,0,1eh,'Writing to file: DEX_PIC2.HEX'
mov esi,bafer_2
mov edi,bafer_6
mov ecx,pic_size
cmp ax,-1
je ok_oo
call ax_2_hex
mov ax,' '
stosw
push esi
lea esi,[esi+ebx]
call decode
pop esi
ok_oo: mov ax,0a0dh
stosw
pop ecx
add esi,2
loop next_dis
sub ecx,edx
call writefile
call closefile
_printm 19,0,1eh,'Done!'
ret
ax_2_hex: push eax
push eax
mov al,ah
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 ;)。