车辆的程序控制方法、装置、车辆及存储介质

文档序号:1428890 发布日期:2020-03-17 浏览:28次 >En<

阅读说明:本技术 车辆的程序控制方法、装置、车辆及存储介质 (Program control method and device for vehicle, vehicle and storage medium ) 是由 王克坚 尚鑫 于 2019-11-11 设计创作,主要内容包括:本申请提出了车辆的程序控制方法、装置、车辆及存储介质。其中,一种车辆的程序控制方法,包括:响应于程序操作请求,确定所述程序操作请求是否为目标操作请求;在确定所述程序操作请求为所述目标操作请求时,确定所述目标操作请求对应的处于锁定状态的目标代码;对所述处于锁定状态的目标代码进行解锁操作,得到解锁状态的目标代码,其中,所述锁定状态表示所述目标代码不可执行,所述解锁状态表示所述目标代码可执行;通过所述解锁状态的目标代码执行相应的目标操作;在完成所述目标操作后,对所述处于解锁状态的目标代码进行锁定操作,得到锁定状态的目标代码。(The application provides a program control method and device for a vehicle, the vehicle and a storage medium. The program control method of the vehicle comprises the following steps: in response to a program operation request, determining whether the program operation request is a target operation request; when the program operation request is determined to be the target operation request, determining a target code in a locked state corresponding to the target operation request; unlocking the target code in the locked state to obtain the target code in the unlocked state, wherein the locked state represents that the target code is not executable, and the unlocked state represents that the target code is executable; executing corresponding target operation through the target code in the unlocking state; and after the target operation is finished, locking the target code in the unlocked state to obtain the target code in the locked state.)

车辆的程序控制方法、装置、车辆及存储介质

技术领域

本申请涉及车辆技术领域,特别涉及车辆的程序控制方法、装置、车辆及存储介质。

背景技术

车辆的系统程序(也可以称为中控系统)在运行过程中,存在程序指针跑飞的风险。换言之,系统程序的指针可能偶然跳转到系统程序的一段代码并执行。这里,偶然执行的代码例如可能是擦除或者写入代码等关键代码。因此,目前的系统程序存在关键代码被意外执行的风险,而造成安全隐患。

发明内容

根据本申请一个方面,提供一种车辆的程序控制方法,包括:

响应于程序操作请求,确定所述程序操作请求是否为目标操作请求;

在确定所述程序操作请求为所述目标操作请求时,确定所述目标操作请求对应的处于锁定状态的目标代码;

对所述处于锁定状态的目标代码进行解锁操作,得到解锁状态的目标代码,其中,所述锁定状态表示所述目标代码不可执行,所述解锁状态表示所述目标代码可执行;

通过所述解锁状态的目标代码执行相应的目标操作;

在完成所述目标操作后,对所述处于解锁状态的目标代码进行锁定操作,得到锁定状态的目标代码。

在一些实施例中,所述目标操作请求为下述中任一种:对存储器的擦除操作请求或对存储器的写入操作请求。

在一些实施例中,所述处于锁定状态的目标代码为对原始的目标代码的二进制数据进行异或操作的结果;所述对所述处于锁定状态的目标代码进行解锁操作,包括:对所述处于锁定状态的目标代码的二进制数据进行异或操作。

在一些实施例中,所述处于锁定状态的目标代码为对原始的目标代码的二进制数据进行加密操作的结果;所述对所述处于锁定状态的目标代码进行解锁操作,包括:对所述处于锁定状态的目标代码的二进制数据进行解密操作。

在一些实施例中,所述处于锁定状态的目标代码为对原始的目标代码的二进制数据进行取反操作的结果;所述对所述处于锁定状态的目标代码进行解锁操作,包括:对所述处于锁定状态的目标代码的二进制数据进行取反操作。

在一些实施例中,所述车辆的中控系统加载有关于所述目标代码的二进制文件,所述二进制文件包括:文件头、初始化代码和所述目标代码,其中,所述文件头包括所述目标代码的起始地址,所述初始化代码用于执行与所述目标代码有关的初始化操作;所述确定所述目标操作请求对应的处于锁定状态的目标代码,包括:通过访问所述二进制文件的文件头,确定处于锁定状态的目标代码。

在一些实施例中,所述通过所述解锁状态的目标代码执行相应的目标操作,包括:执行所述初始化代码;调用所述解锁状态的目标代码,而执行所述目标操作。

根据本申请一个方面,提供一种车辆的程序控制装置,包括:

判断单元,响应于程序操作请求,确定所述程序操作是否为目标操作请求;

