研芯科技拥有10年芯片解密抄板的经验

快速芯片解密公司

主营IC解密、芯片解密、单片机解密

---专业提供PCBA一站式的服务商---

24小时解密热线

13689505886

打开客服菜单
成功案例
您的位置 : 芯片解密首页 > 成功案例 > pcb 抄板 单片机解密工具 破解 存储型单片机解密和加密技术

pcb 抄板 单片机解密工具 破解 存储型单片机解密和加密技术

时间 : 2020-03-24 10:01 浏览量 : 21

破解 存储型单片机解密和加密技术

破解 存储型单片机解密和加密技术

厂商利用单片机进行产品开发时,都会关心其代码和数据的保密性。考虑到用户在编写和调试代码时所付出的时间和精力,代码的成本是不言而喻的。

自flash技术得到广泛应用以来,各类单片机制造商纷纷采用了多种不同的芯片加密方法,对比掩膜rom芯片来说,flashrom在线可编程特性使得芯片的加密和解密方式变得更加灵活和可靠。在flash型单片机中,芯片的加密和解密工作都是通过对flashrom的编程来完成的,由于用户程序可以在线地改写rom的内容,可以编写一套加密和解密的小程序,随用户程序下载到芯片中,通过运行该程序,在线修改flashrom的内容,对芯片进行加密和解密,使整个的加解密过程更为简单灵活。

早期的单片机,代码是交给芯片制造商制成掩膜rom。有两种加密的机制,一是彻底破坏读取代码的功能,无论是开发者还是使用者都永远无法读取其中的内容。从安全上来说,这种方式很彻底,但是已经无法检查rom中的代码了。另一种方法是不公开读取方法,厂商仍可以读取代码。这种方式留有检查代码的可能性,但是并不能算是一种真正的“加密”,被破解的可能性是存在的。

freescale公司的hcs12单片机采用的加解密思路有一定的典型性,我们对此作了一些研究,现以mc9s12dp256单片机为例,介绍flash型单片机的加密解密方法。

freescale公司的很多单片机都借用一种被称为后台调试模式(backgrounddebugmode,bdm)作为下载和调试程序的接口。

该模块有三种作用:

对内部存储器的读写。将用户程序下载到目标芯片中或是将存储器中的数据读出。

对单片机工作方式和资源进行配置。部分涉及到单片机工作方式和资源配置的寄存器只能在特殊模式下由编程器发送bdm命令来修改。

在hcs12单片机未加密的状态下,使用bdm硬件命令可以将flashrom中的程序读出或将新的程序写入。bdm命令可以由独立的硬件系统来送出,我们一般称此类系统为bdm编程器。

bdm编程器的时序协议是公开的,任何人都可以根据协议设计硬件、编写程序,实现bdm编程器的功能。使用bdm接口,编程器可以很容易的访问到目标系统的存储器,这给程序调试和烧写带来了很大的方便,然而,便利的对外接口也给盗用者留下了可乘之机。

在带有bdm模块的单片机中引入数据保密机制并非hcs12系列的首创,先前的hc12系列单片机的d家族中,就已经引入了屏蔽lockoutbdm读写的机制,可惜,该机制在单片机的扩展工作模式下存在着漏洞。相比之下,hcs12系列单片机中的保密机制更加完善,无论在bdm模式下或是扩展模式下,都可以屏蔽外部对flashrom的读写。

两种加密解密方法

在hcs12系列单片机中,加密可以分成两种方法:完全加密和使用密码的加密。这两种加密的方法根据用户的需求,使用的场合也有所不同。

·完全加密

所谓完全加密,就是将芯片彻底的保护起来,屏蔽对芯片的所有读操作。在mc9s12dp256单片机中,加密是通过对某一flash单元($ff0f)编程来实现的。加密后的芯片,bdm编程器对flash的读操作就被禁止了。

采用完全加密,读取rom代码的可能性就不存在了,这是一种最为“安全”的加密方法。如果用户想修改rom的内容,唯一的办法就是将flash的内容全部擦除,这一操作可以通过bdm编程器来完成。

使用bdm编程器擦除flashrom和eeprom的过程与在普通模式下对片内的flashrom擦除操作过程基本一样,区别是对寄存器或是存储单元的读写要改由bdm命令来实现。通过bdm编程器将一连串完整的擦除指令序列送给单片机,就可将flashrom和eeprom的内容全部擦除了。

在全擦除操作完成后,bdm编程器将系统复位,系统会自动检查全擦除操作是否成功。如果成功,bdm状态寄存器的unsec位会自动置“1”,系统进入解密状态。

由于系统靠检查flashrom和eeprom是否清空来决定系统是否保持加密状态,所以,如果用户程序偶然将flashrom和eeprom的内容全部擦除,那么系统也将自动解密。

·使用密码的加密

为了留有读取rom代码的可能,用户可以采用一种带有密码的加密方式。解密时,用户只要给出正确的密码(称为“后门密码”),就可以读写rom,而不破坏其内容了。

使用这种方法,用户需要在加密之前,设定4个字长的密码,并将其存放在flash中,mc9s12dp256存放密码的flash地址是从$ff00到$ff。设定的密码可以随用户程序一起下载到芯片中。

