防止程序执行恶意操作的方法和装置制造方法及图纸

技术编号:9597024 阅读:118 留言:0更新日期:2014-01-23 02:28
本发明专利技术公开了一种防止程序执行恶意操作的方法和装置。其中,防止程序执行恶意操作的方法包括:封装被保护程序,得到第一目标程序;校验第一目标程序,得到预定校验码;利用预定校验码加密第一目标程序,得到第二目标程序;校验第二目标程序,得到目标校验码;判断目标校验码与预定校验码是否相同,以及在判断出目标校验码与预定校验码不相同的情况下,停止第二目标程序的运行或退出第二目标程序。通过本发明专利技术,解决了现有技术中程序容易执行恶意操作的问题,进而达到了提高程序的安全性的效果。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种防止程序执行恶意操作的方法和装置。其中,防止程序执行恶意操作的方法包括:封装被保护程序,得到第一目标程序;校验第一目标程序,得到预定校验码;利用预定校验码加密第一目标程序,得到第二目标程序;校验第二目标程序,得到目标校验码;判断目标校验码与预定校验码是否相同,以及在判断出目标校验码与预定校验码不相同的情况下,停止第二目标程序的运行或退出第二目标程序。通过本专利技术,解决了现有技术中程序容易执行恶意操作的问题,进而达到了提高程序的安全性的效果。【专利说明】防止程序执行恶意操作的方法和装置
本专利技术涉及计算机软件领域,具体而言,涉及一种防止程序执行恶意操作的方法和装置。
技术介绍
专利技术人发现,在当前的Linux体系下编程和开发下,程序容易被篡改,执行恶意操作,目前,还没有一套行之有效的方法来防止程序被篡改引起的恶意操作。针对相关技术中程序容易执行恶意操作的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种防止程序执行恶意操作的方法和装置,以解决现有技术中程序容易执行恶意操作的问题。为了实现上述目的,根据本专利技术的一个方面,提供了一种防止程序执行恶意操作的方法,包括:封装被保护程序,得到第一目标程序;校验第一目标程序,得到预定校验码;利用预定校验码加密第一目标程序,得到第二目标程序;校验第二目标程序,得到目标校验码;判断目标校验码与预定校验码是否相同;以及在判断出目标校验码与预定校验码不相同的情况下,停止第二目标程序的运行或退出第二目标程序。进一步地,校验第一目标程序,得到预定校验码包括:通过校验第一目标程序的字节码得到预定校验码。进一步地,校验第二目标程序,得到目标校验码包括:通过校验第二目标程序的字节码得到目标校验码。进一步地,校验第二目标程序,得到目标校验码包括:启动第二目标程序时校验第二目标程序;和/或在第二目标程序运行过程中,确定预定数据被访问的情况下,校验第二目标程序。进一步地,在停止第二目标程序的运行之后,防止程序执行恶意操作的方法还包括:恢复第二目标程序。进一步地,利用预定校验码加密第一目标程序,得到第二目标程序包括:利用预定密钥对预定校验码进行加密,得到加密校验码;以及利用加密校验码加密第一目标程序,得到第二目标程序。为了实现上述目的,根据本专利技术的另一方面,提供了种防止程序执行恶意操作的装置,该装置用于执行本专利技术上述内容所提供的任一种防止程序执行恶意操作的方法。为了实现上述目的,根据本专利技术的另一方面,提供了种防止程序执行恶意操作的装置,包括:封装单元,用于封装被保护程序,得到第一目标程序;第一校验单元,用于校验第一目标程序,得到预定校验码;加密单元,用于利用预定校验码加密第一目标程序,得到第二目标程序;第二校验单元,用于校验第二目标程序,得到目标校验码;判断单元,用于判断目标校验码与预定校验码是否相同;以及执行单元,用于在判断单元判断出目标校验码与预定校验码不相同的情况下,停止第二目标程序的运行或退出第二目标程序。进一步地,第一校验单元包括:第一校验子单元,用于通过校验第一目标程序的字节码得到预定校验码。进一步地,第二校验单元包括:第二校验子单元,用于通过校验第二目标程序的字节码得到目标校验码。进一步地,第二校验单元用于在启动第二目标程序时校验第二目标程序;和/或第二校验单元用于在第二目标程序运行过程中,确定预定数据被访问的情况下,校验第二目标程序。进一步地,防止程序执行恶意操作的装置还包括:恢复单元,用于在执行单元停止第二目标程序的运行之后,恢复第二目标程序。进一步地,加密单元包括:第一加密子单元,用于利用预定密钥对预定校验码进行加密,得到加密校验码;以及第二加密子单元,用于利用加密校验码加密第一目标程序,得到第二目标程序。本专利技术采用封装被保护程序,得到第一目标程序;校验第一目标程序,得到预定校验码;利用预定校验码加密第一目标程序,得到第二目标程序;校验第二目标程序,得到目标校验码;判断目标校验码与预定校验码是否相同,以及在判断出目标校验码与预定校验码不相同的情况下,停止第二目标程序的运行或退出第二目标程序。第一目标程序在编译后未经任何修改,此时的校验码为未经修改的校验码,即预定校验码。利用预定校验码对第一目标程序的加密,不会改变第一目标程序和所得到的第二目标程序的校验码,所以在第二目标程序未被修改的情况下,对第二目标程序进行校验得到的目标校验码与预定校验码相同。在第二目标程序运行过程中,若第二目标程序被修改,则目标校验码会发生改变。因此通过比较目标校验码与预定校验码是否相同,可以判断第二目标程序是否被篡改,若程序被篡改则执行预设动作,如退出程序或停止程序运行等,进而避免程序容易被篡改引起的恶意操作,解决了现有技术中程序容易执行恶意操作的问题,进而达到了提高程序的安全性的效果。【专利附图】【附图说明】构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术第一实施例的防止程序执行恶意操作的方法的流程图;图2是根据本专利技术第二实施例的防止程序执行恶意操作的方法的流程图;图3是根据本专利技术第一实施例的防止程序执行恶意操作的装置的结构示意图;以及图4是根据本专利技术第二实施例的防止程序执行恶意操作的装置的结构示意图。【具体实施方式】需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。本专利技术实施例提供一种防止程序执行恶意操作的方法,即,本专利技术实施例提供一种程序保护方法,下面对本专利技术实施例提供的防止程序别篡改的方法(程序保护方法)进行具体介绍;所谓防止程序执行恶意操作,就是可执行程序编译通过后,对程序进行保护,当被保护的程序被企图恶意修改时,程序将检测到并做出相应的动作。图1是本专利技术第一实施例的防止程序执行恶意操作的方法的流程图,如图1所示,该方法包括如下的步骤S102至步骤SI 12:步骤S102,封装被保护程序,得到第一目标程序。在被保护程序编译通过之后,将防篡改代码加入被保护程序的源代码中,程序编译时,编译工具会连接到特定的库函数中,这些库函数是为封装被保护函数制定的,编译后被保护程序被封装起来,即第一目标程序。步骤S104,校验第一目标程序,得到预定校验码。第一目标程序在编译后未经任何修改,此时的校验码为未经修改的校验码,即预定校验码。步骤S106,利用预定校验码加密第一目标程序,得到第二目标程序。使用加密工具利用预定校验码对第一目标程序进行加密,加密工具在加密第一目标程序时,会将预定校验码导入第二目标程序中。此时,第二目标程序的校验码(以下称目标校验码)与预定校验码相同。步骤S108,校验第二目标程序,得到目标校验码,其中,第二目标程序能进行自我校验,得到目标校验码。步骤SI 10,判断目标校验码与预定校验码是否相同。在第二目标程序运行过程中,若第二目标程序的校验码被修改,则目标校验码会发生改变。通过比较目标校验码与预定校验码是否相同可以判断第二目标程序是否被篡改。步骤S112,在判定目标校验码与预定校验码不相同的情况下,停止第二目标程序的运行或退出第二目标程序。本文档来自技高网...

【技术保护点】
一种防止程序执行恶意操作的方法,其特征在于,包括:封装被保护程序,得到第一目标程序;校验所述第一目标程序,得到预定校验码;利用所述预定校验码加密所述第一目标程序,得到第二目标程序;校验所述第二目标程序,得到目标校验码;判断所述目标校验码与所述预定校验码是否相同;以及在判断出所述目标校验码与所述预定校验码不相同的情况下,停止所述第二目标程序的运行或退出所述第二目标程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨耀敏周雄峰朱理高良伟钟乐员
申请(专利权)人:浙江云巢科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1