查询单元,在判断单元确定所述程序操作请求为所述目标操作请求时,确定所述目标操作请求对应的处于锁定状态的目标代码;

代码处理单元,对所述处于锁定状态的目标代码进行解锁操作,得到解锁状态的目标代码,其中,所述锁定状态表示所述目标代码不可执行,所述解锁状态表示所述目标代码可执行;

执行单元,通过所述解锁状态的目标代码执行相应的目标操作;

其中,在所述执行单元完成所述目标操作后,所述代码处理单元还用于对所述处于解锁状态的目标代码进行锁定操作,得到锁定状态的目标代码。

根据本申请一个方面,提供一种车辆,包括:处理器;存储器,存储有由所述处理器执行的程序,所述程序包括用于执行根据本申请的车辆的程序控制方法的指令。

根据本申请一个方面,提供一种存储介质,存储有程序,所述程序包括指令,所述指令当由中控设备执行时,使得中控设备执行车辆的程序控制方法的指令。

综上,本申请的程序控制方案,通过在正常的代码调用(非意外的代码执行)之前解锁目标代码,并且在代码调用之后重新锁定目标代码,能够防止意外执行目标代码,从而提高代码执行的安全性,并且能够极大提高车辆运行安全性。

附图说明

图1示出了根据本申请一些实施例的车辆的程序控制方法100的流程图;

图2示出了根据本申请一些实施例的二进制文件的结构示意图;

图3示出了根据本申请一些实施例的步骤S104的执行流程;

图4示出了根据本申请一些实施例的车辆的程序控制装置的示意图;

图5示出了根据本申请一些实施例的车辆的中控设备的组成结构图。

具体实施方式

为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请进一步详细说明。

在一些应用场景中,车辆的中控系统由于程序跑飞,而存在关键代码被意外执行的风险。为此,本申请提出了一种程序控制方案,能够提高车辆中程序执行的安全性。

图1示出了根据本申请一些实施例的车辆的程序控制方法100的流程图。方法100例如可以在车辆的中控系统中执行,但不限于此。这里,中控系统是指车辆中控设备的软件系统(例如中控设备的操作系统)。

在步骤S101中,响应于程序操作请求,确定程序操作请求是否为目标操作请求。目标操作请求是指车辆中对关键代码的操作。程序操作请求例如为操作系统的系统调用。关键代码例如为对非易失存储器进行擦除操作的代码、对存储器进行写入操作的代码等等。目标操作请求例如为对存储器的擦除操作请求或者对存储器的写入操作请求,但不限于此。这里,方法100通过步骤S101可以对待执行的程序操作请求进行类型判断,从而确定待执行的程序操作请求是否为预定的目标操作请求。

在步骤S101确定所述程序操作请求为所述目标操作请求时,方法100可以执行步骤S102,确定目标操作请求对应的处于锁定状态的目标代码。其中,锁定状态表示目标代码不可执行。这里,对目标代码的锁定操作例如可以是对原始的目标代码的二进制数据进行取反操作或者异或操作而得到的结果。又例如,锁定状态的目标代码是对原始的目标代码的二进制数据进行加密操作而得到的结果。总之,锁定状态的目标代码是指通过预定数据修改方式(即加密、异或、取反等等)修改原始的目标代码。在车辆的中控系统出现程序跑飞等情况时,本申请的实施例通过锁定目标代码,可以避免关键代码(即目标代码)被意外执行的情况发生,从而提高代码执行的安全性。

在步骤S103中,对处于锁定状态的目标代码进行解锁操作,得到解锁状态的目标代码。解锁状态表示目标代码可执行。换言之,解锁状态的目标代码为未锁定的目标代码,是可以被执行的原始代码。

例如,在处于锁定状态的目标代码为对原始的目标代码的二进制数据进行异或操作的结果时,步骤S103可以对处于锁定状态的目标代码的二进制数据进行异或操作,从而得到解锁状态的目标代码。

又例如,在处于锁定状态的目标代码为对原始的目标代码的二进制数据进行加密操作的结果时,步骤S103可以对处于锁定状态的目标代码的二进制数据进行解密操作。这里,加密操作的方式可以是各种进行数据加密的算法,本申请对此不做限制。解密操作与加密操作的方式对应。

又例如,在处于锁定状态的目标代码为对原始的目标代码的二进制数据进行取反操作的结果时,步骤S103可以对处于锁定状态的目标代码的二进制数据进行取反操作,而得到解锁状态的目标代码。

在步骤S103获取解锁状态的目标代码后,方法100可以执行步骤S104,通过解锁状态的目标代码执行相应的目标操作。

