欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [doc] 单片机应用程序的软件加密技术.doc

    • 资源ID:2401753       资源大小:17KB        全文页数:10页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [doc] 单片机应用程序的软件加密技术.doc

    单片机应用程序的软件加密技术N2=RECC()F=II,20SAY.柯印时行距?”GETPRPICT99READPI=I320/PR一1o)/22,20SAY每页打印多少条记录?.GETPPPICT.99RANGI.PI3,20SAY从何条记录开始打印GETNtRANGl,N24,20SAY从何条记录开始打印GETN2RANGI.N25,20SAY打印多少份.GETFREADSETHLTTORECNO=NI.AND.RECN()<=N2GoB0TTCLEA4,2oY正在打印请等待.sETDEVITOP瑚EJECo,.0SAYcrm(96)+CHR38+STR(PR,2)+邮L(96)FFlDOWPaLFF<-FDOTOPY一1GOWHIL.NOT.EOF()1,0SAYcm(27)+.IB+LBI2,.0SAYLB2+(2D+IA3.oSAYLAI4,0sAYLA2NN=IDOWHILNN<-pp.AND.NOT.EOF0PROW()+I,0SAYLA3PROWO+I,oSAY&PSKIP,NN=NN+IENDDPROW()+I,oSAYLA4PROW()+2,L/2一10SAY”?STR(Y,2+.Y=Y+ll32O/PR一1,oSAY一I32O/PR,0SAYEJECENDDFF=FF+IENDD.o,0SAYCHR(96)+(舶.R(38)+20+CHR(96).SETDEVIToSCREUSERETU参考文献1谢鑫华,谭扬林,陈宏明等,rdaASEIPLUS原理与应用,水利电力出版社,1988,3一单片机应用程序的软件加密技术安徽机电学院电气系一周4争一.亨I富,近年来单片机以它较高的性价比,在工业生产的过程控制和智能化仪器仪表等领域,越来越得到广泛的应用,已有不少新型的智能化产品相继问世,.并取得专利权.用单片机组成一个控制系统或智能化产品对,最大的特点是硬件结构简单,容易被仿制因此,对单片机的应用程序进行加密,使用户很难分析出源程序结构,阻止用户对系统的复制,这对广大单片机应用系统的研制者来说具有十分重要的意义.=赣.加技术单片机应用程序常以机器语言形式存放在系统的FPROM或ROM中.对应用程序的加密就是使用户无法得到其程序结构和清单.机器语言级的姗密过程有硬件稚软件丽种方法.硬件椰密一般是通过改变系统硬件的结构或连线米对系统程序加以保密,但这种保密方法一般都可用逻辑分析仪,通过分析各硬件引脚间的逻辑关系,加以解密.因此,软件加密技术是_种常用的加密手段,而软件加密的技术构思多种多样,本文仅就笔者的工作实践体会,针对反汇编程序介绍几种适甩子MCS-48和MCS-5N单片机应用系程序的软件加密授术,使用户无法通过反汇编程序来得到程序清单,以实现对系统程序的保护.,(一)改变程序模块间的连接方式,实现对程序加密.1在单片机磁用系统的程序编制中,常采用结构程序设计和模块化设计方法,一个系程序常由一个主程序和多个子程序构成.因此,我们可改变各模块之间的存放方式,来实现对程序的加密.1?在程序模块间插入加密字节81龟这种方法就是通过在两模螃的连接处有意插八加密字节,使反汇编程序无法反汇编出系统实际运行的程序.如有8013单片机两个应用程序模块MK1和MK2为:;,MK1100022RETJ100175DB75H.1OO2EOMOVXA一DPT,R11003F574MOV74,A_MK2100522RET在这两个模块连接处插八一个加密字节75H后,反汇编得到:;,MK11o0o22PETl00175,Eo75MOVE0H,#F5H110047422MOVA,#22H/MK2.;J可见模块MK2内容完全改变.在使用这种方法.时,关键是对加密字节的选择.选择时要考虑到可以造成下一模块的改变.通常选择二字节或三字一节指令的首字节作为加密字节,加到下一个程序模块前的一个或两字节中.一个程序I申各模块间选择多少加密字节,视具体情况而定.?2,使程序中的某些字节为两个程序模块共享若在两模块连接处,存在有重复数捂时,可使用共享技术来实现两模块之间的连接,造成反汇编程序输出错误程序清单如砉有8031单片机的两个程序模:i:MK3.MK4为:1-,?;MK310IFII”BoAJMP10E0H一1021E.o_lMovxA,DPTR1+一1022F574.MOV74,.AMK41024.RET,.I这两个搓_块连接处102OH单元与l021H-元的内容相同,.这样我们可利角共享技术,使1020H单元内容E0H为K3,MK4个模块同使用,使源程序的连接变为:,.,一主1MK310rFi1E0AJMP10E0Hl1020E0?MOVXA,DPTR1.1021F574Mov7”4,AKM4ll02322.PETt,.J?8Z则反汇编后源程序变为:,;:i01F1iE0AJMP1oEQHMK31021F574MOV74,A11o2322.RET从而使源程序模:.JcMK4中的MOVXA,DPTR指令摹失.(二)用返回指令取代无条件转移指令,破坏对PC值的跟踪.采用上述的方法,可破坏反汇编程序输出的源程序清单,防止用户得到完整的程序结构,以实现对系统保护.但目前有些用户通过可以跟踪PC值内容的反汇编程序来获得系统程序清单.对这种反汇编程序,上述的两个方法将无能为力.但我们可用返回指令取代无条件转移指令的方法,来破坏反汇编程序对Pc值的跟踪,实现源程序加密.如若85单片机某一程序申含有无条件转移指令为:,100:JMP2o4H;则可用如下的程序段来代替:1ooC7MOVA,PSW.10117INCA.102D7MOVPSW,A1035307ANLA,#07H,105ADMOVR0,A10660ADDA,Ro107A0.MOVR0,A108B004MOVRo,#O4H10A培INCRo10BB002MOVRo,#o2H.10D.22RETr使用这种方法就是利用RET对PL程序状态字,不产生影响,帝PSW又决定了堆栈指针的特性,首,先改变PSW的内容,再将转移地址O204H送入堆栈中,再用RET来实现程序的转移,从而使跟踪PC值的反汇编程序无能为力,迭到对源程序的保护.一一三,结束语-以上所述的各种方法,笔者在工作中通过使用证明是行之有效的.当然加密对于解密是相对而言的,它们之间只存在一个相对稳定的有限时期.,在.实际编程过程中若综合使用上建酌几种方法,将会取到更好的加密效果.,

    注意事项

    本文([doc] 单片机应用程序的软件加密技术.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开