一种获取Root权限的方法、装置、电子设备及存储介质与流程

文档序号:17479309发布日期:2019-04-20 06:20阅读:231来源:国知局
一种获取Root权限的方法、装置、电子设备及存储介质与流程

本申请涉及it(informationtechnology,信息技术)技术领域领域,具体涉及一种获取root权限的方法、装置、电子设备及存储介质。



背景技术:

基于uinux诞生的操作系统,从linux系列到智能终端的android操作系统,均存在严格的用户管理机制。其中,以android系统为例,系统最高权限账户叫做root,该账户拥有最高级别的权限管理机制,可以增加或者删除用户,也可以启动或者停止一个进程,甚至能够增加和禁用硬件等等。谷歌和终端厂商为了保障普通用户的设备安全,在智能终端出厂时,并未开放root权限,但一些极客用户,想要对智能终端的系统进行差异化定制,需要获取root权限。

目前获取root的方法有很多种,第三方root工具成为极客用户们的一种选择,但是这种root方法不安全,root操作会涉及到操作系统的底层核心,可能导致系统不稳定,甚至奔溃,而且第三方的root工具可能存在病毒,盗取用户的个人信息,安全性差。

申请内容

本申请实施例提供一种获取root权限的方法、装置、电子设备及存储介质,通过服务器根据手机标识信息生成的加密文件,在电子设备中对加密文件的授权信息进行验证,然后关闭电子设备的保护机制,最终获取root权限。提升了获取root权限过程中的安全性。

为了解决以上技术问题,本申请提出了以下技术方案:

第一方面,本申请实施例提供了一种获取root权限的方法,其中包括:

向服务器发送电子设备的标识信息,所述标识信息包括所述电子设备的机器码;

接收并保存服务器根据所述机器码生成的加密文件,所述加密文件包括授权信息;

重启所述电子设备进入引导程序;

在所述引导程序内验证所述授权信息的合法性;

若所述授权信息验证合法,则关闭所述电子设备的保护机制,发送授权文件至系统分区,以获取所述电子设备的root权限。

第二方面,本申请实施例提供了一种获取root权限的装置,其中包括:

发送模块、获取模块、重启模块、验证模块及授权模块。

所述发送模块,用于向服务器发送电子设备的标识信息,所述标识信息包括所述电子设备的机器码;

所述获取模块,用于接收并保存服务器根据所述机器码生成的加密文件,所述加密文件包括授权信息;

所述重启模块,用于重启所述电子设备进入引导程序;

所述验证模块,用于在所述引导程序内验证所述授权信息的合法性;

所述授权模块,用于关闭所述电子设备的保护机制,发送授权文件至系统分区,以获取所述电子设备的root权限。

第三方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述获取root权限方法的步骤。

第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述获取root权限方法的步骤。

本实施例中通过将电子设备的标识信息发送至服务器,服务器根据电子设备的标识信息生成一个加密文件,然后通过将加密文件拷贝到第一预设分区,重启电子设备进入引导程序,在引导程序内对加密文件内的授权信息进行验证,验证授权信息的合法的情况下,关闭电子设备的保护机制,将授权文件写入到系统分区内,从而完成获取root权限的过程。保证了获取root权限过程中的安全性,降低了获取root权限的难度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的获取root权限方法的第一流程示意图。

图2是本申请实施例提供的获取root权限方法的第二流程示意图。

图3是本申请实施例提供的验证授权信息合法性的流程示意图。

图4是本申请实施例提供的配置dm-verity的流程示意图。

图5是本申请实施例提供的配置selinux模式的流程示意图。

图6是本申请实施例提供的获取root权限装置的结构示意图。

图7是本申请实施例提供的电子设备的结构示意图。

具体实施方式

请参照图式,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在以下的说明中,本申请的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本申请原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。

本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。

本申请实施例提供一种root授权的方法、装置、电子设备及存储介质。以下分别进行详细说明。