解密时,接受用户输入的密码并验证的工作只能由一个用户接口程序来完成的,不能使用bdm编程器。接口的方式没有限制,如scspiimscan等等,只要用户能够将正确的密码输入,任何一种接口方式都是可以的,最为典型的接口是串口。

假设接收的密码存在变量key0-key7中,验证密码的程序如下:

*testkeys

bsetfcnfg,$20;置keyacc为1

lddkey0

std$ff00

lddkey2

std$ff

lddkey4

std$ff

lddkey6

std$ff;验证key0-key7

bclrfcnfg,$20;清keyacc为0

ldaafsec

anda#$

cmpa#$

bnefail;是否验证成功?

success;密码验证成功

ldaafstat;清除flash状态寄存器

oraa#%0000

staafstat

ldaa#0

staafcnfg

brclrfstat,$80,*

ldd#$fffe

std$ff0e;改写加密状态,复位后系统不再加密

ldaa#$20

staafcmd

bsetfstat,#$80;开始执行

brclrfstat,$40,*

rts;返回

failrts

程序返回后,如果用户输入的密码和原值符合,系统将会把保密寄存器fsec的最后两位sec[0]改写到未加密的状态,系统自动解密。如果验证没有通过,系统将保持加密状态。

需要注意,不管使用哪种方式将系统解密,解密后的系统虽然可以暂时读取flash,但是由于单元$ff0f中的最后两位仍处于加密状态(全擦除后,“11”的组合仍为加密状态),系统在下次复位后,仍会回到加密的状态,所以为了彻底解密系统,必须改写这两位为“”。

灵活使用带密码的加密解密方法

通过研究我们发现,使用带有密码的加密方式,看似给破解代码留有了可能性,但因为接受和验证密码都需要由用户程序完成,只要用户程序设计的可靠,这种可能性是很小的。

为了增强用户接口程序的可靠性和灵活性,我们提出以下几种可能的设计思路:

针对穷举密码的对策。mc9s12dp256的密码长达8个字节,如果不将密码限定在ascii码的范围内,那么可以选择的密码数量将达到8*19种。为了防患破解者穷举密码,用户可以设定允许输入错误密码的次数,如果出错超过一定次数,接口程序就不再接收新的密码了。允许出错的次数可以根据安全需要和使用方便综合考虑。

灵活的对外接口。使用密码加解密时,用户程序使用的对外接口是没有任何限制的。本文中的串口程序只是一例,mc9s12dp256片内集成了众多的接口模块,如scspiimscaj1850等等。使用哪一个接口,用户可以根据方便和安全考虑自己选择,这样也会使破解者难以入手。

用户程序级密码验证。用户还可以给接口程序增设一级密码验证的步骤。只有通过该密码验证,才能进一步输入解密的密码。因为加密后,flashrom就无法读写了,用户程序可以将增设的密码也保存到flash中,留待验证。另外,如果某一个模块既要作为接受密码的接口,又有其他的用途,也应该留有一个交互界面,在使用前让用户选择该模块的用途。

远程加解密。在很多场合,用户对于单片机的控制是通过以太网等介质远程实现的,只要有相应的接口程序,能够远程对单片机进行加解密,这无疑会给用户的工作带来很大的方便。

aat14芯片解密是我们在解密研究中的一个重要突破,随着在ic解密研究中的不断进展,我们的解密技术不断成熟,解密方案更为可靠,能够为客户提供最值得信赖的技术支持。下面我们就针对aat14芯片的主要性能特征进行分析介绍,供广大客户及其他技术工程师参考借鉴。单片机解密,.mcu的功能只有在rom中写入程序代码后才能显现出来。测试mcu时都是向rom写入程序后并向输入管脚提供相应的测试矢量的情况进行的,然后对于otp型mcu,只能一次编程,所以每次对封装后成品测试时,测试一个就废掉一个。据我所知,holtek的mcu多为otp版本单片机,holtek是如何解决这个测试问题?ad9850采用先地蝗cmos工艺,其功耗在3v供电时仅为155mw,扩展工业级温度范围为-40~80℃,采用28脚ssop表面封装形式。ad9850的引脚排列如图1所示,图2为其组成框图。图2中层虚线内是一个完整的可编程dds系统,外层虚线内包含了ad9850的主要组成部分。

基于ad812单片机的以上特点,研芯科技我们芯片解密中心能在短时间内为您完成ad812单片机解密等adi芯片解密服务。如果您有ad812芯片解密等ic解密需求,欢迎来电来访咨询洽谈。基于tm8530单片机的以上特点,研芯科技我们芯片解密中心能在短时间内为您完成tm8530芯片解密等疑难型单片机解密服务。如果您有tm8530单片机解密或其他tenx系列疑难型单片机解密需求,欢迎来电来访咨询洽谈。

研芯科技专业芯片解密12年,业内客户评价高,拥有功能强大的解密平台,目前已经服务上万家企业,PCB抄板单片机解密帮助客户新产品快速上市,抄板解密收费合理,用心的服务;不成功不收费! pcb 抄板,单片机解密工具

标签:
相关新闻
cache
Processed in 0.012175 Second.