CN106022098A - 一种应用程序的签名验证方法和装置 - Google Patents

一种应用程序的签名验证方法和装置 Download PDF

Info

Publication number
CN106022098A
CN106022098A CN201610308551.3A CN201610308551A CN106022098A CN 106022098 A CN106022098 A CN 106022098A CN 201610308551 A CN201610308551 A CN 201610308551A CN 106022098 A CN106022098 A CN 106022098A
Authority
CN
China
Prior art keywords
signing messages
application program
dynamic
link library
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.)
Pending
Application number
CN201610308551.3A
Other languages
English (en)
Inventor
杨绍栋
于芝涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Poly Polytron Technologies Inc
Original Assignee
Qingdao Hisense Media Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Hisense Media Network Technology Co Ltd filed Critical Qingdao Hisense Media Network Technology Co Ltd
Priority to CN201610308551.3A priority Critical patent/CN106022098A/zh
Publication of CN106022098A publication Critical patent/CN106022098A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供了一种应用程序的签名验证方法,包括:调用预置的动态链接库中的目标函数;通过所述目标函数获取所述应用程序的动态签名信息;验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致;若不一致,则关闭所述应用程序;若一致,则运行所述应用程序。本申请实施例通过调用动态链接库中的函数来获取应用程序的动态签名信息,将动态签名信息与预埋的第一签名信息进行对比,若不一致,则关闭应用程序。由于动态链接库的破解难度高,所以通过在动态链接库中调用JAVA层的函数来获取签名信息的方法也是难以被破解的。使得仿冒者,难以获得应用程序的签名信息,从而防止程序被二次打包。

Description

