CN106203085B - 一种编译方法及装置 - Google Patents
一种编译方法及装置 Download PDFInfo
- Publication number
- CN106203085B CN106203085B CN201610541554.1A CN201610541554A CN106203085B CN 106203085 B CN106203085 B CN 106203085B CN 201610541554 A CN201610541554 A CN 201610541554A CN 106203085 B CN106203085 B CN 106203085B
- Authority
- CN
- China
- Prior art keywords
- function
- source file
- data
- safety
- called
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- 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/41—Compilation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
Abstract
本发明公开了一种编译方法及装置。该方法包括:提取应用程序中的源文件;确定所述源文件中被调用的第一函数的安全性低于预设阈值;将所述第一函数替换为第二函数,所述第二函数的安全性高于所述预设阈值;对替换后的源文件进行编译。采用上述技术方案,将应用程序中的源文件中被调用的第一函数替换为第二函数,由于第二函数的安全性高于第一函数的安全性,所以编译的过程中调用安全性高的第二函数,提高了应用程序的安全性,无需对应用程序进行重新开发或二次开发,节约了开发成本。
Description
技术领域
本发明涉及软件开发领域,具体地,涉及一种编译方法及装置。
背景技术
随着信息处理技术的发展,信息安全越来越受到人们的重视。如何防止重要数据或个人信息被泄露,成为需要解决的问题。
针对安装在终端上的应用程序,相关技术提供的解决方案是:重新开发该应用程序或者对该应用程序进行二次开发,因而开发成本大。
发明内容
本发明的目的是提供一种编译方法及装置,该方法可以增强应用程序的安全性,且节约开发成本。
为了实现上述目的,本发明提供一种编译方法,包括:
提取应用程序中的源文件;
确定所述源文件中被调用的第一函数的安全性低于预设阈值;
将所述第一函数替换为第二函数,所述第二函数的安全性高于所述预设阈值;
对替换后的源文件进行编译。
可选地,所述确定所述源文件中被调用的第一函数的安全性低于预设阈值,包括:
扫描所述源文件包括的预定接口;
确定通过所述预定接口调用的所述第一函数的安全性低于所述预设阈值;
所述对替换后的源文件进行编译,包括:
通过所述预定接口调用所述第二函数。
可选地,所述第一函数和所述第二函数至少符合以下条件之一:
所述第一函数用于以明文的形式对待传输数据进行传输,且所述第二函数用于以加密的形式对所述待传输数据进行传输;
所述第一函数用于将待存储数据存储至第一存储空间,且所述第二函数用于将所述待存储数据存储至第二存储空间,所述第二存储空间与所述第一存储空间不同;
所述第一函数用于按照第一存储路径对所述待存储数据进行存储,且所述第二函数用于按照第二存储路径对所述待存储数据进行存储,所述第二存储路径与所述第一存储路径不同。
可选地,所述确定所述源文件中被调用的第一函数的安全性低于预设阈值,包括:
确定所述源文件中被导入的Java类的类名为第一名称,类名为所述第一名称的Java类的成员函数包括所述第一函数;
所述将所述第一函数替换为第二函数,包括:
将所述第一名称替换为第二名称,类名为所述第二名称的Java类的成员函数包括所述第二函数。
可选地,所述方法还包括:
创建软件开发工具包SDK,所述SDK包括所述第二函数;
所述确定所述源文件中被调用的第一函数的安全性低于预设阈值,包括:
确定所述源文件中被调用的所述第一函数与所述第二函数不同。
本发明还提供一种编译装置,包括:
提取模块,用于提取应用程序中的源文件;
确定模块,用于确定所述源文件中被调用的第一函数的安全性低于预设阈值;
替换模块,用于将所述第一函数替换为第二函数,所述第二函数的安全性高于所述预设阈值;
编译模块,用于对替换后的源文件进行编译。
可选地,所述确定模块包括:
扫描子模块,用于扫描所述源文件包括的预定接口;
确定子模块,用于确定通过所述预定接口调用的所述第一函数的安全性低于所述预设阈值;
所述编译模块用于:
通过所述预定接口调用所述第二函数。
可选地,所述第一函数和所述第二函数至少符合以下条件之一:
所述第一函数用于以明文的形式对待传输数据进行传输,且所述第二函数用于以加密的形式对所述待传输数据进行传输;
所述第一函数用于将待存储数据存储至第一存储空间,且所述第二函数用于将所述待存储数据存储至第二存储空间,所述第二存储空间与所述第一存储空间不同;
所述第一函数用于按照第一存储路径对所述待存储数据进行存储,且所述第二函数用于按照第二存储路径对所述待存储数据进行存储,所述第二存储路径与所述第一存储路径不同。
可选地,所述确定模块用于:
确定所述源文件中被导入的Java类的类名为第一名称,类名为所述第一名称的Java类的成员函数包括所述第一函数;
所述替换模块用于:
将所述第一名称替换为第二名称,类名为所述第二名称的Java类的成员函数包括所述第二函数。
可选地,所述装置还包括:
创建模块,用于创建软件开发工具包SDK,所述SDK包括所述第二函数;
所述确定模块用于:
确定所述源文件中被调用的所述第一函数与所述第二函数不同。
采用上述技术方案,将应用程序中的源文件中被调用的第一函数替换为第二函数,由于第二函数的安全性高于第一函数的安全性,所以编译的过程中调用安全性高的第二函数,提高了应用程序的安全性,无需对应用程序进行重新开发或二次开发,节约了开发成本。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的一种编译方法的流程图。
图2为本发明实施例提供的一种编译方法的另一流程图。
图3为本发明实施例提供的一种编译方法的另一流程图。
图4为本发明实施例提供的一种编译装置的框图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明实施例提供了一种编译方法,请参考图1,图1为本发明实施例提供的一种编译方法的流程图。如图1所示,该方法包括以下步骤:
步骤S11:提取应用程序中的源文件;
步骤S12:确定所述源文件中被调用的第一函数的安全性低于预设阈值;
步骤S13:将所述第一函数替换为第二函数,所述第二函数的安全性高于所述预设阈值;
步骤S14:对替换后的源文件进行编译。
为了检验应用程序是否存在安全隐患,可以对应用程序进行反向编译,获得应用程序中的源文件,然后对源文件进行扫描,判断源文件中被调用的函数的安全性是否低于预设阈值,如果被调用的函数的安全性低于预设阈值,则将该函数替换为安全性高于预设阈值的另一函数,最后对替换后的源文件进行正向编译,相应地,正向编译过程中被调用的函数是安全性较高的函数,因此,提高了应用程序的安全性。其中,预设阈值可以是用户自己设置的,也可以是由开发人员设置在应用程序中的。
举例来讲,假设应用程序中的源文件中被调用的函数包括第一函数,且第一函数的安全性低于预设阈值,而第二函数的安全性高于预设阈值,则将第一函数替换为第二函数,最后对替换后的源文件进行编译,由于编译过程中被调用的函数是第二函数,所以相比于替换之前,在编译过程中被调用的函数是第一函数,使得被调用的函数是第二函数能够提高应用程序的安全性。
采用上述技术方案,将应用程序中的源文件中被调用的第一函数替换为第二函数,由于第二函数的安全性高于第一函数的安全性,所以编译的过程中调用安全性高的第二函数,提高了应用程序的安全性,无需对应用程序进行重新开发或二次开发,节约了开发成本。
可选地,请参考图2,图2为本发明实施例提供的一种编译方法的另一流程图。如图2所示,该方法除包括所述步骤S11和所述步骤S13外,所述步骤S12包括:
步骤S121:扫描所述源文件包括的预定接口;
步骤S1222:确定通过所述预定接口调用的所述第一函数的安全性低于所述预设阈值;
相应地,所述步骤S14包括:
步骤S14a:通过所述预定接口调用所述第二函数。
为了提高检验应用程序是否存在安全隐患的效率,在可以对应用程序进行反向编译,获得应用程序中的源文件之后,可以对源文件包括的预定接口进行扫描,进而判断通过该预定接口调用的函数的安全性是否低于预设阈值,如果通过该预定接口调用的函数的安全性低于预设阈值,则将该函数替换为安全性高于预设阈值的另一函数,最后在对替换后的源文件进行正向编译的过程中,通过该预设接口调用安全性较高的函数,因此,提高了应用程序的安全性。其中,预设接口可以是用户自己设置的,也可以是由开发人员设置在应用程序中的。
举例来讲,以应用程序是APK,预设接口是API为例,假设通过对源文件包括的API进行扫描,进而判断通过该API调用的函数是第一函数,且第一函数的安全性低于预设阈值,而第二函数的安全性高于预设阈值,则将第一函数替换为第二函数,最后对替换后的源文件进行编译,在编译过程中通过该API调用的函数是第二函数,所以相比于替换之前,在编译过程中通过该API调用的函数是第一函数,使得被调用的函数是第二函数能够提高应用程序的安全性。
采用上述技术方案,通过对源文件包括的预定接口进行扫描,提高了检验应用程序是否存在安全隐患的效率。通过同一预定接口调用安全性较高的函数,无需对预定接口进行更改,扩展了本发明实施例提供的编译方法的适用范围,增强了本发明实施例提供的编译方法的兼容性。
可选地,所述第一函数和所述第二函数至少符合以下条件之一:
所述第一函数用于以明文的形式对待存储数据进行存储,且所述第二函数用于以加密的形式对所述待存储数据进行存储;
所述第一函数用于将所述待存储数据存储至第一存储空间,且所述第二函数用于将所述待存储数据存储至第二存储空间,所述第二存储空间与所述第一存储空间不同;
所述第一函数用于按照第一存储路径对所述待存储数据进行存储,且所述第二函数用于按照第二存储路径对所述待存储数据进行存储,所述第二存储路径与所述第一存储路径不同。
本发明实施例中,为了增强应用程序的安全性,可以将针对原本以明文形式进行传输的待传输数据进行加密,进而使得待传输数据以加密的形式进行传输。还可以对原本存储至第一存储空间的待存储数据的存储位置进行更改,进而使得待存储数据存储至第二存储空间。也可以对原本按照第一存储路径存储的待存储数据的存储路径进行更改,进而使得待存储数据按照第二存储路径被存储。在实际应用中,可以将加密、更改存储位置以及更改存储路径中的一者或多者结合使用,以增强应用程序的安全性。
举例来讲,应用程序的功能是:存储数据。为了检验该应用程序是否存在安全隐患,可以对该应用程序进行反向编译,获得该应用程序中的源文件,然后对源文件进行扫描,假设源文件中被调用的函数是第一函数,用于以明文的形式接收待传输数据,并且以第一存储路径存储至第一存储空间。显然,以明文的形式接收待传输数据有可能会被截取,造成待传输数据泄露,并且第一存储路径和第一存储空间可能是默认设置的,容易造成已存储的数据被盗取,因此,可以将第一函数替换为安全性较高的第二函数,最后对替换后的源文件进行正向编译,相应地,正向编译过程中被调用的函数是安全性较高的函数,因此,提高了应用程序的安全性。
采用上述技术方案,可以将本发明实施例提供的编译方法应用于更加广泛的领域,包括:数据存储加密、网络请求加密、屏幕安全控制、文本内容安全控制、防二次打包。因此,扩展了本发明实施例提供的编译方法的适用范围。
可选地,请参考图3,图3为本发明实施例提供的一种编译方法的另一流程图。如图3所示,该方法除包括所述步骤S11和所述步骤S14外,所述步骤S12包括:
步骤S12a:确定所述源文件中被导入的Java类的类名为第一名称,类名为所述第一名称的Java类的成员函数包括所述第一函数;
相应地,所述步骤S13包括:
步骤S13a:将所述第一名称替换为第二名称,类名为所述第二名称的Java类的成员函数包括所述第二函数。
本发明实施例中,为了增强替换函数的便利性,可以创建软件开发工具包(又称SDK),所创建的SDK包括新增的Java类,然后将安全性较高的函数作为新增的Java类的成员函数,直接替换被导入的Java类的名称,以实现替换函数。
举例来讲,名称为第一名称的Java类,其成员函数包括第一函数,假设应用程序中的源文件中被调用的函数包括第一函数,且第一函数的安全性低于预设阈值。在这种情况下,可以创建SDK,所创建的SDK包括新增的Java类:名称为第二名称的Java类,其成员函数包括第二函数,且第二函数的安全性高于预设阈值。则可以直接替换被导入的Java类的名称,即将第一名称替换为第二名称,相应地,被调用的函数也由第一函数替换为第二函数。最后对替换后的源文件进行编译,由于编译过程中被调用的函数是第二函数,所以相比于替换之前,在编译过程中被调用的函数是第一函数,使得被调用的函数是第二函数能够提高应用程序的安全性。
采用上述技术方案,通过对Java类的名称的替换,即可增强应用程序的安全性,方便快捷。
可选地,所述方法还包括:
创建软件开发工具包SDK,所述SDK包括所述第二函数;
所述确定所述源文件中被调用的第一函数的安全性低于预设阈值,包括:
确定所述源文件中被调用的所述第一函数与所述第二函数不同。
本发明实施例中,可以创建SDK,所创建的SDK包括新增的Java类,然后将安全性较高的函数作为新增的Java类的成员函数。在检测应用程序是否存在安全隐患时,可以将源文件中被调用的函数与新增的Java类的成员函数比较,如果被调用的函数与新增的Java类的成员函数,则确定被调用的函数的安全性低于预设阈值,需要将该函数替换为安全性高于预设阈值的另一函数。
举例来讲,假设应用程序中的源文件中被调用的函数包括第一函数,新增的Java类的成员函数为第二函数,将第一函数与第二函数比较,如果第一函数与第二函数不同,则确定第一函数的安全性低于预设阈值,需要将第一函数替换为第二函数。
采用上述技术方案,可以将安全性较高的函数作为新增的Java类的成员函数,通过函数之间的对比,即可确定是否需要进行函数替换,方便快捷。
基于同一发明构思,本发明实施例还提供了一种编译装置。请参考图4,图4为本发明实施例提供的一种编译装置的框图。如图4所示,该装置100包括:
提取模块110,用于提取应用程序中的源文件;
确定模块120,用于确定所述源文件中被调用的第一函数的安全性低于预设阈值;
替换模块130,用于将所述第一函数替换为第二函数,所述第二函数的安全性高于所述预设阈值;
编译模块140,用于对替换后的源文件进行编译。
可选地,所述确定模块120包括:
扫描子模块,用于扫描所述源文件包括的预定接口;
确定子模块,用于确定通过所述预定接口调用的所述第一函数的安全性低于所述预设阈值;
所述编译模块140用于:
通过所述预定接口调用所述第二函数。
可选地,所述第一函数和所述第二函数至少符合以下条件之一:
所述第一函数用于以明文的形式对待传输数据进行传输,且所述第二函数用于以加密的形式对所述待传输数据进行传输;
所述第一函数用于将待存储数据存储至第一存储空间,且所述第二函数用于将所述待存储数据存储至第二存储空间,所述第二存储空间与所述第一存储空间不同;
所述第一函数用于按照第一存储路径对所述待存储数据进行存储,且所述第二函数用于按照第二存储路径对所述待存储数据进行存储,所述第二存储路径与所述第一存储路径不同。
可选地,所述确定模块120用于:
确定所述源文件中被导入的Java类的类名为第一名称,类名为所述第一名称的Java类的成员函数包括所述第一函数;
所述替换模块130用于:
将所述第一名称替换为第二名称,类名为所述第二名称的Java类的成员函数包括所述第二函数。
可选地,所述装置还包括:
创建模块,用于创建软件开发工具包SDK,所述SDK包括所述第二函数;
所述确定模块120用于:
确定所述源文件中被调用的所述第一函数与所述第二函数不同。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (4)
1.一种编译方法,其特征在于,包括:
提取应用程序中的源文件;
确定所述源文件中被调用的第一函数的安全性低于预设阈值,其中,确定所述源文件中被调用的第一函数的安全性低于预设阈值,包括:确定所述源文件中被导入的Java类的类名为第一名称,类名为所述第一名称的Java类的成员函数包括所述第一函数;
将所述第一名称替换为第二名称,类名为所述第二名称的Java类的成员函数包括第二函数,所述第二函数的安全性高于所述预设阈值;
对替换后的源文件进行编译。
2.根据权利要求1所述的方法,其特征在于,所述第一函数和所述第二函数至少符合以下条件之一:
所述第一函数用于以明文的形式对待传输数据进行传输,且所述第二函数用于以加密的形式对所述待传输数据进行传输;
所述第一函数用于将待存储数据存储至第一存储空间,且所述第二函数用于将所述待存储数据存储至第二存储空间,所述第二存储空间与所述第一存储空间不同;
所述第一函数用于按照第一存储路径对所述待存储数据进行存储,且所述第二函数用于按照第二存储路径对所述待存储数据进行存储,所述第二存储路径与所述第一存储路径不同。
3.一种编译装置,其特征在于,包括:
提取模块,用于提取应用程序中的源文件;
确定模块,用于确定所述源文件中被调用的第一函数的安全性低于预设阈值,其中,确定所述源文件中被导入的Java类的类名为第一名称,类名为所述第一名称的Java类的成员函数包括所述第一函数;
替换模块,用于将所述第一函数替换为第二函数,其中,将所述第一名称替换为第二名称,类名为所述第二名称的Java类的成员函数包括第二函数,所述第二函数的安全性高于所述预设阈值;
编译模块,用于对替换后的源文件进行编译。
4.根据权利要求3所述的装置,其特征在于,所述第一函数和所述第二函数至少符合以下条件之一:
所述第一函数用于以明文的形式对待传输数据进行传输,且所述第二函数用于以加密的形式对所述待传输数据进行传输;
所述第一函数用于将待存储数据存储至第一存储空间,且所述第二函数用于将所述待存储数据存储至第二存储空间,所述第二存储空间与所述第一存储空间不同;
所述第一函数用于按照第一存储路径对所述待存储数据进行存储,且所述第二函数用于按照第二存储路径对所述待存储数据进行存储,所述第二存储路径与所述第一存储路径不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610541554.1A CN106203085B (zh) | 2016-07-08 | 2016-07-08 | 一种编译方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610541554.1A CN106203085B (zh) | 2016-07-08 | 2016-07-08 | 一种编译方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106203085A CN106203085A (zh) | 2016-12-07 |
CN106203085B true CN106203085B (zh) | 2019-03-01 |
Family
ID=57473435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610541554.1A Active CN106203085B (zh) | 2016-07-08 | 2016-07-08 | 一种编译方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106203085B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766702A (zh) * | 2017-05-10 | 2018-03-06 | 平安科技(深圳)有限公司 | 代码混淆方法、装置及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546272A (zh) * | 2009-04-29 | 2009-09-30 | 阿里巴巴集团控股有限公司 | 一种编译器及其实现方法 |
CN103403669A (zh) * | 2011-02-11 | 2013-11-20 | 莫克纳公司 | 使设备上的app变得安全和管理设备上的app |
CN103975338A (zh) * | 2011-10-06 | 2014-08-06 | 泰雷兹公司 | 用于根据包括待保护应用程序和初始配置文件的初始包文件生成保护该应用程序的包文件的方法以及相关的计算机程序产品和计算装置 |
-
2016
- 2016-07-08 CN CN201610541554.1A patent/CN106203085B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546272A (zh) * | 2009-04-29 | 2009-09-30 | 阿里巴巴集团控股有限公司 | 一种编译器及其实现方法 |
CN103403669A (zh) * | 2011-02-11 | 2013-11-20 | 莫克纳公司 | 使设备上的app变得安全和管理设备上的app |
CN103975338A (zh) * | 2011-10-06 | 2014-08-06 | 泰雷兹公司 | 用于根据包括待保护应用程序和初始配置文件的初始包文件生成保护该应用程序的包文件的方法以及相关的计算机程序产品和计算装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106203085A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mulliner | Vulnerability analysis and attacks on NFC-enabled mobile phones | |
US9317701B2 (en) | Security methods and systems | |
EP3038004A1 (en) | Method for providing security for common intermediate language-based program | |
CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
CN106548076A (zh) | 检测应用漏洞代码的方法和装置 | |
EP2854070A1 (en) | Method and apparatus of creating application package, method and apparatus of executing application package, and recording medium storing application package | |
CN107885995A (zh) | 小程序的安全扫描方法、装置以及电子设备 | |
CN105701423B (zh) | 应用于云端支付业务的数据存储方法及装置 | |
EP3270319B1 (en) | Method and apparatus for generating dynamic security module | |
KR102197005B1 (ko) | 피싱 어플리케이션에 의해 유출된 개인정보 보호장치 및 방법 | |
CN106682561B (zh) | 一种扫描功能使用方法及装置 | |
JP2012234401A (ja) | アプリケーション解析装置およびプログラム | |
CN107689951A (zh) | 网页数据爬取方法、装置、用户终端及可读存储介质 | |
CN105635178A (zh) | 保证安全的阻塞式网络访问方法及装置 | |
CN107273142A (zh) | 程序更新方法、程序运行方法及装置 | |
CN1869927A (zh) | 设备控制器、控制设备的方法及其程序 | |
KR100864867B1 (ko) | 휴대용 단말기에서의 악성 파일 탐지 장치 및 방법 | |
EP3029595A2 (en) | Apparatuses, mobile devices, methods and computer programs for evaluating runtime information of an extracted set of instructions based on at least a part of a computer program | |
CN106203085B (zh) | 一种编译方法及装置 | |
CN110224974B (zh) | 基于第三方接入的接口鉴权方法及相关设备 | |
Averin et al. | Malicious QR-Code threats and vulnerability of blockchain | |
CN103034811A (zh) | 一种文件处理的方法、系统及装置 | |
CN104796525A (zh) | 一种短信显示的方法及装置 | |
CN108322418A (zh) | 非法访问的检测方法和装置 | |
Xu et al. | Security analysis and protection based on smali injection for android applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |