【技术实现步骤摘要】
软件保护方法和系统
本专利技术涉及软件安全领域,尤其涉及一种软件保护方法和系统。
技术介绍
在现有软件技术中,在软件(在本文中即各类软件,也称为“应用转件”)开发完成之后,其运行于软件开发者(文中也简称为“开发者”)不可控的环境中,该软件所有细节均暴露在使用者面前,若其意欲破解该软件,则传统的保护手段只能延迟其破解进度,而不能有效地阻止软件被破解。目前最有效的软件保护方法是将运行软件必须用到的一些关键代码放到“安全环境”中运行,即,开发者根据开发过程所思所虑来挑选这些关键代码,可以将破解难度提高到接近重写软件的程度。现有技术中所谓的“安全环境”是由特定的硬件提供的,如基于智能芯片的硬件锁(即,硬件加密锁),由于其易于日常使用,因此实际使用中也是这种硬件锁居多,其能提供一定程度的安全。究其具体原理,这种硬件锁通常内置有嵌入式操作系统,可以运行嵌入式程序,基于此嵌入式操作系统,最后开发者所开发的软件通过与硬件锁内的嵌入式程序通信,访问锁内数据,以控制软件的使用。具体地,开发者对设计后的软件所进行的操作如图1所示:步骤1、抽取所设计的应用软件的关键代码;步骤2、对所抽取 ...
【技术保护点】
一种软件保护方法,其特征在于,将应用于硬件锁的至少一个可执行程序上传到云锁平台,所述至少一个可执行程序与软件的至少一个受保护代码段分别对应,所述云锁平台设置有模拟器,所述方法包括:接收来自软件的执行请求,所述执行请求用于请求执行所述至少一个可执行程序中的相应的可执行程序,并且所述执行请求中带有执行参数和对应所述相应的可执行程序的标识;所述模拟器根据所述标识加载所述相应的可执行程序并进行翻译执行,在翻译执行过程中在需要输入参数时输入所述执行参数,从而得出结果数据;向软件返回所述结果数据。
【技术特征摘要】
1.一种软件保护方法,其特征在于,将应用于硬件锁的至少一个可执行程序上传到云锁平台,所述至少一个可执行程序与软件的至少一个受保护代码段分别对应,所述云锁平台设置有模拟器,所述方法包括:接收来自软件的执行请求,所述执行请求用于请求执行所述至少一个可执行程序中的相应的可执行程序,并且所述执行请求中带有执行参数和对应所述相应的可执行程序的标识;所述模拟器根据所述标识加载所述相应的可执行程序并进行翻译执行,在翻译执行过程中在需要输入参数时输入所述执行参数,从而得出结果数据;向软件返回所述结果数据。2.根据权利要求1所述的软件保护方法,其特征在于,在将应用于硬件锁的至少一个可执行程序上传到云锁平台之前,所述方法还包括:抽取软件中的至少一个代码段;对抽取的至少一个代码段分别进行封装;将封装后的至少一个代码段分别编译成至少一个可执行程序。3.根据权利要求1所述的软件保护方法,其特征在于,所述可执行程序为二进制可执行程序。4.根据权利要求3所述的软件保护方法,其特征在于,所述模拟器为ARM指令集模拟器,则所述模拟器根据所述标识加载所述相应的可执行程序并进行翻译执行包括:所述ARM指令集模拟器根据所述标识加载所述相应的可执行程序,对所述相应的可执行程序中的二进制序列逐条进行翻译成符合ARM指令集标准的源代码并执行的处理。5.根据权利要求1所述的软件保护方法,其特征在于,还包括:在所述模拟器根据所述标识加载所述相应的可执行程序的同时,在所述云锁平台侧申请到至少两个缓冲区,其中一个缓冲区用于存储所述输入参数,另一个缓冲区用于存储所述结果数据。6.根据权利要求1所述的软件保护方法,其特征在于,还包括:在接收来自软件的执行请求之后,判断...
【专利技术属性】
技术研发人员:孙吉平,刘荣华,
申请(专利权)人:北京深思数盾科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。