在步骤S104完成目标操作后,方法100可以执行步骤S105,对处于解锁状态的目标代码进行锁定操作,得到锁定状态的目标代码。这里,锁定操作是加密、异或、取反等对可执行的目标代码进行修改的操作。

综上,本申请的程序控制方案,通过在正常的代码调用(非意外的代码执行)之前解锁目标代码,并且在代码调用之后重新锁定目标代码,能够防止意外执行目标代码,从而提高代码执行的安全性,并且能够极大提高车辆运行安全性。

在一些实施例中,车辆的中控系统加载有关于目标代码的二进制文件。这里,二进制文件包括文件头、初始化代码和目标代码。其中,文件头包括目标代码的起始地址。初始化代码用于执行与目标代码有关的初始化操作。例如,图2示出了根据本申请一些实施例的二进制文件的结构示意图。

如图2所示,二进制文件200包括文件头201、初始化代码202、擦除函数203和写入函数204。其中,擦除函数203为一段目标代码。写入函数204也是一段目标代码。文件头201包括擦除函数203的起始地址,以及写入函数204的起始地址。起始地址是指目标代码在内存中的起始地址。

以存储器驱动为例,目标代码包括对存储器的擦除函数203和对存储器的写入函数204。步骤S104可以包括两个步骤S1041和S1042。在步骤S1041中,执行初始化代码。这里,初始化代码对应的操作为与存储器驱动相关寄存器和相关参数的初始化操作。在步骤S1042中,调用解锁状态的目标代码,而执行目标操作。

这里,二进制文件200是关于目标代码的源程序编译后的可执行文件,处于系统程序中。步骤S102通过访问二进制文件的文件头,可以确定处于锁定状态的目标代码。尽管图2中二进制文件200仅示出了两个目标代码,但目标代码数量可以少于或多于两个,本申请对此不做限制。

另外强调的是,本申请的实施例通过单独生成关于目标代码的二进制文件,使得系统程序能够通过二进制文件找到目标代码的起始地址,从而能够对目标代码进行锁定和解锁操作。

图4示出了根据本申请一些实施例的车辆的程序控制装置的示意图。如图4所示,程序控制装置400包括:判断单元401、查询单元402、代码处理单元403和执行单元404。

判断单元401可以响应于程序操作请求,确定程序操作请求是否为目标操作请求。

在判断单元401确定程序操作请求为目标操作请求时,查询单元402可以确定目标操作请求对应的处于锁定状态的目标代码。锁定状态表示目标代码不可执行。

代码处理单元403可以对处于锁定状态的目标代码进行解锁操作,得到解锁状态的目标代码。解锁状态表示目标代码可执行。

执行单元404可以通过解锁状态的目标代码执行相应的目标操作。

其中,在执行单元404完成目标操作后,代码处理单元403还用于对处于解锁状态的目标代码进行锁定操作,得到锁定状态的目标代码。

综上,本申请的程序控制装置400,通过在正常的代码调用(非意外的代码执行)之前解锁目标代码,并且在代码调用之后重新锁定目标代码,能够防止意外执行目标代码,从而提高代码执行的安全性,并且能够极大提高车辆运行安全性。另外,装置400更具体的实施方式与方法100类似,这里不再赘述。

图5示出了一个车辆的中控设备的组成结构图。如图5所示,该计算设备包括一个或者多个处理器(CPU)502、通信模块504、存储器506、用户接口510,以及用于互联这些组件的通信总线508。

处理器502可通过通信模块504接收和发送数据以实现网络通信和/或本地通信。

用户接口510包括一个或多个输出设备512,其包括一个或多个扬声器和/或一个或多个车辆仪表台上的显示器。用户接口510也包括一个或多个输入设备514。输入设备514例如为车辆仪表台的触摸屏、方向盘的操作按钮,但不限于此。

存储器506可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。

存储器506存储处理器502可执行的指令集,包括:

中控系统516,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序。中控系统516例如可以存储图4所示的二进制文件200。还可以包括实现上述程序控制方法100的各种程序,这种程序能够实现上述各实例中的处理流程,比如可以包括图4的程序控制装置400。

另外,本申请的每一个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。

因此本申请还公开了一种非易失性存储介质,其中存储有数据处理程序,该数据处理程序用于执行本申请上述程序控制方法的任何一种实例。

另外,本申请所述的方法步骤除了可以用数据处理程序来实现,还可以由硬件来实现,例如,可以由逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器和嵌微控制器等来实现。因此这种可以实现本申请所述方法的硬件也可以构成本申请。

以上所述仅为本申请的较佳实例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于深度置信网络的电网虚拟数据注入攻击的检测方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类