请参阅图1,图1是本申请实施例提供的root授权方法的第一流程示意图,该方法应用于智能手机、平板电脑、智能电视等电子设备。其中该方法步骤包括:

在步骤s101中,向服务器发送电子设备的标识信息。

可以理解的是,电子设备在进行root的过程中,首先根据获取电子设备的系统版本、型号、sn(serialnumber,产品序列号、机器码)、imei(internationalmobileequipmentidentity,国际移动设备身份码)等信息,然后将这些信息生成一个标识信息发送至服务器。

在一实施例中,服务器可以根据电子设备的系统版本,例如基于android4.1版本或者基于android6.0版本的手机系统在进行获取root权限时需要的授权方式和授权文件可以是不同的,服务器在获取电子设备系统版本后可以根据电子设备当前所搭载的系统版本信息来得到授权文件。

在步骤s102中,接收并保存服务器根据所述机器码生成的加密文件。

服务器在接收到电子设备发送来的标识信息时,会对标识信息进行分析识别,得到电子设备的系统版本、型号、sn(serialnumber,产品序列号、机器码)、imei(internationalmobileequipmentidentity,国际移动设备身份码)等信息,然后根据这些信息,生成一个加密文件,加密文件里面含有授权文件和授权信息。

在一实施例中,服务器端根据标识信息获取到sn码后,然后通过计算得到sn码的加密值,再利用私钥进行加密签名,例如采用rsa方式进行签名,rsa加密算法是一种非对称加密算法,得到的私钥只保存在服务器中,防止保存在电子设备中导致私钥泄露,在无法获得私钥的情况下,则签名的加密文件无法仿制,保证了电子设备在获取root权限过程中的安全性。

需要说明的是,服务器保存的私钥和预置在电子设备中的公钥是匹配的,在进行验证的过程中,通过两者的匹配来进行验证。

在服务器根据获取的标识信息生成加密文件之后,电子设备通过网络下载加密文件至本地存储,或者服务器可主动发送加密文件至电子设备,电子设备在获取加密文件之后,进行下一步骤。

在步骤s103中,重启所述电子设备进入引导程序。

可以理解的是,在电子设备获取到加密文件之后,会设置一个属性值,通过系统进程来检测属性值的变化,从而把获取的加密文件拷贝到第一预设分区,由于第一预设分区是电子设备中的应用程序不能进行写操作,所以需要通过利用设置属性值的方式来启动进程把加密文件拷贝至第一预设分区。

在拷贝完成后,通过调用系统中的电源管理服务来重启电子设备进入引导程序,进行下一步骤。

在步骤s104中,在引导程序内验证授权信息的合法性。

可以理解的是,在进入引导程序后,通过对第一预设分区内的加密文件内的授权信息进行验证,验证的方式有多种,比如利用预置在电子设备内与加密文件内的授权信息匹配的解密信息进行解密,或者通过电子设备对加密文件内的授权信息进行计算等等方式,最后判定出加密文件内的授权信息是否合法,判定方式可以为利用授权信息和预置信息进行对比,或者利用授权信息和预置信息配对等方式来确定授权信息的合法性。

在一实施例中,在重启手机的情况下,通过获取中央处理器中的机器码来进行计算的到第一加密值。调用第一预设分区内的加密文件,然后利用第二预设分区内预置的公钥对加密文件进行解密,得到第二加密值,如果第一加密值和第二加密值相等,则说明加密文件的授权信息是合法的,若两者不相等,则说明加密文件内的授权信息是不合法的。

在步骤s105中,若授权信息验证合法,则关闭电子设备的保护机制,发送授权文件至系统分区。

可以理解的是,在验证加密文件的授权信息是合法的情况下,由于电子设备存在保护机制,需要关闭电子设备的保护机制才能使授权文件写入系统分区内,例如,在电子设备的寄存器之中,存在写保护,在没有获得写权限的情况下,任何应用程序都不能修改系统分区内的东西,任何文件都不能写入系统分区内。电子设备存在独立的验证机制,这个验证机制可以对电子设备或者电子设备分区进行保护,保证两者的完整性。又比如,在linux系统内有selinux安全子系统,可以最大限度地减少系统中服务进程可访问的资源,防止黑客利用网络服务漏洞以root的身份来控制电子设备。

要获取最高用户权限,需要关闭电子设备的保护机制,才能使授权文件正常写入系统分区内,从而获取root权限。

需要说明的是,电子设备的分区除了系统分区之外,还存在其他分区,本实施例中记载的预设分区是独立于系统之外的分区,电子设备的系统包括操作系统和其他系统。

综上所述,本实施例中通过将电子设备的标识信息发送至服务器,服务器根据电子设备的标识信息生成一个加密文件,然后通过将加密文件拷贝到第一预设分区,重启电子设备进入引导程序,在引导程序内对加密文件内的授权信息进行验证,验证授权信息的合法的情况下,关闭电子设备的保护机制,将授权文件写入到系统分区内,从而完成获取root权限的过程,本实施例中,通过发送标识信息,下载加密文件,再进行验证的方式,完成了root权限的获取,保证了获取root权限过程中的安全性,同时也降低了用户获取root权限的难度。

请参阅图2,图2是本发明实施例提供的root授权方法的第二流程示意图,在本实施例中,以目前用户常用的智能手机为例,将获取root权限的方法进行详细说明,本实施例中记载的方法不仅仅局限于智能手机,同时也适用于智能电视、平板电脑等电子设备。该方法具体包括以下步骤:

在步骤s201中,将手机的标识信息发送至服务器。

可以理解的是,手机的标识信息包括系统版本、型号、sn(serialnumber,产品序列号、机器码)、imei(internationalmobileequipmentidentity,国际移动设备身份码)等信息,手机将标识信息发送至服务器,服务器通过标识信息来生成对应的加密文件,加密文件中包含授权信息和授权文件。

例如,手机通过下载获取root权限所需要的应用程序,然后在应用程序界面中点击获取root权限功能的按钮,应用程序就会获取手机的标识信息,然后通过网络发送至服务器。

在步骤s202中,服务器根据标识信息生成加密文件,获取加密文件。

服务器在接收到标识信息之后,根据手机发送的获取root权限请求,根据标识信息生成一个加密文件,然后再通过网络发送至手机,手机对加密文件进行保存。

例如,服务器在接收到手机应用程序发送的标识信息之后,通过对标识信息的分析,得到系统版本、型号、sn(serialnumber,产品序列号、机器码)、imei(internationalmobileequipmentidentity,国际移动设备身份码)等信息,其中,上传到服务器的国际移动设备身份码等信息数据可以用于售后统计数据。然后根据手机的型号和系统版本来确定需要执行的root获取的解决方案,根据对应的方案来生成加密文件,具体地,比如手机的型号为a,系统版本为基于android6.0的系统,则对应生成a型号手机和手机对应的系统版本的加密文件。然后手机通过网络将加密文件下载至本地存储。

服务器根据标识信息生成加密文件,可以是根据机器码生成加密文件,由于机器码是手机中央处理器芯片读出的唯一值,可以保证唯一性。

例如,服务器从接收到的标识信息中获取机器码,然后对机器码机型md5值计算,其中md5是消息摘要算法(md5message-digestalgorithm),然后再利用私钥进行rsa签名,其中rsa加密算法是一种非对称加密算法,得到的私钥只保存在服务器中,防止保存在电子设备中导致私钥泄露,在无法获得私钥的情况下,则签名的加密文件无法仿制,保证了电子设备在获取root权限过程中的安全性,对应的,在手机内会预置与私钥匹配的公钥,再后续的验证步骤中,利用公钥对加密文件进行解密才能获取加密文件中的信息。

需要说明的是,服务器根据标识信息生成加密文件的方式不仅仅是根据机器码生成,也可以是根据手机出厂时内置的验证文件来生成,标识信息中包含验证文件,也可以是手机在发送标识信息之前,根据服务器和手机之间的通信生成的验证文件,然后将含有验证文件的标识信息发送至服务器,然后服务器根据验证文件生成获取root权限所需要的加密文件。

