CN110083363B - 一种Linux内核动态注入方式截取无线数据包的方法 - Google Patents
一种Linux内核动态注入方式截取无线数据包的方法 Download PDFInfo
- Publication number
- CN110083363B CN110083363B CN201910322202.0A CN201910322202A CN110083363B CN 110083363 B CN110083363 B CN 110083363B CN 201910322202 A CN201910322202 A CN 201910322202A CN 110083363 B CN110083363 B CN 110083363B
- Authority
- CN
- China
- Prior art keywords
- code
- original
- processing
- network
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种Linux内核动态注入方式截取无线数据包的方法,不依赖Linux操作***原有功能及无线网卡驱动提供的对外输出无线通信包即可获取广播报文,本发明在不修改原无线网卡驱动代码的前提下,通过Linux内核驱动层动态注入代码方式修改其原接收处理方法入口代码为转跳指令,转跳至***的分析代码,处理强结束后还原原方法入口处的代码最后再转跳回去,从而实现无线通信包的截取而不影响原网卡驱动的处理逻辑。
Description
技术领域
本发明涉及一种Linux内核动态注入方式截取无线数据包的方法,属于无线局域网络安全的技术领域。
背景技术
目前,基于网络安全需要进行的无线设备MAC地址收集都是通过打开网卡的监听(Monitor)功能获取无线通信协议的广播报文(Beacon)而实现。但部分无线网卡厂家基于性能或安全原因关闭了广播报文对外发送,对于这部分厂家及型号的网卡,目前没有可行获取广播报文的有效方法。
发明内容
本发明的目的在于提供一种Linux内核动态注入方式截取无线数据包的方法,不依赖Linux操作***原有功能及无线网卡驱动提供的对外输出无线通信包即可获取广播报文,解决现有技术存在的缺憾。
本发明采用如下技术方案实现:
一种Linux内核动态注入方式截取无线数据包的方法,整个实现过程主要划分为两大部份:静态分析与动态注入。静态分析目的是找出目标无线驱动模块的网络层数据包的软件处理入口(下称网络处理入口),并找出的网络处理入口唯一机器指令码段特征及其传入参数。动态注入是针对静态分析结果,开发出新的内核模块,该模块完成查找目标无线网卡驱动在内核中网络处理入口机器代码的物理地址,该物理地位即为动态注入的目标,其特征在于,该方法包括如下步骤:
静态分析部分:
步骤010:导出驱动模块符号:使用Linux操作***提供的***工具命令导出待分析的无线网卡驱动模块文件的所有方法名称符号,所述方法名称符号为驱动模块程序的关键字,关键字包括程序的变量名称(见名知义型)、函数名称(表明功能特点)、对象的方法method、事件event或者属性Property;
或:通过正则表达式提取驱动模块程序的关键字;
步骤020:根据导出的方法名称符号排查网络处理入口,在所述网络处理入口中搜索驱动模块程序中的关键字;
步骤030:对驱动模块进行反汇编,得到网络处理入口处的方法名称符号,再利用***工具命令得到该入口处的方法名称符号的机器指令及汇编代码;
步骤040:编写一个测试用Linux内核模块,所述测试用Linux内核模块的作用是验证该唯一机器指令码能否在Linux内核中查找并定位到该网络处理入口,和/或用于分析传入参数中的哪一个是指向网络包原始数据;
动态注入部分:
步骤101,注入模块的开始:加载注入模块程序代码,对步骤201处的程序逻辑进行初始化;
步骤102:对原无线网卡驱动接收处理方法。开始扫描整个Linux内核内存空间,查找分析得到的代码特征数据,定位网络处理入口的真实内存代码地址,如0x0023a8de;
步骤103:对定位到的网络处理入口地址处的首条机器指令代码复制到步骤206的内存位置上,不同的CPU机器指令代码长度不一样,64位ARM的代码长度为4字节,如2a1603e4(mov w4,w22);
步骤104:再对接收处理方法的当前内存代码地址的首条代码修改为转跳指令,转跳目的地址为步骤201;
至此,注入模块的开始部分工作已完成,由于原无线网卡驱动的接收处理入口处的代码已为转跳指令,其所有网络数据包的处理都进入到注入模块的分析部分;
分析部分:
步骤201:注入模块的分析部分代码入口,由原无线网卡驱动模块接收处理入口被修改后转跳到这里;
步骤202:由于要转跳回原处理方法,在进行注入分析前保留CPU的当前工作状态,即把所有通用寄存器的当前值保存到内存区,在还原时使用;
步骤203:根据对原无线网卡驱动模块静态分析的结果获得原方法输入参数中网络链路层地址所在的通用寄存器名称,直接复制链路层数据;
步骤204:对得到的网络链路层数据做预分析处理后,向Linux用户态目标进程发送截取到的数据包,由具体的用户态进程进行进一步分析处理;
步骤205:至此,网络数据包的截取工作完成,进入还原CPU现场回跳工作,恢复在步骤202时保存的所有的通用寄存器值;
步骤206:此处的机器指令代码为原网络处理入口的第一条指令,是步骤103复制过来的,执行还原原处理方法过程;
步骤207:最后通过一条转跳指令(如JMP 0x0023a8de+4)跳回原接收处理方法的第二条指处,把CPU执行权交回到原处理方法上。
注入结束部分
如果不再需要截取网络包,由应用层通知注入模块,进入本结束部分。
步骤301:收到应用层的结束通知后结束注入模块工作,还原所有注入修改。
步骤302:还原原接收处理代码入口处的第一条代码指令。
进一步的:在步骤010中,使用Linux操作***提供的***工具命令objdump导出待分析的无线网卡驱动模块文件的所有方法名称符号;在步骤030,利用工具命令objdump对驱动模块文件进行反汇编。
本发明的有益技术效果是:在不修改原无线网卡驱动代码的前提下,对其驱动模块文件进行反编译静态分析出网络包处理的代码位置及数据位置,然后通过Linux内核驱动层动态注入代码方式修改其原接收处理方法入口代码为转跳指令,转跳至***的分析代码,处理强结束后还原原方法入口处的代码最后再转跳回去,从而实现无线通信包的截取而不影响原网卡驱动的处理逻辑。
附图说明
图1是网卡驱动模块、分析、注入模块示意图。
图2是注入模块软件处理流程顺序图。
具体实施方式
本发明提供一种不修改原无线网卡驱动模块代码,对模块文件做反编译的方法符号导出、排查、定位等静态分析技术手段,最终找到其网络接收处理方法代码位置并提取方法代码的唯一代码特征标识。利用Linux内核模块使用同一内存空间的特性,开发一个新注入模块,在注入模块加载到内核后通过查找代码特征标识定位到网络接收处理方法入口的内存位置,最后修改无线网卡驱动模块代码中接收处理方法入口代码为转跳指令,转跳至注入模块的分析代码,分析结束后还原原方法入口处的代码最后再转跳回去,从而达到无线通信包的截取而不影响原网卡驱动处理的方法。通过下面对实施例的描述,将更加有助于公众理解本发明,但不能也不应当将申请人所给出的具体的实施例视为对本发明技术方案的限制,任何对部件或技术特征的定义进行改变和/或对整体结构作形式的而非实质的变换都应视为本发明的技术方案所限定的保护范围。
如图1和图2所示,Linux内核动态注入方式截取无线数据包的方法,该方法包括如下步骤:整个实现过程主要划分为两大部份:静态分析与动态注入。静态分析目的是找出目标无线驱动模块的网络层数据包的软件处理入口(下称网络处理入口),并找出的网络处理入口唯一机器指令码段特征及其传入参数。动态注入是针对静态分析结果,开发出新的内核模块,该模块完成查找目标无线网卡驱动在内核中网络处理入口机器代码的物理地址,该物理地位即为动态注入的目标。
静态分析部分:
步骤010,导出驱动模块符号:使用Linux操作***提供的***工具命令导出待分析的无线网卡驱动模块文件的所有方法名称符号,
步骤020:根据导出的方法名称符号排查网络处理入口,在所述网络处理入口中搜索驱动模块程序中的关键字,设计生产无线网卡的厂家其软件设计开发通常会很规范,可通过其方法名称能判断其职责,例如:“Receive”、“Handle”、“Notify”、“Frame”等词汇可用于排查定位,在本实施例中,通过方法名称进行人工排查定位,或通过已建立的关键词名单库的方式进行自动排查定位,如博通BCMD无线驱动的入口方法符号的关键字包括“wl_notify_rx_mgmt_frame”;
或:在其他实施例中通过正则表达式进行字符匹配,搜索并提取驱动模块程序的关键字,正则表达式可以设计为无线网卡生产厂家的字符、字符集合、字符范围、字符间的选择或者上述组合的任意拆分或任意组合;
步骤030:对驱动模块进行反汇编,得到入口方法名称,再利用***工具命令得到该入口方法的机器指令及汇编代码;
本实施例提供如下汇编代码作为例证:
步骤040:编写一个测试用Linux内核模块,所述测试用Linux内核模块的作用是验证该唯一机器指令码能否在Linux内核中查找并定位到该网络处理入口,和/或用于分析传入参数中的哪一个是指向网络包原始数据;在本实施例中,找出入口方法代码的唯一代码特征是通过人工阅读入口方法实现的,一方面了解其传入参数个数及数据类别,另一方面找出一段唯一定位的机器指令码,用于在步骤102时查找入口方法在Linux运行中的具体内存地址。这一步聚需编写一个测试Linux内核模块,用于验证该唯一机器指令码能否在Linux内核中查找并定位到该入口方法,也用于分析传入参数中那一个是指向网络包原始数据。
注入开始部分:
步骤101,注入模块的开始:加载注入模块程序代码,对步骤201处的程序逻辑进行初始化;
步骤102:对原无线网卡驱动接收处理方法。开始扫描整个Linux内核内存空间,查找分析得到的代码特征数据,定位网络处理入口的真实内存代码地址,如0x0023a8de;
步骤103:对定位到的网络处理入口地址处的首条机器指令代码复制到步骤206的内存位置上,不同的CPU机器指令代码长度不一样,64位ARM的代码长度为4字节,如2a1603e4(mov w4,w22);
步骤104:再对接收处理方法的当前内存代码地址的首条代码修改为转跳指令,转跳目的地址为步骤201;
至此,注入模块的开始部分工作已完成,由于原无线网卡驱动的接收处理入口处的代码已为转跳指令,其所有网络数据包的处理都进入到注入模块的分析部分;
分析部分:
步骤201:注入模块的分析部分代码入口,由原无线网卡驱动模块接收处理入口被修改后转跳到这里;
步骤202:由于要转跳回原处理方法,在进行注入分析前保留CPU的当前工作状态,即把所有通用寄存器的当前值保存到内存区,在还原时使用;
步骤203:根据对原无线网卡驱动模块静态分析的结果获得原方法输入参数中网络链路层地址所在的通用寄存器名称,直接复制链路层数据;
步骤204:对得到的网络链路层数据做预分析处理后,向Linux用户态目标进程发送截得的数据包,由具体的用户态进程进行进一步分析处理;
步骤205:至此,网络数据包的截取工作完成,进入还原CPU现场回跳工作,恢复在步骤202时保存的所有的通用寄存器值;
步骤206:此处的机器指令代码为原网络处理入口的第一条指令,是步骤103复制过来的,执行还原原处理方法过程;
步骤207:最后通过一条转跳指令(如JMP 0x0023a8de+4)跳回原接收处理方法的第二条指处,把CPU执行权交回到原处理方法上。
注入结束部分
如果不再需要截取网络包,由应用层通知注入模块,进入本结束部分。
步骤301:收到应用层的结束通知后结束注入模块工作,还原所有注入修改。
步骤302:还原原接收处理代码入口处的第一条代码指令。
在步骤010中,使用Linux操作***提供的***工具命令objdump导出待分析的无线网卡驱动模块文件的所有方法名称符号;在步骤030,利用工具命令objdump对驱动模块文件进行反汇编。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
为了描述的方便,描述以上装置时以功能分为各种单元、模块分别描述。当然在实施本申请时可以把各单元、模块的功能在同一个或多个软件和/或硬件中实现。本申请可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当然,本发明还可以有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可以根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (2)
1.一种Linux内核动态注入方式截取无线数据包的方法,其特征在于,该方法包括如下步骤:
步骤(010):导出驱动模块符号:使用Linux操作***提供的***工具命令导出待分析的无线网卡驱动模块文件的所有方法名称符号,所述方法名称符号为驱动模块程序的关键字,关键字包括程序的变量名称、函数名称、对象的方法、事件或者属性;
步骤(020):根据导出的方法名称符号排查网络处理入口,在所述网络处理入口中搜索驱动模块程序中的关键字;或:通过正则表达式搜索并提取驱动模块程序的关键字;
或:通过正则表达式提取驱动模块程序的关键字;
步骤(030):对驱动模块进行反汇编,得到网络处理入口处的方法名称符号,再利用***工具命令得到该网络处理入口处的方法名称符号的机器指令代码及汇编代码;
步骤(040):编写一个测试用Linux内核模块,所述测试用Linux内核模块的作用是验证唯一机器指令代码能否在Linux内核中查找并定位到该网络处理入口,和/或用于分析传入参数中的哪一个是指向网络包原始数据;
动态注入部分:
步骤(101),注入模块的开始:加载注入模块程序代码,对步骤(201)处的程序逻辑进行初始化;
步骤(102):对原无线网卡驱动接收处理方法,开始扫描整个Linux内核内存空间,查找分析得到的代码特征数据,定位网络处理入口的真实内存代码地址;
步骤(103):对定位到的网络处理入口地址处的首条机器指令代码复制到步骤(206)的内存位置上;
步骤(104):再对接收处理方法的当前内存代码地址的首条代码修改为转跳指令,转跳目的地址为步骤(201);
分析部分:
步骤(201):注入模块的分析部分代码入口,由原无线网卡驱动模块接收处理入口被修改后转跳到这里;
步骤(202):在进行注入分析前保留CPU的当前工作状态,即把所有通用寄存器的当前值保存到内存区,在还原时使用;
步骤(203):根据对原无线网卡驱动模块静态分析的结果获得原方法输入参数中网络链路层地址所在的通用寄存器名称,直接复制链路层数据;
步骤(204):对得到的网络链路层数据做预分析处理后,向Linux用户态目标进程发送截取到的数据包,由具体的用户进程进行进一步分析处理;
步骤(205):至此,网络数据包的截取工作完成,进入还原CPU现场回跳工作,恢复在步骤(202)时保存的所有的通用寄存器值;
步骤(206):此处的机器指令代码为原网络处理入口的第一条指令,是步骤(103)复制过来的,执行还原原处理方法过程;
步骤(207):最后通过一条转跳指令跳回原接收处理方法的第二条指处,把CPU执行权交回到原处理方法上;
注入结束部分:
步骤(301):收到应用层的结束通知后结束注入模块工作,还原所有注入修改;
步骤(302):还原原接收处理代码入口处的第一条代码指令。
2.根据权利要求1所述的Linux内核动态注入方式截取无线数据包的方法,其特征在于:
在步骤(010)中,使用Linux操作***提供的***工具命令objdump导出待分析的无线网卡驱动模块文件的所有方法名称符号;
在步骤(030),利用工具命令objdump对驱动模块文件进行反汇编。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910322202.0A CN110083363B (zh) | 2019-04-22 | 2019-04-22 | 一种Linux内核动态注入方式截取无线数据包的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910322202.0A CN110083363B (zh) | 2019-04-22 | 2019-04-22 | 一种Linux内核动态注入方式截取无线数据包的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083363A CN110083363A (zh) | 2019-08-02 |
CN110083363B true CN110083363B (zh) | 2022-04-01 |
Family
ID=67415992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910322202.0A Active CN110083363B (zh) | 2019-04-22 | 2019-04-22 | 一种Linux内核动态注入方式截取无线数据包的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083363B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841470A (zh) * | 2010-03-29 | 2010-09-22 | 东南大学 | 一种基于Linux的底层数据包的高速捕获方法 |
CN103441941A (zh) * | 2013-08-13 | 2013-12-11 | 广东睿江科技有限公司 | 一种基于Linux的高性能数据报文捕获方法和装置 |
CN103853586A (zh) * | 2014-03-05 | 2014-06-11 | 中南大学 | 一种在uefi层实现无线网卡驱动的方法 |
CN103885813A (zh) * | 2013-12-27 | 2014-06-25 | 北京天融信软件有限公司 | 一种虚拟机环境下的抓包方法 |
WO2015149663A1 (zh) * | 2014-04-03 | 2015-10-08 | 国家电网公司 | 一种智能电网嵌入式设备网络攻击诱捕***和诱捕方法 |
WO2016091071A1 (zh) * | 2014-12-11 | 2016-06-16 | 北京奇虎科技有限公司 | 加载Linux内核驱动的方法及装置 |
CN107453972A (zh) * | 2016-05-30 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 获取信息的方法和装置 |
CN109165050A (zh) * | 2018-07-05 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 程序的运行方法、装置、计算设备以及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9509714B2 (en) * | 2014-05-22 | 2016-11-29 | Cabara Software Ltd. | Web page and web browser protection against malicious injections |
-
2019
- 2019-04-22 CN CN201910322202.0A patent/CN110083363B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841470A (zh) * | 2010-03-29 | 2010-09-22 | 东南大学 | 一种基于Linux的底层数据包的高速捕获方法 |
CN103441941A (zh) * | 2013-08-13 | 2013-12-11 | 广东睿江科技有限公司 | 一种基于Linux的高性能数据报文捕获方法和装置 |
CN103885813A (zh) * | 2013-12-27 | 2014-06-25 | 北京天融信软件有限公司 | 一种虚拟机环境下的抓包方法 |
CN103853586A (zh) * | 2014-03-05 | 2014-06-11 | 中南大学 | 一种在uefi层实现无线网卡驱动的方法 |
WO2015149663A1 (zh) * | 2014-04-03 | 2015-10-08 | 国家电网公司 | 一种智能电网嵌入式设备网络攻击诱捕***和诱捕方法 |
WO2016091071A1 (zh) * | 2014-12-11 | 2016-06-16 | 北京奇虎科技有限公司 | 加载Linux内核驱动的方法及装置 |
CN107453972A (zh) * | 2016-05-30 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 获取信息的方法和装置 |
CN109165050A (zh) * | 2018-07-05 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 程序的运行方法、装置、计算设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
封包截取技术解析;M-先生;《https://blog.csdn.net/yeahhook/article/details/8717971》;20130325;第1-9页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110083363A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7398469B2 (en) | Automated test system for testing an application running in a windows-based environment and related methods | |
KR102415971B1 (ko) | 악성 모바일 앱 감지 장치 및 방법 | |
CN104834859A (zh) | 一种Android应用中恶意行为的动态检测方法 | |
CN107678949B (zh) | 实现嵌入式设备不同通信方式的自动化测试方法 | |
CN109683997B (zh) | 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 | |
CN114610640A (zh) | 一种面向物联网可信执行环境的模糊测试方法和*** | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
Kim et al. | FIRM-COV: high-coverage greybox fuzzing for IoT firmware via optimized process emulation | |
CN113360379B (zh) | 程序测试环境创建方法和程序测试环境创建装置 | |
KR101431192B1 (ko) | 모바일 단말의 루팅 공격 이벤트 검출 방법 | |
CN113935041A (zh) | 面向实时操作***设备的漏洞检测***及方法 | |
CN110083363B (zh) | 一种Linux内核动态注入方式截取无线数据包的方法 | |
Kröll et al. | Aristoteles–dissecting apple’s baseband interface | |
CN107451050B (zh) | 函数获取方法和装置、服务器 | |
CN112861138A (zh) | 软件安全性分析方法及分析装置、电子设备及存储介质 | |
US20190026090A1 (en) | Systems to remove object relational mappings from a software project | |
CN112491799B (zh) | 通信模块远程修复方法、装置、计算机设备和存储介质 | |
KR20110013175A (ko) | 분리 실행 기반의 컨텐츠용 코드 블록의 검증 시스템 및 방법 | |
CN111061642B (zh) | 一种基于用户数据的全自动竞赛数据处理***以及方法 | |
CN114676436A (zh) | 一种基于结构化变异的安卓应用多媒体解析库漏洞挖掘***及方法 | |
Feng et al. | CinfoFuzz: Fuzzing Method Based on Web Service Correlation Information of Embedded Devices | |
Tang et al. | Internet of things security: Principles and practice | |
CN113467815A (zh) | 热更新的应用修复方法、装置、终端设备及存储介质 | |
CN111190619A (zh) | 一种基于固件更新协议的Android取证方法 | |
KR101711092B1 (ko) | 실행파일 복원 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |