【技术实现步骤摘要】
程序运行方法、装置、终端及可读介质
本申请涉及信息安全领域,特别涉及一种程序运行方法、装置、终端及可读介质。
技术介绍
SDK(SoftwareDevelopmentKit,软件工具开发包)是一种用于建立应用软件时的开发工具的集合。通常,软件厂商将一些基本程序功能封装,并通过SDK向外提供API接口。比如,软件厂商A将SDK提供给软件厂商B,软件厂商B可以基于SDK进行二次开发,开发出基于该SDK的宿主程序。在宿主程序启动后,终端将SDK有关的进程运行在宿主进程中,SDK对普通用户是不可见的。普通用户仅能观察到宿主进程的运行,并基于宿主进程使用宿主进程的各项功能。由于SDK是运行在宿主进程中的,如果宿主程序是由恶意人员开发的,则通过宿主程序对SDK进行破解是较为容易的。比如,SDK会与服务器交互一些重要数据,宿主程序很容易监听到这些重要数据。
技术实现思路
本专利技术实施例提供了一种程序运行方法、装置、终端及可读介质,解决现有技术的问题。所述技术方案如下:第一方面,提供了一种程序运行方法,应用于安装有宿主程序的终端中,所述宿主程序是基于SDK进行二次开发的程序,所述方 ...
【技术保护点】
1.一种程序运行方法,其特征在于,应用于安装有宿主程序的终端中,所述宿主程序是基于SDK进行二次开发的程序,所述方法包括:当接收到程序启动信号时,所述宿主程序启动第一进程;所述宿主程序通过所述第一进程启动所述SDK对应的第二进程,所述第二进程是独立于所述第一进程之外的进程;当接收到功能使用信号时,所述宿主程序通过所述第一进程调用所述SDK提供的API接口;所述第二进程根据所述调用从服务器获取目标数据;所述第二进程根据所述目标数据向所述第一进程提供程序功能。
【技术特征摘要】
1.一种程序运行方法,其特征在于,应用于安装有宿主程序的终端中,所述宿主程序是基于SDK进行二次开发的程序,所述方法包括:当接收到程序启动信号时,所述宿主程序启动第一进程;所述宿主程序通过所述第一进程启动所述SDK对应的第二进程,所述第二进程是独立于所述第一进程之外的进程;当接收到功能使用信号时,所述宿主程序通过所述第一进程调用所述SDK提供的API接口;所述第二进程根据所述调用从服务器获取目标数据;所述第二进程根据所述目标数据向所述第一进程提供程序功能。2.根据权利要求1所述的方法,其特征在于,所述宿主程序通过所述第一进程启动所述SDK对应的第二进程,包括:当所述宿主程序在启动后对所述SDK的所述API接口进行初始化时,所述SDK通过所述第一进程检测所述终端中的运行环境是否存在安全隐患;当所述运行环境不存在安全隐患时,所述SDK通过所述第一进程启动所述第二进程。3.根据权利要求2所述的方法,其特征在于,所述SDK通过所述第一进程检测所述终端中的运行环境是否存在安全隐患,包括:所述SDK通过所述第一进程检测所述终端中当前帐号是否获取了最高运行权限;和/或;所述SDK通过所述第一进程检测所述终端是否为模拟器所虚拟的终端;和/或;所述SDK通过所述第一进程检测所述宿主程序对应的第一进程是否被追踪。4.根据权利要求1至3任一所述的方法,其特征在于,所述第二进程根据所述调用从服务器获取目标数据,包括:所述第二进程通过非对称加密私钥与所述服务器协商本次会话的对称加密密钥;所述第二进程通过所述对称加密密钥加密后的会话连接,从所述服务器获取所述目标数据。5.根据权利要求4所述的方法,其特征在于,所述第二进程通过非对称加密私钥与所述服务器协商本次会话的对称加密密钥,包括:所述第二进程生成随机数;所述第二进程通过所述非对称加密私钥对所述随机数进行加密,得到第一加密结果;所述第二进程将所述第一加密结果发送给所述服务器;所述第二进程接收所述服务器发送的第二加密结果;所述第二进程通过所述非对称加密私钥对所述第二加密过程进行解密,得到会话标识和待验证密钥;所述第二进程在确定所述随机数和所述待验证密钥匹配时,将所述待验证密钥确定为本次会话的对称加密密钥。6.根据权利要求5所述的方法,其特征在于,所述第二进程通过非对称加密私钥与所述服务器协商本次会话的对称加密密钥之后,还包括:所述第二进程在所述对称加密密钥的存在时长达到预设有效时长时,重新通过所述非对称加密私钥与所述服务器协商下一个对称加密密钥。7.一种程序运行装置,应用于包括宿主程序模块的终端中,其特征在于,所述装置包括所述宿主程序模块和SDK模块,所述宿主程序模块是基于所述SDK模块进行二次开发的程序模块,所述宿主程序模...
【专利技术属性】
技术研发人员:冯广图,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。