在步骤s203中,将加密文件发送至预设分区内的指定位置。

在手机对加密文件进行下载后保存至本地之后,由于获取root权限的过程中需要重启手机,但是重开机早期阶段无法读取文件系统的内容,所以需要将加密文件发送到可以读取的预设分区内。

例如,在手机应用程序下载完成加密文件后,应用程序通过设置一个属性值sys.root.config=true,然后系统中的init进程可以检测到此属性值变化,并启动一个native进程,把下载的密文直接拷贝到proinfo分区指定的偏移位置,其中,由于应用程序不能直接将加密文件写入proinfo分区,可以通过native进程进行写入proinfo分区,需要说明的是,proinfo分区数据在手机重启开机的早期阶段是可以进行读取的。

在步骤s204中,重启手机进入引导程序。

可以理解的是,在获取手机root权限的过程中,需要进入引导程序,对预设分区内加密文件的授权信息进行验证,所以在完成发送加密文件至预设分区后,需要对手机重启。

在步骤s205中,判断授权信息是否合法。

可以理解的是,加密文件内的授权信息只有在合法的情况下,才能进行后续步骤,最终将授权文件发送至系统分区获取root权限。在本实施例中,通过利用加密文件内的授权信息和手机中内置的信息进行匹配,在匹配成功的情况下,才能说明授权信息是合法的。

例如,加密文件中的授权信息可以包含机器码信息,由于机器码的唯一性,可以保证授权信息验证的合法性。请参阅图3,图3是本申请实施例提供的验证授权信息合法性的流程示意图,其中包括以下步骤:

在步骤s301中,进入littlekernel。

可以将littlekernel理解为android系统中的bootloader(引导程序),在嵌入式操作系统中,bootloader是在操作系统内核运行之前运行,在进入系统内核之前,先进入littlekernel阶段,然后对加密文件内的授权信息进行合法性验证。

在步骤s302中,从芯片中获取sn码,计算出其md5值得到m1。

在手机重启进入littlekernel阶段,从系统的应用程序编程接口获取cpu中的sn码(serialnumber,产品序列号、机器码),机器码是从芯片中直接获取的,无法仿照,然后根据机器码来计算出其第一加密值,即计算出的md5值m1。

在步骤s303中,利用预置在littlekernel分区内的公钥读取加密文件的授权信息,得到m2。

littlekernel分区内有解密加密文件的公钥,公钥与服务器内的私钥是对应的,所以可以用来解密加密文件,通过获取proinfo分区内的加密文件,然后利用littlekernel分区内的公钥进行解密,获取到加密文件内的机器码信息得到第二加密值m2。

在步骤s304中,判断m1是否等于m2。

在计算出第一加密值m1和第二加密值m2之后,通过判断两者是否相等,来验证加密文件内的授权信息是否合法,由于第一加密值和第二加密值都是经过手机的机器码得出的,理论上两者是相等的,在m1等于m2的情况下,则授权信息是合法的。

在步骤s305中,授权信息合法,关闭系统分区的写保护。

在判断授权信息合法的情况下,系统分区的写保护功能的是在littlekernel阶段配置的,此时可以直接关闭系统分区的写保护功能。

在步骤s306中,将授权状态发送至kernel。

由于selinux和dm-verity的配置是在kernel内配置的,可以通过命令行或者其他方式将授权信息的验证状态传递至kernel,即系统内核。

在步骤s307中,判断第一加密值m1和第二加密值m2是不相等的,则授权信息不合法,开启手机的系统分区的写保护功能,保护手机的安全。

在完成验证授权信息的合法性之后,如果授权信息是合法的,则需要执行下一步骤s206,关闭手机的保护机制。

在进行获取root权限的过程中,最总要进行的步骤是将授权文件发送至系统分区内,但是由于手机中的保护机制,只有在授权信息验证通过的情况下,关闭手机的保护机制,才能实现授权文件写入系统分区。

手机的保护机制主要是系统分区的写保护功能,还有selinux(安全子系统)和dm-verity保护模块,其中selinux是linux系统中的一个安全子系统,主要作用是最大限度地减少系统中服务进程可访问的资源,防止黑客利用网络服务漏洞以root的身份来控制电子设备,而dm-verity是内核子系统的devicemapper中的一个子模块,dm-verity会在编译阶段生成整个systemimage的hashtree。手机运行时如果使用到systemimage里面的某块数据,系统如果检测到此数据块的hash值与hashtree里面记录的数据不匹配,则不允许使用这块数据。

其中写保护功能的配置在littlekernel阶段验证授权信息合法的情况下,会直接关闭系统分区的写保护功能,但是selinux和dm-verity的配置需要在kernel阶段配置。

其中,dm-verity的配置如图4所示。

在步骤s401中,littlekernel传递授权信息的状态。

此时,littlekernel通过命令行的方式将授权信息的合法性状态传递至kernel。

在步骤s402中,根据授权信息的合法性来设置dm-verity控制指令。

kernel挂载system时,通过androidboot.rootstatus获取授权信息的合法性状态,然后根据根据授权信息的合法性来设置dm-verity控制指令。

在步骤s403中,通过命令行传递dm-verity控制指令。

在授权信息合法的情况下,通过命令行将androidboot.rootstatus=pass传递到kernel。

在授权信息不合法的情况下,通过命令行将androidboot.rootstatus=error传递到kernel。

在步骤s404中,进入kernel,根据dm-verity控制指令设置dm-verity模式。

在授权信息合法的情况下,根据相应的控制指令关闭dm-verity,以实现获取root权限。

在授权信息不合法的情况下,根据相应的控制指令开启dm-verity,保护手机的安全。

其中selinux的配置如图5所示。

在步骤s501中,littlekernel传递授权信息的状态。

此时,littlekernel通过命令行的方式将授权信息的合法性状态传递至kernel。

在步骤s502中,根据授权信息的合法性来设置selinux控制指令。

selinux有两种模式,enforcingmode(执行模式)和permissivemode(许可模式),在正常状态下,拦截系统没有配置的访问,直接进入enforcingmode,在获取root权限的过程时修改编译allow_permissive_selinux=1,这样kernel阶段启动selinux时,就会从androidboot.selinux来获取,而不是默认配置为enforcingmode。根据授权信息的合法性来设置selinux控制指令,使selinux配置为相应的模式。

在步骤s503中,通过命令行传递selinux控制指令。

在授权信息合法的情况下,通过命令行将androidboot.selinux=permissive传递到kernel。

在授权信息不合法的情况下,通过命令行将androidboot.selinux=enfocing传递到kernel。

在步骤s504中,进入kernel,根据selinux控制指令设置selinux模式。

在授权信息合法的情况下,根据相应的控制指令设置selinux为permissive模式,以实现获取root权限。

在授权信息不合法的情况下,根据相应的控制指令设置selinux为enfocing模式,保护手机的安全。

在关闭手机的保护机制后,在步骤s207中,发送授权文件至系统分区。

可以理解的是,在关闭手机的保护机制后,便可以对系统分区进行读写操作,然后将授权文件发送至“system/xbin/”目录中,再通过chmod函数修改授权文件的权限为4755,即所有用户可读可写可执行。

在步骤s208中,重启手机,手机成功获取root权限。

如果授权信息在步骤s205对授权信息验证的过程中,验证结果为不合法,在步骤s209中,启动手机的保护机制,其中启动手机的保护机制具体为,开启系统分区的写保护功能,开启dm-verity,配置selinux为enfocing模式,从而保护手机的安全,具体的配置过程中在上文已经详述,在此不做赘述。

在步骤s210中,在授权信息不合法的情况下,重启手机,则未获取root权限。

综上所述,本实施例通过将手机的标识信息发送至服务器,服务器根据标识信息中的机器码生成一个加密文件,然后手机下载加密文件至本地存储,并将加密文件发送至第一预设分区,然后重启手机进入引导程序,在引导程序内对第一预设分区的加密文件的授权信息进行验证,在授权信息验证通过的情况下,关闭手机的保护机制,并发送加密文件中的授权文件至系统分区,重启手机之后,成功获取root权限。在整个获取root权限的过程中,提高了获取root权限的安全性,将低了获取root权限的难度。

请参阅图6,图6是本申请实施例提供的获取root权限装置的结构示意图。

获取root权限装置600中包括,发送模块610、获取模块620、重启模块630、验证模块640和授权模块650。

其中,发送模块610,用于向服务器发送电子设备的标识信息,标识信息包括电子设备的机器码。

可以理解的是,电子设备的标识信息包括系统版本、型号、sn(serialnumber,产品序列号、机器码)、imei(internationalmobileequipmentidentity,国际移动设备身份码)等信息,电子设备通过发送模块610将标识信息发送至服务器,服务器通过标识信息来生成对应的加密文件,加密文件中包含授权信息和授权文件。

获取模块620,用于接收并保存服务器根据所述机器码生成的加密文件,加密文件包括授权信息。

服务器在接收到标识信息之后,根据电子设备发送的获取root权限请求,根据标识信息生成一个加密文件,然后再通过网络发送至电子设备,电子设备通过获取模块620对加密文件进行获取。

获取模块620具体包括检测子模块621和第一发送子模块622。

检测子模块621,用于设置属性值,系统进程检测所述属性值的变化。

第一发送子模块622,用于将保存的加密文件发送至第一预设分区。

在电子设备对加密文件进行下载后保存至本地之后,由于获取root权限的过程中需要重启电子设备,但是重开机早期阶段无法读取文件系统的内容,所以需要将加密文件发送到可以读取的预设分区内。检测模块621可以设置属性值,然后根据属性值的变化来启动系统进程将加密文件发送至预设分区内。

例如,在手机应用程序下载完成加密文件后,应用程序通过设置一个属性值sys.root.config=true,然后系统中的init进程可以检测到此属性值变化,并启动一个native进程,把下载的密文直接拷贝到proinfo分区指定的偏移位置,其中,由于应用程序不能直接将加密文件写入proinfo分区,可以通过native进程进行写入proinfo分区,需要说明的是,proinfo分区数据在手机重启开机的早期阶段是可以进行读取的。

重启模块630,用于重启电子设备进入引导程序。

获取root权限的过程中,需要通过重启模块630重启电子设备进入引导程序,才能进行接下来的步骤。

验证模块640,用于在引导程序内验证所述授权信息的合法性。

可以理解的是,加密文件内的授权信息只有在合法的情况下,才能进行后续步骤,最终将授权文件发送至系统分区获取root权限。在本实施例中,验证模块640对授权信息进行合法性验证,在验证成功的成功的情况下,才能继续执行获取root权限步骤。

验证模块640具体包括:第一计算子模块641、第二计算子模块642和判断子模块643。

其中,第一计算子模块641,用于获取中央处理器中的机器码,根据所述机器码计算出第一加密值。

在电子设备重启进入littlekernel阶段,从系统的应用程序编程接口获取cpu中的sn码(serialnumber,产品序列号、机器码),机器码是从芯片中直接获取的,无法仿照,然后根据第一计算子模块641计算出其第一加密值,即计算出的md5值m1。

第二计算子模块642,用于读取第一预设分区内的加密文件,利用第二预设分区内预置的公钥对加密文件解密得到第二加密值。

littlekernel分区内有解密加密文件的公钥,公钥与服务器内的私钥是对应的,所以可以用来解密加密文件,通过获取proinfo分区内的加密文件,然后利用littlekernel分区内的公钥进行解密,获取到加密文件内的机器码信息得到第二加密值m2。