一种应用程序的签名验证方法和装置
技术领域
本申请涉及信息安全技术领域,特别是涉及一种应用程序的签名验证方法和一种应用程序的签名验证装置。
背景技术
随着技术的发展,智能手机、智能电视等智能终端越来越成为人们生活中不可或缺的一部分。智能终端上的各类应用程序给人们呈现了一个丰富多彩的世界,通过应用程序,人们可以轻松地实现获取资料、观看娱乐节目,选购商品、完成支付等活动。正是由于应用程序的功能越来越强大,应用程序的数据安全也越来越受到人们的重视。
由于Android***的开放性,部分不法分子在对正规的Android APP破解后,将恶意代码植入APP重新打包。经二次打包的产生的APP不管从性能、用户体验、外观它都跟正规APP一模一样但是背后它确悄悄运行着可怕的程序,它会在不知不觉中浪费手机电量、流量,恶意扣费、偷窥隐私等等行为。面对二次打包不少公司都有自己的防范措施,不少的APP只是在其代码层面做处理防止二次打包,其做法是通过程序内动态获取应用签名与预置在程序成的明文签名信息对比,然后判断是否被二次打包,但是目前Android终端代码是极容易破译的,特别是直接写在代码中的明文签名信息更加容易暴漏。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序的签名验证方法和相应的一种应用程序的签名验证装置。
为了解决上述问题,本申请实施例公开了一种应用程序的签名验证方法,包括:
调用预置的动态链接库中的目标函数;
通过所述目标函数获取所述应用程序的动态签名信息;
验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致;
若不一致,则关闭所述应用程序;
若一致,则运行所述应用程序。
优选的,所述第一签名信息通过如下方式预埋:
获取所述应用程序的第一签名信息;
采用预设加密方式,加密所述第一签名信息;
将加密后的第一签名信息存储在所述动态链接库中。
优选的,所述验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致的步骤包括:
按所述预设加密方式,加密所述动态签名信息;
比较加密后的动态签名信息与所述第一签名信息是否一致。
优选的,所述验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致的步骤包括:
采用与所述预设加密方式对应的解密方式,解密所述第一签名信息;
比较所述解密后的第一签名信息与所述动态签名信息是否一致。
优选的,所述调用所述动态链接库中的目标函数的步骤包括:
当所述应用程序的入口函数被触发时,通过内置的JAVA本地接口调用所述动态链接库中的目标函数。
同时,本申请还公开了一种应用程序的签名验证装置,包括:
函数调用模块,用于调用预置的动态链接库中的目标函数;
动态签名获取模块,用于通过所述目标函数获取所述应用程序的动态签名信息;
验证模块,用于验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致;
关闭模块,用于若所述动态签名信息与所述第一签名信息不一致,则关闭所述应用程序;
运行模块,用于若所述动态签名信息与所述第一签名信息一致,则运行所述应用程序。
优选的,所述第一签名信息通过如下模块预埋:
第一签名获取模块,用于获取所述应用程序的第一签名信息;
第一签名加密模块,用于采用预设加密方式,加密所述第一签名信息;
存储模块,用于将加密后的第一签名信息存储在所述动态链接库中。
优选的,所述验证模块进一步包括:
动态签名加密子模块,用于按所述预设加密方式,加密所述动态签名信息;
第一比较子模块,用于比较加密后的动态签名信息与所述第一签名信息是否一致。
优选的,所述验证模块进一步包括:
解密子模块,用于采用与所述预设加密方式对应的解密方式,解密所述第一签名信息;
第二比较子模块,用于比较所述解密后的第一签名信息与所述动态签名信息是否一致。
优选的,其特征在于,所述函数调用模块进一步包括:
接口调用子模块,用于当所述应用程序的入口函数被触发时,通过内置的JAVA本地接口调用所述动态链接库中的目标函数。
本申请实施例包括以下优点:
本申请实施例通过调用动态链接库中的函数来获取应用程序的动态签名信息,将动态签名信息与预埋的第一签名信息进行对比,若不一致,则关闭应用程序。由于动态链接库的破解难度高,所以通过在动态链接库中调用JAVA层的函数来获取签名信息的方法也是难以被破解的。使得仿冒者,难以获得应用程序的签名信息,从而防止程序被二次打包。
附图说明
图1是本申请的一种应用程序的签名验证方法实施例1的步骤流程图;
图2是本申请的一种应用程序的签名验证方法实施例的流程图;
图3是本申请的一种应用程序的签名验证方法实施例2的步骤流程图;
图4是本申请实施例中一种获取应用程序的动态签名值的示意图;
图5是本申请的一种应用程序的签名验证装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,本申请实施例通过调用动态链接库中的函数来获取应用程序的动态签名信息,将动态签名信息与预埋的第一签名信息进行对比,若不一致,则关闭应用程序;若一致,则运行应用程序。
参照图1,示出了本申请的一种应用程序的签名验证方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤101,调用预置的动态链接库中的目标函数;
在android***中,动态链接库以.so格式文件存在。
动态链接库的函数并不是应用程序本身的一部分,而是根据执行应用程序的需要按需装入,同时其执行代码可在多个应用程序间共享。
动态连接库的破解需要先进行反汇编,然后再将反汇编得到的代码转换成高级语言的代码。因此,可以说动态链接库的破解难度是非常大的。
步骤102,通过所述目标函数获取所述应用程序的动态签名信息;
在安卓Android***中,所有安装到***的应用程序都有一个数字证书,所述数字证书可以用于在应用程序的开发者和应用程序之间建立信任关系。通常,如果针对一个应用程序的许可的保护等级为签名保护,那么就只有那些跟该许可所在的程序拥有同一个数字证书的应用程序(例如,同一个应用程序的不同升级版本)才能取得对所述应用程序的访问或者对数据的修改以及覆盖安装权限。安卓Android***要求每一个安装进***的应用程序都是经过数字证书签名的,而数字证书的私钥则保存在应用程序的开发者手中。因此,只要不是人为泄露,数字证书一经生成就只能在程序之内获取,这样就能够保证该应用程序数据的安全性。
应用程序的签名信息是JAVA层的代码,在本申请实施例中,通过在动态链接库中反向调用JAVA层的代码来获取应用程序签名信息。由于动态链接库几乎是不能被反解的,所以通过在动态链接库中方向调用JAVA层的代码逻辑也是不可能被反解的。这样保证了加密逻辑本身的安全性。
步骤103,验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致;
第一签名信息为应用程序的签名值,应用程序的签名值在生成后便是固定且唯一的。因此,可以将获取到的动态签名值与预埋的第一签名值进行比对,确定二者是否一致。
第一签名信息由应用程序的开发者在开发过程中,预埋到动态连接库中,一旦动态链接库被打入到android应用程序的安装包(APK,AndroidPackage)中,第一签名信息就不可能被替换或者仿冒。外部应用无法通过破解apk文件及其他方式获取到,只能通过程序内部获取。
步骤104,若不一致,则关闭所述应用程序;
若动态签名信息与第一签名信息不一致,则将发生接口调用认证错误,使应用程序自动关闭。
步骤105,若一致,则运行所述应用程序。
若动态签名信息与第一签名信息一致,则继续运行应用程序。
在本申请实施例中,通过调用动态链接库中的函数来获取应用程序的动态签名信息,将动态签名信息与预埋的第一签名信息进行对比,若不一致,则关闭应用程序。由于动态链接库的破解难度高,所以通过在动态链接库中调用JAVA层的函数来获取签名信息的方法也是难以被破解的。使得仿冒者,难以获得应用程序的签名信息,从而防止程序被二次打包。
参照图2,示出了本申请的一种应用程序的签名验证方法实施例的流程图。首先JAVA层调用JAVA本地接口(JNI,Java Native Interface)接口,通过JNI接口调用动态链接库,通过动态链接库反向调用JAVA层函数来获取应用程序签名信息。然后判断动态链接库中预埋的签名信息与反向获取的签名信息是否一致。若不一致,则结束应用程序;若一致,则继续运行应用程序。
参照图3,示出了本申请的一种应用程序的签名验证方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤201,当所述应用程序的入口函数被触发时,通过内置的JAVA本地接口调用所述动态链接库中的目标函数;
在android***中,应用程序的入口函数通常是Application类中的oncreat函数。在本申请实施例中,将通过内置的JAVA本地接口调用动态链接库中的目标函数的逻辑写在oncreat函数中。当oncreat函数被触发时,可以第一时间通过内置的JAVA本地接口调用动态链接库中的目标函数,从而触发验证逻辑。
JAVA本地接口(JNI,Java Native Interface)是一组双向的接口,JNI可以通过ID识别域(Field)和方法(Method)(这里的域指的是JAVA语言中的域,方法指的是JAVA语言中的方法,其名字和ID可以由开发者自己定义)。一个域或方法的ID是任何处理域和方法的函数的必须参数,每个函数可以接受(作为参数的)域或方法的类、名称、符号,以及它们对应返回的fieldID(域ID)或methodID(方法ID),我们可以通过域ID和方法ID,找到相应的方法,从而实现在动态链接库中调用JAVA层函数。
步骤202,通过所述目标函数获取所述应用程序的动态签名信息;
具体的,可以通过调用如下函数来获取应用程序的动态签名信息:
GetMethodID(cls,"getPackageManager","()Landroid/content/pm/PackageManager;");
GetMethodID(cls,"getPackageInfo","(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;");
GetFieldID(cls,"signatures","[Landroid/content/pm/Signature;");
如图4所示,是本申请实施例中一种获取应用程序的动态签名值的示意图。在具体实现中,可以基于安卓Android***的JAVA本地接口,调用动态链接库,并通过在所述动态链接库中反向调用JAVA的技术,获取到所述应用程序的动态签名值。
步骤203,验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致;
在本申请的一种优选实施例中,所述第一签名信息通过如下方式预埋:
子步骤S11,获取所述应用程序的第一签名信息;
第一签名信息,即应用程序的签名值,由应用程序的开发者唯一生成。
子步骤S12,采用预设加密方式,加密所述第一签名信息;
动态链接库虽然破解难度大,但是还是有可能被攻破,特别是里面的明文信息,但是方法新被获取的可能性不大。
因此,在本申请实施例中,进一步对预埋在动态链接库中的第一签名信息进行加密,使得第一签名信息更加不易被获取。例如,可以对第一签名信息进行MD5加密处理。
子步骤S13,将加密后的第一签名信息存储在所述动态链接库中。
由开发者将加密后的第一签名信息存储到动态链接库中,然后再将动态链接库打入apk中。
在本申请的一种优选实施例中,所述步骤203可以包括如下子步骤:
子步骤S21,按所述预设加密方式,加密所述动态签名信息;
在本申请实施例中,由于第一签名信息是按预设的加密方式在开发过程中就进行加密的。因此,在验证签名之前,可以对动态签名信息采用与加密第一签名信息同样的加密方式进行加密。例如,如果第一签名信息是采用MD5加密的,动态签名信息也采用MD5进行加密。
子步骤S22,比较加密后的动态签名信息与所述第一签名信息是否一致。
比较加密后的动态签名信息与经过加密的第一签名信息是否一致。
在本申请的另一种优选实施例中,所述步骤203可以包括如下子步骤:
子步骤S31,采用与所述预设加密方式对应的解密方式,解密所述第一签名信息;
除了验证,经过加密后的动态签名信息和经过加密的第一签名信息是否一致之外。还可以先将经过加密的第一签名信息解密,然后再比较动态签名信息与解密后的第一签名信息是否一致。
子步骤S32,比较所述解密后的第一签名信息与所述动态签名信息是否一致。
步骤204,若不一致,则关闭所述应用程序;
步骤205,若一致,则运行所述应用程序。
在本申请实施例中,在获取到应用程序的第一签名值后,对所述第一签名值进行加密处理,然后将加密后的签名值预埋至动态链接库,使得动态链接库中的明文数据更加牢固,敏感信息更加不易被获取,进一步确保了应用程序的数据安全。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图5,示出了本申请的一种应用程序的签名验证装置实施例的结构框图,具体可以包括如下模块:
函数调用模块51,用于调用预置的动态链接库中的目标函数;
动态签名获取模块52,用于通过所述目标函数获取所述应用程序的动态签名信息;
验证模块53,用于验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致;
关闭模块54,用于若所述动态签名信息与所述第一签名信息不一致,则关闭所述应用程序;
运行模块55,用于若所述动态签名信息与所述第一签名信息一致,则运行所述应用程序。
在本申请实施例中的一种优选示例中,所述第一签名信息通过如下模块预埋:
第一签名获取模块,用于获取所述应用程序的第一签名信息;
第一签名加密模块,用于采用预设加密方式,加密所述第一签名信息;
存储模块,用于将加密后的第一签名信息存储在所述动态链接库中。
在本申请实施例中的一种优选示例中,所述验证模块53可以进一步包括:
动态签名加密子模块,用于按所述预设加密方式,加密所述动态签名信息;
第一比较子模块,用于比较加密后的动态签名信息与所述第一签名信息是否一致。
在本申请实施例中的一种优选示例中,所述验证模块53可以进一步包括:
解密子模块,用于采用与所述预设加密方式对应的解密方式,解密所述第一签名信息;
第二比较子模块,用于比较所述解密后的第一签名信息与所述动态签名信息是否一致。
在本申请实施例中的一种优选示例中,所述函数调用模块51进一步包括:
接口调用子模块,用于当所述应用程序的入口函数被触发时,通过内置的JAVA本地接口调用所述动态链接库中的目标函数。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种应用程序的签名验证方法和一种应用程序的签名验证装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种应用程序的签名验证方法,其特征在于,包括:
调用预置的动态链接库中的目标函数;
通过所述目标函数获取所述应用程序的动态签名信息;
验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致;
若不一致,则关闭所述应用程序;
若一致,则运行所述应用程序。
2.根据权利要求1所述的方法,其特征在于,所述第一签名信息通过如下方式预埋:
获取所述应用程序的第一签名信息;
采用预设加密方式,加密所述第一签名信息;
将加密后的第一签名信息存储在所述动态链接库中。
3.根据权利要求2所述的方法,其特征在于,所述验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致的步骤包括:
按所述预设加密方式,加密所述动态签名信息;
比较加密后的动态签名信息与所述第一签名信息是否一致。
4.根据权利要求2所述的方法,其特征在于,所述验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致的步骤包括:
采用与所述预设加密方式对应的解密方式,解密所述第一签名信息;
比较所述解密后的第一签名信息与所述动态签名信息是否一致。
5.根据权利要求1或2或3或4所述的方法,其特征在于,所述调用所述动态链接库中的目标函数的步骤包括:
当所述应用程序的入口函数被触发时,通过内置的JAVA本地接口调用所述动态链接库中的目标函数。
6.一种应用程序的签名验证装置,其特征在于,包括:
函数调用模块,用于调用预置的动态链接库中的目标函数;
动态签名获取模块,用于通过所述目标函数获取所述应用程序的动态签名信息;
验证模块,用于验证所述动态签名信息与所述动态链接库中预埋的第一签名信息是否一致;
关闭模块,用于若所述动态签名信息与所述第一签名信息不一致,则关闭所述应用程序;
运行模块,用于若所述动态签名信息与所述第一签名信息一致,则运行所述应用程序。
7.根据权利要求6所述的装置,其特征在于,所述第一签名信息通过如下模块预埋:
第一签名获取模块,用于获取所述应用程序的第一签名信息;
第一签名加密模块,用于采用预设加密方式,加密所述第一签名信息;
存储模块,用于将加密后的第一签名信息存储在所述动态链接库中。
8.根据权利要求7所述的装置,其特征在于,所述验证模块进一步包括:
动态签名加密子模块,用于按所述预设加密方式,加密所述动态签名信息;
第一比较子模块,用于比较加密后的动态签名信息与所述第一签名信息是否一致。
9.根据权利要求7所述的装置,其特征在于,所述验证模块进一步包括:
解密子模块,用于采用与所述预设加密方式对应的解密方式,解密所述第一签名信息;
第二比较子模块,用于比较所述解密后的第一签名信息与所述动态签名信息是否一致。
10.根据权利要求6或7或8或9所述的装置,其特征在于,所述函数调用模块进一步包括:
接口调用子模块,用于当所述应用程序的入口函数被触发时,通过内置的JAVA本地接口调用所述动态链接库中的目标函数。
CN201610308551.3A 2016-05-10 2016-05-10 一种应用程序的签名验证方法和装置 Pending CN106022098A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610308551.3A CN106022098A (zh) 2016-05-10 2016-05-10 一种应用程序的签名验证方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610308551.3A CN106022098A (zh) 2016-05-10 2016-05-10 一种应用程序的签名验证方法和装置

Publications (1)

Publication Number Publication Date
CN106022098A true CN106022098A (zh) 2016-10-12

Family

ID=57099329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610308551.3A Pending CN106022098A (zh) 2016-05-10 2016-05-10 一种应用程序的签名验证方法和装置

Country Status (1)

Country Link
CN (1) CN106022098A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106709324A (zh) * 2016-11-10 2017-05-24 京东方科技集团股份有限公司 用于验证应用安全性的方法和设备
CN106899593A (zh) * 2017-02-27 2017-06-27 深圳数字电视国家工程实验室股份有限公司 一种app重打包验证方法和装置
CN107870793A (zh) * 2017-12-22 2018-04-03 上海众人网络安全技术有限公司 一种应用程序中加载so文件的方法及装置
CN108197469A (zh) * 2017-11-28 2018-06-22 东软集团股份有限公司 校验应用程序的方法、装置和存储介质以及电子设备
CN108399320A (zh) * 2018-02-24 2018-08-14 北京三快在线科技有限公司 一种控制应用内功能运行的方法及装置
CN108427880A (zh) * 2018-03-07 2018-08-21 北京元心科技有限公司 程序运行的方法及装置
CN111046377A (zh) * 2019-12-25 2020-04-21 五八同城信息技术有限公司 加载动态链接库的方法、装置、电子设备及存储介质
CN111353148A (zh) * 2020-02-07 2020-06-30 贝壳技术有限公司 一种确定应用程序是否被重打包的方法及设备
CN111787369A (zh) * 2019-04-03 2020-10-16 深圳Tcl数字技术有限公司 一种智能电视root权限控制方法、***及存储介质
CN112529423A (zh) * 2020-12-15 2021-03-19 青岛海尔科技有限公司 目标资源的获取方法及装置、存储介质、电子装置
CN112861191A (zh) * 2021-04-23 2021-05-28 腾讯科技(深圳)有限公司 一种应用程序监控方法及装置
CN113761587A (zh) * 2020-09-23 2021-12-07 北京沃东天骏信息技术有限公司 用于签名校验的方法和装置
CN115001782A (zh) * 2022-05-26 2022-09-02 爱驰汽车有限公司 接口请求参数的处理方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902859A (zh) * 2013-12-25 2014-07-02 武汉安天信息技术有限责任公司 基于JAVA下hook技术的代码保护方法及***
CN104021321A (zh) * 2014-06-17 2014-09-03 北京奇虎科技有限公司 软件安装包的加固保护方法和装置
CN104199657A (zh) * 2014-08-27 2014-12-10 百度在线网络技术(北京)有限公司 开放平台的调用方法及装置
CN104268468A (zh) * 2014-09-25 2015-01-07 福建升腾资讯有限公司 一种对Android***动态链接库保护方法及***
CN104281788A (zh) * 2013-07-05 2015-01-14 腾讯科技(深圳)有限公司 一种终端应用的保护方法及装置
CN104615933A (zh) * 2015-01-27 2015-05-13 北京奇虎科技有限公司 防软件反编译的方法、防反编译软件启动的方法和装置
CN105068932A (zh) * 2015-08-25 2015-11-18 北京安普诺信息技术有限公司 一种Android应用程序加壳的检测方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281788A (zh) * 2013-07-05 2015-01-14 腾讯科技(深圳)有限公司 一种终端应用的保护方法及装置
CN103902859A (zh) * 2013-12-25 2014-07-02 武汉安天信息技术有限责任公司 基于JAVA下hook技术的代码保护方法及***
CN104021321A (zh) * 2014-06-17 2014-09-03 北京奇虎科技有限公司 软件安装包的加固保护方法和装置
CN104199657A (zh) * 2014-08-27 2014-12-10 百度在线网络技术(北京)有限公司 开放平台的调用方法及装置
CN104268468A (zh) * 2014-09-25 2015-01-07 福建升腾资讯有限公司 一种对Android***动态链接库保护方法及***
CN104615933A (zh) * 2015-01-27 2015-05-13 北京奇虎科技有限公司 防软件反编译的方法、防反编译软件启动的方法和装置
CN105068932A (zh) * 2015-08-25 2015-11-18 北京安普诺信息技术有限公司 一种Android应用程序加壳的检测方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106709324A (zh) * 2016-11-10 2017-05-24 京东方科技集团股份有限公司 用于验证应用安全性的方法和设备
WO2018086276A1 (zh) * 2016-11-10 2018-05-17 京东方科技集团股份有限公司 用于验证应用安全性的方法和设备
US10621335B2 (en) 2016-11-10 2020-04-14 Boe Technology Group Co., Ltd. Method and device for verifying security of application
CN106899593A (zh) * 2017-02-27 2017-06-27 深圳数字电视国家工程实验室股份有限公司 一种app重打包验证方法和装置
CN108197469A (zh) * 2017-11-28 2018-06-22 东软集团股份有限公司 校验应用程序的方法、装置和存储介质以及电子设备
CN107870793A (zh) * 2017-12-22 2018-04-03 上海众人网络安全技术有限公司 一种应用程序中加载so文件的方法及装置
CN107870793B (zh) * 2017-12-22 2021-03-23 上海众人网络安全技术有限公司 一种应用程序中加载so文件的方法及装置
CN108399320A (zh) * 2018-02-24 2018-08-14 北京三快在线科技有限公司 一种控制应用内功能运行的方法及装置
CN108427880A (zh) * 2018-03-07 2018-08-21 北京元心科技有限公司 程序运行的方法及装置
CN108427880B (zh) * 2018-03-07 2022-09-16 北京元心科技有限公司 程序运行的方法及装置
CN111787369A (zh) * 2019-04-03 2020-10-16 深圳Tcl数字技术有限公司 一种智能电视root权限控制方法、***及存储介质
CN111787369B (zh) * 2019-04-03 2022-05-03 深圳Tcl数字技术有限公司 一种智能电视root权限控制方法、***及存储介质
CN111046377A (zh) * 2019-12-25 2020-04-21 五八同城信息技术有限公司 加载动态链接库的方法、装置、电子设备及存储介质
CN111046377B (zh) * 2019-12-25 2023-11-14 五八同城信息技术有限公司 加载动态链接库的方法、装置、电子设备及存储介质
CN111353148A (zh) * 2020-02-07 2020-06-30 贝壳技术有限公司 一种确定应用程序是否被重打包的方法及设备
CN111353148B (zh) * 2020-02-07 2022-10-14 贝壳技术有限公司 一种确定应用程序是否被重打包的方法及设备
CN113761587A (zh) * 2020-09-23 2021-12-07 北京沃东天骏信息技术有限公司 用于签名校验的方法和装置
CN112529423A (zh) * 2020-12-15 2021-03-19 青岛海尔科技有限公司 目标资源的获取方法及装置、存储介质、电子装置
CN112861191A (zh) * 2021-04-23 2021-05-28 腾讯科技(深圳)有限公司 一种应用程序监控方法及装置
CN115001782A (zh) * 2022-05-26 2022-09-02 爱驰汽车有限公司 接口请求参数的处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN106022098A (zh) 一种应用程序的签名验证方法和装置
CN108399329B (zh) 一种提高可信应用程序安全的方法
CN102760219B (zh) 一种Android平台软件保护***、方法及设备
AU2009233685B2 (en) Method and apparatus for incremental code signing
Ekberg et al. The untapped potential of trusted execution environments on mobile devices
CN105956456B (zh) 一种对Android***进行四重联合签名验证的实现方法
AU2012337403B2 (en) Cryptographic system and methodology for securing software cryptography
CN106355081A (zh) 一种安卓程序启动校验方法和装置
CN106055936B (zh) 可执行程序数据包加密/解密方法及装置
CN105844150A (zh) 一种应用程序的数据保护方法和装置
CN104751049B (zh) 一种应用程序安装方法及移动终端
CN109960903A (zh) 一种应用加固的方法、装置、电子设备及存储介质
CN104680061A (zh) 一种Android环境下应用程序启动中代码签名验证的方法和***
CN105718807A (zh) 基于软tcm和可信软件栈的安卓***及其可信认证***与方法
CN111191195A (zh) 一种用于保护apk的方法和装置
US20170286665A1 (en) Devices and methods for facilitating software signing by more than one signing authority
Jung et al. A secure platform for iot devices based on arm platform security architecture
CN108804935A (zh) 一种基于TrustZone的安全加密存储***及方法
Jung et al. A secure platform model based on ARM platform security architecture for IoT devices
Albakri et al. Survey on Reverse‐Engineering Tools for Android Mobile Devices
CN108416224A (zh) 一种数据加解密方法及装置
Yalew et al. TruApp: A TrustZone-based authenticity detection service for mobile apps
Cooijmans et al. Secure key storage and secure computation in Android
CN108923910A (zh) 一种移动应用apk防篡改的方法
WO2015154469A1 (zh) 数据库的操作方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170123

Address after: 266000 Shandong Province, Qingdao city Laoshan District Songling Road No. 399

Applicant after: Poly Polytron Technologies Inc

Address before: 266100 Laoshan, Qingdao province Hongkong District No. East Road, room 248, room 131

Applicant before: Hisense Media Networks Co., Ltd.

RJ01 Rejection of invention patent application after publication

Application publication date: 20161012

RJ01 Rejection of invention patent application after publication