具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,一种控制应用运行的方法,包括如下步骤:
步骤S110,加载待监控的应用。
本实施例中,应用是安装于移动设备的,待监控的应用是移动设备中即将进行安全扫描或被触发运行的应用。
步骤S130,在构建的运行环境运行加载的应用。
本实施例中,构建的运行环境是介于应用和操作系统之间的中间层,具体的,构建的运行环境即为沙箱,是在操作系统上搭建出来的一个受限的安全环境,使得运行于其中的应用不会对操作系统造成破坏。
在构建的运行环境这样一个独立空间触发运行应用,运行过程中若产生应用运行出错或者其它问题,则可将其终止,并进行清理即可,保障了操作系统的稳定运行,进而提高安全性。
在运行应用的过程中将对应用所触发的操作时行记录,以监控应用的行为,进一步保证应用运行的安全性。
由于构建的运行环境是独立于操作系统的,因此在应用运行过程中若出现可疑操作或其它超范围操作,将可通过运行环境禁止可疑操作或者超范围操作,并生成该应用是可疑应用的提示信息,实现了应用的安全检测,以保证操作系统安全。
步骤S150,根据预设的运行配置在运行环境中执行相应的操作,并根据该操作处理应用中触发的系统调用。
本实施例中,运行配置是针对与运行的应用相关的数据或应用的行为所设定的配置信息,进而使得应用在运行过程中需要触发系统调用的情况下能够按照运行配置对与运行的应用相关的数据或应用的行为进行有效控制,通过触发一定的操作使得数据和应用是受控的,以根据该操作处理应用中触发的系统调用。
具体的,所执行的操作可以是数据的加密、清除或切换等操作,也可以是对移动设备所触发的重置操作,还可以是禁用应用中某一功能的操作,执行的操作将根据运行配置所涉及的数据管理或应用管理确定,在此不一一进行限定。
应用在构建的运行环境中运行时即将触发系统调用,并且该系统调用是与运行配置相关的,则在根据预设的运行配置执行相应的操作之后,方可根据该操作处理应用中触发的系统调用。
上述控制应用运行的方法中,通过预设的运行配置在应用进行系统调用之前执行所需要的操作,然后再进行系统调用,所执行的操作可根据数据管理和应用管理的需要进行设置,保证了数据和应用运行是受控的,并提高了可扩展性。
如图2所示,在一个实施例中,上述步骤S110包括:
步骤S111,读取待监控应用的应用执行文件。
本实施例中,应用执行文件则是应用的执行程序,例如,在Android操作系统中,应用执行文件是以“dex”为后缀的文件,即,Android Dalvik执行程序。
操作系统中构建的运行环境在执行应用时,将读取该应用的应用执行文件,以便于执行应用执行文件。
步骤S113,将应用执行文件中的应用程序接口函数重定向到构建的运行环境。
本实施例中,对应用执行文件进行预处理,以控制应用执行文件的运行过程中触发的系统调用均重定向到构建的运行环境,进而也保证了应用运行过程中所有行为均是受控的。
应用执行文件中的应用程序接口函数用于实现应用与操作系统之间的通信,是告之操作系统所要执行的任务的接口。在加载应用执行文件的过程中,将应用程序执行文件中的应用程序接口函数进行修改,以使得原本操作系统所需要执行的任务是由构建的运行环境执行的,这一过程对于运行的应用而言是透明无差别的,不会影响应用的正常稳定运行,但是却使得应用中触发的系统调用也能进行控制,以保证系统调用的安全性。
进一步的,应用执行文件的修改实质为向应用执行文件加入行为监控点的过程。具体的,获取运行配置,根据运行配置即可得到所需要监控的系统调用,进而将对应的应用程序接口函数重定向到构建的运行环境。
如图3所示,在一个实施例中,上述步骤S130包括:
步骤S131,根据配置文件解析应用得到应用执行文件的组件。
本实施例中,应用所对应的文件包将包括了配置文件和应用执行文件,配置文件中记录了注册的组件名称等信息,运用JAVA反射机制对处于运行状态的应用进行解析,以得到应用执行文件所包含的若干个组件,并得到与组件所对应的组件代理。
进一步的,构建的运行环境提供了四大类型组件所对应的组件代理,分别是:Activity代理、Service代理、BroadCastReceiver代理和Content Provider代理,每一组件代理均是属于同一类型的组件对应的,例如,Activity代理是与Activity组件关联的。
根据配置文件中注册的组件对应用执行文件是行解析,以得到应用执行文件中的组件。
步骤S133,触发运行应用得到处于运行状态的组件,通过代理模式在构建的运行环境中实现组件的运行。
本实施例中,随着应用的运行触发运行组件,此时将得到处理运行状态的组件,进而通过对应的组件代理在构建的运行环境中实现该组件的运行。
进一步的,组件代理将在配置文件中提取得到处于运行状态的组件所对应的类名,通过反射相关函数对该类进行实例化,并调用相应的固定入口函数,其中,反射相关函数即为JAVA反射机制相关的函数;固定入口函数为应用运行的入口点,如,为实现应用的启动则应当调用onCreate函数,因此,反射相关函数可为Class.forName,method.invoke等,固定入口函数可为onCreate、onStart、onRestart、onResume、onStop和onDestroy等。
如图4所示,在一个实施例中,上述步骤S150包括:
步骤S151,判断运行的组件是否触发系统调用,若是,则进入步骤S153,若否,则不做处理。
本实施例中,应用运行过程中判断运行的组件是否触发系统调用,若是,则需要将触发的系统调用重定向到运行环境,以使得触发的系统调用也是受控的,进而保证操作系统自身安全。
步骤S153,将组件触发的系统调用重定向到运行环境中,并根据预设的运行配置执行相应的操作。
本实施例中,获取预设的运行配置,将组件触发的系统调用重定向到运行环境之后,根据预设的运行配置获知该系统调用处于记录的配置信息中,此时将根据运行配置执行了相应操作之后方可实现系统调用。其中,运行配置的获取是通过设置的控制接口实现的,该运行配置可以是服务器下发的配置,也可以是本地用户设置的配置。
例如,触发的系统调用可为数据的写操作调用,在触发进行数据的写操作调用时,将读取预设的运行配置,从运行配置中提取得到写操作的数据需要加密的配置信息,此时将对写操作的数据执行加密操作,完成加密操作之后,将根据加密操作执行完毕的执行结果调用系统文件写操作写入加密的数据。
步骤S155,获取该操作的执行结果,并根据执行结果处理系统调用。
本实施例中,根据操作的执行结果获知所执行操作是否成功执行完毕,若成功执行完毕,则处理触发的系统调用。
如图5所示,在一个实施例中,上述步骤S155包括:
步骤S1551,获取执行操作生成的执行结果。
步骤S1553,根据执行结果禁用或执行系统调用。
本实施例中,通过执行结果获取该操作成功执行完毕之后,将禁用或执行触发的系统调用。例如,触发的系统调用为应用调用拍照功能,根据预设的运行配置将执行禁用拍照功能的操作,此时,在禁用拍照功能的操作执行完毕之后,将禁用触发的系统调用,实现了移动设备中的应用管理,以使得移动设备无法进行拍照。
下面结合一个具体的实施例来详细阐述上述控制应用运行的方法。该实施例中,如图6所示,上述控制应用运行的方法将构建了一个控制应用运行的程序610,在该操作610启动或运行某一应用630时,将对应用630进行安全监测。
控制应用运行的程序610加载应用630,运行于构建的运行环境中,并通过控制接口读取服务器或本地用户设置的运行配置,以根据运行配置在运行环境中对应用630运行时产生的数据进行加密、清除或切换等数据管理操作,或者进行设置重置、禁用应用中的某些功能的应用管理操作,进而根据操作的执行结果处理应用中触发的系统调用。
进一步的,如图7所示,在加载应用的过程中通过步骤S710对应用进行解析,以分解应用得到应用中的组件,并通过提供的Activity代理(Activity ManagerProxy,活动组件代理类)、Service代理(Service Manager Proxy,服务组件代理类)、BroadCast Receiver代理(Broad CastReceiver Proxy,广播接收器代理类)和Content Provider代理(Content Provider Proxy,内容提供者代理类)在运行环境中通过代理模式实现组件的功能,进而实现应用在运行环境中的运行。
运行的应用触发系统调用时,将通过步骤S730将其重定向到运行环境,以根据运行配置进行数据管理操作、应用管理操作或行为监控。
此外,还将在构建的运行环境中对应用进行安全检测,以保证操作系统的安全性。
如图8所示,在一个实施例中,一种控制应用运行的装置,包括加载模块110、运行模块130和控制模块150。
加载模块110,用于加载待监控的应用。
本实施例中,应用是安装于移动设备的,待监控的应用是移动设备中即将进行安全扫描或被触发运行的应用。
运行模块130,用于在构建的运行环境运行加载的应用。
本实施例中,构建的运行环境是介于应用和操作系统之间的中间层,具体的,构建的运行环境即为沙箱,是在操作系统上搭建出来的一个受限的安全环境,使得运行于其中的应用不会对操作系统造成破坏。
运行模块130在构建的运行环境这样一个独立空间触发运行应用,运行过程中若产生应用运行出错或者其它问题,则可将其终止,并进行清理即可,保障了操作系统的稳定运行,进而提高安全性。
运行模块130在运行应用的过程中将对应用所触发的操作时行记录,以监控应用的行为,进一步保证应用运行的安全性。
由于构建的运行环境是独立于操作系统的,因此运行模块130对应用运行过程中若出现可疑操作或其它超范围操作,将可通过运行环境禁止可疑操作或者超范围操作,并生成该应用是可疑应用的提示信息,实现了应用的安全检测,以保证操作系统安全。
控制模块150,用于根据预设的运行配置在运行环境中执行相应的操作,并根据该操作处理应用中触发的系统调用。
本实施例中,运行配置是针对与运行的应用相关的数据或应用的行为所设定的配置信息,进而使得应用在运行过程中需要触发系统调用的情况下能够按照运行配置对与运行的应用相关的数据或应用的行为进行有效控制,控制模块150通过触发一定的操作使得数据和应用是受控的,以根据该操作处理应用中触发的系统调用。
具体的,控制模块150所执行的操作可以是数据的加密、清除或切换等操作,也可以是对移动设备所触发的重置操作,还可以是禁用应用中某一功能的操作,执行的操作将根据运行配置所涉及的数据管理或应用管理确定,在此不一一进行限定。
应用在构建的运行环境中运行时即将触发系统调用,并且该系统调用是与运行配置相关的,则控制模块150在根据预设的运行配置执行相应的操作之后,方可根据该操作处理应用中触发的系统调用。
上述控制应用运行的装置中,通过预设的运行配置在应用进行系统调用之前执行所需要的操作,然后再进行系统调用,所执行的操作可根据数据管理和应用管理的需要进行设置,保证了数据和应用运行是受控的,并提高了可扩展性。
如图9所示,在一个实施例中,上述加载模块110包括读取单元111和重定向设置单元113。
读取单元111,用于读取待监控应用的应用执行文件。
本实施例中,应用执行文件则是应用的执行程序,例如,在Android操作系统中,应用执行文件是以“dex”为后缀的文件,即,Android Dalvik执行程序。
操作系统中构建的运行环境在执行应用时,读取单元111将读取该应用的应用执行文件,以便于执行应用执行文件。
重定向设置单元113,用于将应用执行文件中应用程序接口函数重定向到构建的运行环境。
本实施例中,重定向设置单元113对应用执行文件进行预处理,以控制应用执行文件的运行过程中触发的系统调用均重定向到构建的运行环境,进而也保证了应用运行过程中所有行为均是受控的。
应用执行文件中的应用程序接口函数用于实现应用与操作系统之间的通信,是告之操作系统所要执行的任务的接口。在加载应用执行文件的过程中,重定向设置单元113将应用程序执行文件中的应用程序接口函数进行修改,以使得原本操作系统所需要执行的任务是由构建的运行环境执行的,这一过程对于运行的应用而言是透明无差别的,不会影响应用的正常稳定运行,但是却使得应用中触发的系统调用也能进行控制,以保证系统调用的安全性。
进一步的,应用执行文件的修改实质为向应用执行文件加入行为监控点的过程。具体的,重定向设置单元113获取运行配置,根据运行配置即可得到所需要监控的系统调用,进而将对应的应用程序接口函数重定向到构建的运行环境。
如图10所示,在一个实施例中,上述运行模块130包括解析单元131和代理单元133。
解析单元131,用于根据配置文件解析应用得到应用执行文件的组件。
本实施例中,应用所对应的文件包将包括了配置文件和应用执行文件,配置文件中记录了注册的组件名称等信息,解析单元131运用JAVA反射机制对处于运行状态的应用进行解析,以得到应用执行文件所包含的若干个组件,并得到与组件所对应的组件代理。
进一步的,构建的运行环境提供了四大类型组件所对应的组件代理,分别是:Activity代理、Service代理、BroadCastReceiver代理和Content Provider代理,每一组件代理均是属于同一类型的组件对应的,例如,Activity代理是与Activity组件关联的。
解析单元131根据配置文件中注册的组件对应用执行文件是行解析,以得到应用执行文件中的组件。
代理单元133,用于触发运行应用得到处于运行状态的组件,通过代理模式在构建的运行环境中实现组件的运行。
本实施例中,随着应用的运行触发运行组件,此时代理单元133将得到处理运行状态的组件,进而通过对应的组件代理在构建的运行环境中实现该组件的运行。
进一步的,代理单元133通过组件代理将在配置文件中提取得到处于运行状态的组件所对应的类名,通过反射相关函数对该类进行实例化,并调用相应的固定入口函数,其中,反射相关函数即为JAVA反射机制相关的函数;固定入口函数为应用运行的入口点,如,为实现应用的启动则应当调用onCreate函数,因此,反射相关函数可为Class.forName,method.invoke等,固定入口函数可为onCreate、onStart、onRestart、onResume、onStop和onDestroy等。
如图11所示,在一个实施例中,上述控制模块150包括判断单元151、重定向单元153和处理单元155。
判断单元151,用于判断运行的组件是否触发系统调用,若是,则通知重定向单元153,若否,则不做处理。
本实施例中,应用运行过程中判断单元151判断运行的组件是否触发系统调用,若是,则需要通知重定向单元153将触发的系统调用重定向到运行环境,以使得触发的系统调用也是受控的,进而保证操作系统自身安全。
重定向单元153,用于将组件触发的系统调用重定向到运行环境中,并根据预设的运行配置执行相应的操作。
本实施例中,重定向单元153获取预设的运行配置,将组件触发的系统调用重定向到运行环境之后,根据预设的运行配置获知该系统调用处于记录的配置信息中,此时将根据运行配置执行了相应操作之后方可实现系统调用。其中,运行配置的获取是通过设置的控制接口实现的,该运行配置可以是服务器下发的配置,也可以是本地用户设置的配置。
例如,触发的系统调用可为数据的写操作调用,在触发进行数据的写操作调用时,重定向单元153将读取预设的运行配置,从运行配置中提取得到写操作的数据需要加密的配置信息,此时将对写操作的数据执行加密操作,完成加密操作之后,将根据加密操作执行完毕的执行结果调用系统文件写操作写入加密的数据。
处理单元155,用于获取该操作的执行结果,根据执行结果处理系统调用。
本实施例中,处理单元155根据操作的执行结果获知所执行操作是否成功执行完毕,若成功执行完毕,则处理触发的系统调用。
如图12所示,在一个实施例中,上述处理单元155包括结构获取单元1551和调用处理单元1553。
结果获取单元1551,用于获取执行该操作生成的执行结果。
调用处理单元1553,用于根据执行结果禁用或执行系统调用。
本实施例中,通过执行结果获取该操作成功执行完毕之后,调用处理单元1553将禁用或执行触发的系统调用。例如,触发的系统调用为应用调用拍照功能,根据预设的运行配置将执行禁用拍照功能的操作,此时,在禁用拍照功能的操作执行完毕之后,将禁用触发的系统调用,实现了移动设备中的应用管理,以使得移动设备无法进行拍照。
上述控制应用运行的方法和装置,通过构建的运行环境为应用的运行提供一个受控的安全环境,从而实现了数据和应用的有效管理,尤其是在移动设备通过应用访问企业数据,例如邮件和企业文档的情况下,将能够对数据进行安全保护。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
本发明实施例还提供了另一种控制应用运行的装置,如图13所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。运行该装置的终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图13示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图13,手机包括:射频(Radio Frequency,RF)电路1310、存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、无线保真(wirelessfidelity,WiFi)模块1370、处理器1380、以及电源1390等部件。本领域技术人员可以理解,图13中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图13对手机的各个构成部件进行具体的介绍:
RF电路1310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1380处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路130还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、长期演进(Long TermEvolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1320可用于存储软件程序以及模块,处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1330可用于接收输入的数字或字符信息,以及产生与手机1300的用户设置以及功能控制有关的键信号输入。具体地,输入单元1330可包括触控面板1331以及其他输入设备1332。触控面板1331,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1331上或在触控面板1331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1380,并能接收处理器1380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1331。除了触控面板1331,输入单元1330还可以包括其他输入设备1332。具体地,其他输入设备1332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1340可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1340可包括显示面板1341,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1341。进一步的,触控面板1331可覆盖显示面板1341,当触控面板1331检测到在其上或附近的触摸操作后,传送给处理器1380以确定触摸事件的类型,随后处理器1380根据触摸事件的类型在显示面板1341上提供相应的视觉输出。虽然在图13中,触控面板1331与显示面板1341是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1331与显示面板1341集成而实现手机的输入和输出功能。
手机1300还可包括至少一种传感器1350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1341的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1341和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1360、扬声器1361,传声器1362可提供用户与手机之间的音频接口。音频电路1360可将接收到的音频数据转换后的电信号,传输到扬声器1361,由扬声器1361转换为声音信号输出;另一方面,传声器1362将收集的声音信号转换为电信号,由音频电路1360接收后转换为音频数据,再将音频数据输出处理器1380处理后,经RF电路1310以发送给比如另一手机,或者将音频数据输出至存储器1320以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了WiFi模块1370,但是可以理解的是,其并不属于手机1300的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1380是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1380可包括一个或多个处理单元;优选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。
手机1300还包括给各个部件供电的电源1390(比如电池),优选的,电源可以通过电源管理系统与处理器1380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机1300还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器1380还具有以下功能:
加载待监控的应用;
在构建的运行环境运行加载的应用;
根据预设的运行配置在运行环境中执行相应的操作,并根据操作处理应用中触发的系统调用。
进一步的,加载待监控的应用的步骤包括:
读取待监控应用的应用执行文件;
将应用执行文件中的应用程序接口函数重定向到构建的运行环境。
进一步的,在构建的运行环境运行加载的应用的步骤包括:
根据配置文件解析应用得到应用执行文件的组件;
触发运行应用得到处于运行状态的组件,通过代理模式在构建的运行环境中实现组件的运行。
进一步的,根据预设的运行配置在运行环境中执行相应的操作,并根据操作处理应用中触发的系统调用的步骤包括:
判断运行的组件是否触发系统调用,若是,则
将组件触发的系统调用重定向到运行环境中,并根据预设的运行配置执行相应的操作;
获取操作的执行结果,根据执行结果处理系统调用。
进一步的,获取操作的执行结果根据执行结果处理系统调用的步骤包括:
获取执行操作生成的执行结果;
根据执行结果禁用或执行系统调用。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。