判断子模块643,用于判断所述第一加密值和所述第二加密值是否相等,若是,则确定所述授权信息合法。

在计算出第一加密值m1和第二加密值m2之后,通过判断两者是否相等,来验证加密文件内的授权信息是否合法。

授权模块650,用于关闭所述电子设备的保护机制,发送授权文件至系统分区,以获取所述电子设备的root权限。

授权模块650具体包括关闭子模块651和第二发送子模块652。

关闭子模块651,用于关闭系统分区的写保护功能,关闭dm-verity并修改selinux为许可模式。

在进行获取root权限的过程中,最总要进行的步骤是将授权文件发送至系统分区内,但是由于手机中的保护机制,只有在授权信息验证通过的情况下,通过关闭子模块651关闭手机的保护机制,才能实现授权文件写入系统分区。

第二发送子模块652,用于将授权文件发送至系统分区预设位置。

可以理解的是,在关闭手机的保护机制后,便可以对系统分区进行读写操作,然后通过第二发送子模块652将授权文件发送至“system/xbin/”目录中,再通过chmod函数修改授权文件的权限为4755,即所有用户可读可写可执行。

综上所述,本实施例中通过将电子设备的标识信息发送至服务器,服务器根据电子设备的标识信息生成一个加密文件,然后通过将加密文件拷贝到第一预设分区,重启电子设备进入引导程序,在引导程序内对加密文件内的授权信息进行验证,验证授权信息的合法的情况下,关闭电子设备的保护机制,将授权文件写入到系统分区内,从而完成获取root权限的过程,本实施例中,通过发送标识信息,下载加密文件,再进行验证的方式,完成了root权限的获取,保证了获取root权限过程中的安全性,同时也降低了用户获取root权限的难度。

请参阅图7,图7是本申请实施例提供的电子设备的结构示意图。

电子设备700可以包括,输入单元701、显示单元702、存储器703、包括有一个或者一个以上处理核心的处理器704、电源705和无线保真(wifi,wirelessfidelity)模块706等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

输入单元701可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元701可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器704,并能接收处理器704发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元701还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

存储器703可用于存储软件程序以及模块,处理器704通过运行存储在存储器703的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器703可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器703可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

显示单元702可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元702可包括显示面板,可选的,可以采用液晶显示器(lcd,liquidcrystaldisplay)、有机发光二极管(oled,organiclight-emittingdiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器704以确定触摸事件的类型,随后处理器704根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图7中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。

wifi属于短距离无线传输技术,终端通过wifi模块706可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了wifi模块706,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器704是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器703内的软件程序和/或模块,以及调用存储在存储器703内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器704可包括一个或多个处理核心;优选的,处理器704可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器704中。

终端还包括给各个部件供电的电源705(比如电池),优选的,电源可以通过电源管理系统与处理器704逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源705还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器704会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器703中,并由处理器704来运行存储在存储器703中的应用程序,从而实现各种功能:

向服务器发送电子设备的标识信息,所述标识信息包括所述电子设备的机器码;

接收并保存服务器根据所述机器码生成的加密文件,所述加密文件包括授权信息;

重启所述电子设备进入引导程序;

在所述引导程序内验证所述授权信息的合法性;

若所述授权信息验证合法,则关闭所述电子设备的保护机制,发送授权文件至系统分区,以获取所述电子设备的root权限。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种虚拟资源的转移方法中的步骤。例如,该指令可以执行如下步骤:

向服务器发送电子设备的标识信息,所述标识信息包括所述电子设备的机器码;

接收并保存服务器根据所述机器码生成的加密文件,所述加密文件包括授权信息;

重启所述电子设备进入引导程序;

在所述引导程序内验证所述授权信息的合法性;

若所述授权信息验证合法,则关闭所述电子设备的保护机制,发送授权文件至系统分区,以获取所述电子设备的root权限。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种虚拟资源的转移方法中的步骤,因此,可以实现本申请实施例所提供的任一种虚拟资源的转移方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种浏览器页面数据过滤方法、装置和系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1