CN109376505A - 一种andriod平台上对so文件的保护方法和装置 - Google Patents

一种andriod平台上对so文件的保护方法和装置 Download PDF

Info

Publication number
CN109376505A
CN109376505A CN201710652616.0A CN201710652616A CN109376505A CN 109376505 A CN109376505 A CN 109376505A CN 201710652616 A CN201710652616 A CN 201710652616A CN 109376505 A CN109376505 A CN 109376505A
Authority
CN
China
Prior art keywords
file
listed files
default
files
predetermined condition
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
CN201710652616.0A
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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710652616.0A priority Critical patent/CN109376505A/zh
Publication of CN109376505A publication Critical patent/CN109376505A/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种andriod平台上对so文件的保护方法和装置,涉及信息处理技术领域,所述方法包括:通过获得当前adriod平台加载的所述so文件的第一文件列表;判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;如不满足第一预定条件,则判断所述so文件需要保护。解决了现有技术中由于没有对so文件进行合理保护,从而造成开发厂商的成果文件被非法盗取的技术问题。达到了对so文件进行保护,防止其他程序非法盗用,同时还可以对不具备联网功能的so文件的运行环境,进行判断是否异常的技术效果。

Description

一种andriod平台上对so文件的保护方法和装置
技术领域
本发明涉及信息处理技术领域,尤其涉及一种andriod平台上对so文件的保护方法和装置。
背景技术
随着程序的功能日益丰富,那么模块化开发变得是一种开发趋势,同时Android系统也提供独立模块的文件以及独立模块的加载方式和使用。
每个独立的模块则是一个SO文件,该文件可以使用C或者C++语言开发,同时开发模块者为了保障程序的可用性和易用性,会将SO的接口设计的更为简洁和好用。
现有技术中由于在Android程序发布时,每个独立的SO文件会随之一起发布到用户的终端中,由于没有对so文件进行保护,导致他人可以轻易的获取到所有的SO文件,并且通过分析轻易的获取SO的所有接口,可以将该SO文件使用到自己的Android程序中,导致开发厂商的成果文件被非法盗取,。
发明内容
本发明实施例提供了一种andriod平台上对so文件的保护方法和装置,解决了现有技术中由于没有对so文件进行合理保护,从而造成开发厂商的成果文件被非法盗取的技术问题。
鉴于上述问题,提出了本申请实施例以便提供一种andriod平台上对so文件的保护方法和装置。
第一方面,本发明提供了一种andriod平台上对so文件的保护方法,所述方法包括:获得当前adriod平台加载的所述so文件的第一文件列表;判断所述所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;如不满足第一预定条件,则判断所述so文件需要保护。
优选的,在获得当前adriod平台加载的所述so文件的第一文件列表之前,所述方法还包括:获得所述so文件的第二文件列表,其中,所述so文件的第二文件列表中的so文件数为N,所述so文件的第一文件列表中的so文件数为M,且所述M、N均为正整数,其M大于N;其中,所述方法还包括:判断所述so文件的第二文件列表与第二预设文件列表是否满足第二预定条件,其中,所述第二预设文件列表是当前应用程序的必要so文件列表;如不满足第二预定条件,则判断所述so文件需要保护。
优选的,所述方法还包括:所述so文件具有第一状态和第二状态,其中,所述第一状态表示所述so文件不能被执行;所述第二状态表示所述so文件能被执行;其中,在判断所述so文件需要保护之后,所述方法还包括:使所述so文件处于第一状态。
优选的,所述判断所述so文件的第二文件列表与第二预设文件列表是否满足第二预定条件,还包括:根据所述第二预设文件列表获得第一校验值;其中所述第一校验值表示所述第二预设文件列表中的so文件按照第一计算方式获得第一计算值;从所述第二文件列表中获得所述与第二预设文件列表中相同的so文件;根据所述so文件和第一计算方式获得第二文件列表中的第二计算值;判断所述第一计算值和所述第二计算值是否相同。
优选的,所述方法还包括:从本地获取所述so文件的第一预设文件列表。
优选的,所述方法还包括:从服务器端获取所述so文件的第一预设文件列表。
优选的,所述获得所述so文件的第二文件列表,还包括:获得当前andriod加载的所有so文件;对所述所有so文件进行名称去重,所述去重后的so文件为所述所述so文件的第二文件列表。
第二方面,本发明提供了一种andriod平台上对so文件的保护装置,所述装置包括:
第一获得单元,所述第一获得单元用于获得当前adriod平台加载的所述so文件的第一文件列表;
第一判断单元,所述第一判断单元用于判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;
第二判断单元,所述第二判断单元用于如不满足第一预定条件,则判断所述so文件需要保护。
优选的,在获得当前adriod平台加载的所述so文件的第一文件列表之前,所述装置还包括:
第二获得单元,所述第二获得单元用于获得所述so文件的第二文件列表,其中,所述so文件的第二文件列表中的so文件数为N,所述so文件的第一文件列表中的so文件数为M,且所述M、N均为正整数,其M大于N;
其中,所述装置还包括:
第三判断单元,所述第三判断单元用于判断所述so文件的第二文件列表与第二预设so文件列表是否满足第二预定条件,其中,所述第二预设so文件列表是当前应用程序的必要so文件;
第四判断单元,所述第四判断单元用于如不满足第二预定条件,则判断所述so文件需要保护。
优选的,所述装置还包括:
第五判断单元,所述第五判断单元用于所述so文件具有第一状态和第二状态,其中,所述第一状态表示所述so文件不能被执行;所述第二状态表示所述so文件能被执行;其中,在判断所述so文件需要保护之后,所述方法还包括:使所述so文件处于第一状态。
优选的,所述判断所述so文件的第二文件列表与第二预设so文件列表是否满足第二预定条件,还包括:
第三获得单元,所述第三获得单元用于根据所述第二预设文件列表获得第一校验值;其中所述第一校验值表示所述第二预设文件列表中的so文件的按照第一计算方式获得第一计算值;
第四获得单元,所述第四获得单元用于从所述第二文件列表中获得所述与第二预设文件中相同的so文件;
第五获得单元,所述第五获得单元用于根据所述so文件和第一计算方式获得第二文件列表中的第二计算值;
第六判断单元,所述第六判断单元用于判断所述第一计算值和所述第二计算值是否相同。
优选的,所述装置还包括:
第六获得单元,所述第六获得单元用于从本地获取所述so文件的第一预设文件列表。
优选的,所述装置还包括:
第七获得单元,所述第七获得单元用于从服务器端获取所述so文件的第一预设文件列表。
优选的,所述获得所述so文件的第二文件列表,还包括:
第八获得单元,所述第八获得单元用于获得当前andriod加载的所有so文件;
第一去重单元,所述第一去重单元用于对所述所有so文件进行名称去重,
第一确定单元,所述第一确定单元用于所述去重后的so文件为所述so文件的第二文件列表。
第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获得当前adriod平台加载的所述so文件的第一文件列表;判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;如不满足第一预定条件,则判断所述so文件需要保护
第四方面,本发明提供了一种andriod平台上对so文件的保护装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:获得当前adriod平台加载的所述so文件的第一文件列表;判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;如不满足第一预定条件,则判断所述so文件需要保护。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
1.本申请实施例提供的一种andriod平台上对so文件的保护方法和装置,通过获得当前adriod平台加载的所述so文件的第一文件列表;判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;如不满足第一预定条件,则判断所述so文件需要保护。解决了现有技术中由于没有对so文件进行合理保护,从而造成开发厂商的成果文件被非法盗取的技术问题。达到了对so文件进行保护,防止其他程序非法盗用,同时还可以对不具备联网功能的so文件的运行环境,进行判断是否异常的技术效果。
2.本申请实施例通过获得所述so文件的第二文件列表,其中,所述so文件的第二文件列表中的so文件数为N,所述so文件的第一文件列表中的so文件数为M,且所述M、N均为正整数,其M大于N;其中,所述方法还包括:判断所述所述so文件的第二文件列表与第二预设so文件列表是否满足第二预定条件,其中,所述第二预设so文件列表是当前应用程序的必要so文件列表;如不满足第二预定条件,则判断所述so文件需要保护。进一步解决了现有技术中由于没有对so文件进行合理保护,从而造成开发厂商的成果文件被非法盗取的技术问题。进一步达到了准确筛选出需要进行保护的so文件的技术效果。
3、本申请实施例通过根据所述第二预设文件列表获得第一校验值;其中所述第一校验值表示所述第二预设文件中的so文件按照第一计算方式获得第一计算值;从所述第二文件列表中获得所述与第二预设文件列表中相同的so文件;根据所述so文件和第一计算方式获得第二文件列表中的第二计算值;判断所述第一计算值和所述第二计算值是否相同。进一步解决了现有技术中由于没有对so文件进行合理保护,从而造成开发厂商的成果文件被非法盗取的技术问题。进一步达到了有效防止其他程序非法盗用so文件的技术效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
图1为本发明实施例中一种andriod平台上对so文件的保护方法的流程示意图;
图2为本发明实施例中一种andriod平台上对so文件的保护装置的结构示意图;
图3为本发明实施例中另一种andriod平台上对so文件的保护装置的结构示意图。
具体实施方式
本发明实施例提供了一种andriod平台上对so文件的保护方法和装置,用于解决了现有技术中由于没有对so文件进行合理保护,从而造成开发厂商的成果文件被非法盗取的技术问题。本发明提供的技术方案总体思路如下:
在本发明实施例的技术方案中,获得当前adriod平台加载的所述so文件的第一文件列表;判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;如不满足第一预定条件,则判断所述so文件需要保护。解决了现有技术中由于没有对so文件进行合理保护,从而造成开发厂商的成果文件被非法盗取的技术问题。达到了对so文件进行保护,防止其他程序非法盗用,同时还可以对不具备联网功能的so文件的运行环境,进行判断是否异常的技术效果。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
实施例一
图1为本发明实施例中一种andriod平台上对so文件的保护方法的流程示意图。如图1所示,所述方法包括:
步骤110:获得当前adriod平台加载的所述so文件的第一文件列表;
进一步的,从本地获取所述so文件的第一预设文件列表;从服务器端获取所述所述so文件的第一预设文件列表。
具体而言,Android(安卓)是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟开发与领导。所述so文件为提供独立模块的文件以及独立模块的加载方式和使用。每个独立的模块则是一个so文件。例如对于直播平台的弹幕so文件、鉴权so文件、美颜so文件、语音so文件、视频编解码so文件等。由于有的so文件具有联网功能,则可以通过服务器端获取所述第一预设so文件,有的so文件不具备联网功能,就需要通过从本地获取所述so文件的第一预设文件列表,所述so文件的第一预设文件列表是合法方安卓程序正常运行的所有so文件列表,所述so文件的第一文件列表是当前运行的安卓程序运行的所有so文件列表。
步骤120:判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;
步骤130:如不满足第一预定条件,则判断所述so文件需要保护。
具体而言,将所述so文件的第一文件列表与所述so文件的第一预设文件列表进行对比,如果所述so文件的第一文件列表没有全部包括所述so文件的第一预设文件列表,则说明所述so文件不满足第一预设条件,所述so文件需要保护。
进一步的,在获得当前adriod平台加载的所述so文件的第一文件列表之前,所述方法还包括:获得所述so文件的第二文件列表,其中,所述so文件的第二文件列表中的so文件数为N,所述so文件的第一文件列表中的so文件数为M,且所述M、N均为正整数,其M大于N;其中,所述方法还包括:判断所述so文件的第二文件列表与第二预设文件列表是否满足第二预定条件,其中,所述第二预设文件列表是当前应用程序的必要so文件列表;如不满足第二预定条件,则判断所述so文件需要保护。
进一步的,获得当前andriod加载的所有so文件;对所述所有so文件进行名称去重,所述去重后的so文件构成所述so文件的第二文件列表。
具体而言,所述so文件的第二文件列表为当前运行程序的核心必要so文件列表,换言之,所述第二文件列表中的so文件均为核心必要so文件,例如对于直播Android应用程序,那么其程序开发人员则会知道哪些so文件是核心技术是需要进行保护的。例如对于直播平台的弹幕so、鉴权so、美颜so、语音so、视频编解码so等。例如对于鉴权so文件,黑客可获取到鉴权so文件,从而直接调用鉴权so文件的鉴权算法,从而绕过了直播平台的鉴权逻辑。例如对于美颜so文件,第三方平台可以拿到美颜so文件进行直接使用,从而核心技术被第三方平台直接使用。而第二预设so文件列表为合法安卓程序正常运行所需要的核心必要so文件。由于所述第一so文件是所述当前运行程序的所有so文件列表,用M表示,所述第二so文件是所述当前核心必要so文件列表,用N表示,所以M大于N。
具体来讲,在获得所述第一so文件之前,需要先获得当前andriod程序加载的所有so文件,然后对所述所有so文件进行名称去重,即删除多余名称相同的so文件,相同名称的so文件,只保留一份,删除重复so文件后的全部so文件构成所述so文件的第二文件列表。根据所述so文件的第二文件列表与第二预设so文件列表判断所述所述so文件的第二文件列表是否满足第二预定条件,如果不满足所述第二预定条件,则所述so文件需要保护,也就是说,如果所述所述so文件的第二文件列表不满足所述第二预定条件,说明所述so文件被非法盗用。
进一步的,所述判断所述所述so文件的第二文件列表与第二预设so文件列表是否满足第二预定条件,还包括:根据所述第二预设文件列表获得第一校验值;其中所述第一校验值表示所述第二预设文件列表中的so文件按照第一计算方式获得第一计算值;从所述第二文件列表中获得与所述第二预设文件列表中相同的so文件;根据所述so文件和第一计算方式获得第二文件列表中的第二计算值;判断所述第一计算值和所述第二计算值是否相同。
具体的,所述第二预定条件具体包括:根据所述第二预设文件列表获得第一校验值,所述第一校验值为合法方安卓程序正常运行时的第一计算值,从所述第二文件列表中获得与所述第二预设文件列表中相同的文件,按照相同的计算方式,得到所述第二文件列表的计算值,即所述第二计算值,比较所述第二计算值与所述第一检验值是否相同,如果相同,则说明所述so文件没有被非法盗用,属于正常运行,如果所述第二计算值与所述第一校验值不同,则说明所述so文件正在被异常程序调用。举例来讲,假设在直播软件中,所述核心so文件被非法盗用,由于所述so文件的第一文件列表中的文件比所述so文件的第一预设文件列表中的文件少,判断所述直播软件中的核心so文件被非法盗用,使所述so文件处于不能被执行的状态,所述直播软件正常运行时需要视频流地址鉴权算法是用户登录的Tocken,当前的时间Time,用户的IP地址,用户的设备唯一ID,当前请求观看的房间RoomId,即所述第二预设文件列表,通过调用HASH算法MD5,即所述第一计算方式,来对其一起计算出一个结果,即第一计算值:KEY=MD5.create(Tocken+Time+Ip+ID+RoomId);如果所述so文件被非法盗用,则少传入一些字段来进行计算,也就是所述so文件的第二文件列表,再按照上述计算方法,得到所述第二计算值,导致最终计算出来的KEY值肯定会不对,从而使得该鉴权算法无法使用,KEY=MD5.create(Tocken+Time+Ip+ID);例如所述第二文件列表中少了RoomId,那么其最终的结果肯定会是错误。通过这个步骤达到在核心保护的so文件中设置对非法盗用核心so文件的破坏功能,从而对其核心逻辑进行保护。
这时,所述so文件需要被保护
进一步的,所述方法还包括:所述so文件具有第一状态和第二状态,其中,所述第一状态表示所述so文件不能被执行;所述第二状态表示所述so文件能被执行;其中,在判断所述so文件需要保护之后,所述方法还包括:使所述so文件处于第一状态。
具体而言,当判断所述so文件需要保护后,所述so文件将无法继续执行,从而达到了对so文件进行保护,防止其他程序非法盗用,同时还可以对不具备联网功能的so文件的运行环境,进行判断是否异常的技术效果。
实施例2
基于与前述实施例中一种andriod平台上对so文件的保护方法同样的发明构思,本发明还提供一种andriod平台上对so文件的保护装置,如图2所示,包括:
第一获得单元11,所述第一获得单元11用于获得当前adriod平台加载的所述so文件的第一文件列表;
第一判断单元12,所述第一判断单元12用于判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;
第二判断单元13,所述第二判断单元13用于如不满足第一预定条件,则判断所述so文件需要保护。
优选的,在获得当前adriod平台加载的所述so文件的第一文件列表之前,所述装置还包括:
第二获得单元,所述第二获得单元用于获得所述so文件的第二文件列表,其中,所述so文件的第二文件列表中的so文件数为N,所述so文件的第一文件列表中的so文件数为M,且所述M、N均为正整数,其M大于N;
其中,所述装置还包括:
第三判断单元,所述第三判断单元用于判断所述so文件的第二文件列表与第二预设so文件列表是否满足第二预定条件,其中,所述第二预设so文件列表是当前应用程序的必要so文件;
第四判断单元,所述第四判断单元用于如不满足第二预定条件,则判断所述so文件需要保护。
优选的,所述装置还包括:
第五判断单元,所述第五判断单元用于所述so文件具有第一状态和第二状态,其中,所述第一状态表示所述so文件不能被执行;所述第二状态表示所述so文件能被执行;其中,在判断所述so文件需要保护之后,所述方法还包括:使所述so文件处于第一状态。
优选的,所述判断所述so文件的第二文件列表与第二预设文件列表是否满足第二预定条件,还包括:
第三获得单元,所述第三获得单元用于根据所述第二预设文件列表获得第一校验值;其中所述第一校验值表示所述第二预设文件列表中的so文件按照第一计算方式获得第一计算值;
第四获得单元,所述第四获得单元用于从所述第二文件列表中获得所述与第二预设文件列表中相同的so文件;
第五获得单元,所述第五获得单元用于根据所述so文件和第一计算方式获得第二文件列表中的第二计算值;
第六判断单元,所述第六判断单元用于判断所述第一计算值和所述第二计算值是否相同。
优选的,所述装置还包括:
第六获得单元,所述第六获得单元用于从本地获取所述so文件的第一预设文件列表。
优选的,所述装置还包括:
第七获得单元,所述第七获得单元用于从服务器端获取所述so文件的第一预设文件列表。
优选的,所述获得所述so文件的第二文件列表,还包括:
第八获得单元,所述第八获得单元用于获得当前andriod加载的所有so文件;
第一去重单元,所述第一去重单元用于对所述所有so文件进行名称去重,
第一确定单元,所述第一确定单元用于所述去重后的so文件构成所述so文件的第二文件列表。
前述图1实施例1中的一种andriod平台上对so文件的保护方法的各种变化方式和具体实例同样适用于本实施例的一种andriod平台上对so文件的保护装置,通过前述对一种andriod平台上对so文件的保护方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种andriod平台上对so文件的保护装置的实施方法,所以为了说明书的简洁,在此不再详述。
实施例3
基于与前述实施例中一种andriod平台上对so文件的保护方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述一种andriod平台上对so文件的保护方法的任一方法的步骤。
其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
1.本申请实施例提供的一种andriod平台上对so文件的保护方法和装置,通过获得当前adriod平台加载的所述so文件的第一文件列表;判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;如不满足第一预定条件,则判断所述so文件需要保护。解决了现有技术中由于没有对so文件进行合理保护,从而造成开发厂商的成果文件被非法盗取的技术问题。达到了对so文件进行保护,防止其他程序非法盗用,同时还可以对不具备联网功能的so文件的运行环境,进行判断是否异常的技术效果。
2.本申请实施例通过获得所述so文件的第二文件列表,其中,所述so文件的第二文件列表中的so文件数为N,所述so文件的第一文件列表中的so文件数为M,且所述M、N均为正整数,其M大于N;其中,所述方法还包括:判断所述so文件的第二文件列表与第二预设so文件列表是否满足第二预定条件,其中,所述第二预设so文件列表是当前应用程序的必要so文件列表;如不满足第二预定条件,则判断所述so文件需要保护。进一步解决了现有技术中由于没有对so文件进行合理保护,从而造成开发厂商的成果文件被非法盗取的技术问题。进一步达到了准确筛选出需要进行保护的so文件的技术效果。
3、本申请实施例通过根据所述第二预设文件列表获得第一校验值;其中所述第一校验值表示所述第二预设文件中的so文件的按照第一计算方式获得第一计算值;从所述第二文件列表中获得与所述第二预设文件列表中相同的so文件;根据所述so文件和第一计算方式获得第二文件列表中的第二计算值;判断所述第一计算值和所述第二计算值是否相同。进一步解决了现有技术中由于没有对so文件进行合理保护,从而造成开发厂商的成果文件被非法盗取的技术问题。进一步达到了有效防止其他程序非法盗用so文件的技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种andriod平台上对so文件的保护方法,其特征在于,所述方法包括:
获得当前adriod平台加载的所述so文件的第一文件列表;
判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;
如不满足第一预定条件,则判断所述so文件需要保护。
2.如权利要求1所述的方法,其特征在于,在获得当前adriod平台加载的所述so文件的第一文件列表之前,所述方法还包括:
获得所述so文件的第二文件列表,其中,所述so文件的第二文件列表中的so文件数为N,所述so文件的第一文件列表中的so文件数为M,且所述M、N均为正整数,其中M大于N;
其中,所述方法还包括:
判断所述so文件的第二文件列表与第二预设文件列表是否满足第二预定条件,其中,所述so文件的第二文件列表是当前应用程序的必要文件列表;
如不满足第二预定条件,则判断所述so文件需要保护。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
所述so文件具有第一状态和第二状态,其中,所述第一状态表示所述so文件不能被执行;所述第二状态表示所述so文件能被执行;
其中,在判断所述so文件需要保护之后,所述方法还包括:
使所述so文件处于第一状态。
4.如权利要求2所述的方法,其特征在于,所述判断所述so文件的第二文件列表与第二预设so文件列表是否满足第二预定条件,还包括:
根据所述第二预设文件列表获得第一校验值;其中所述第一校验值表示所述第二预设文件列表中的so文件按照第一计算方式获得第一计算值;
从所述第二文件列表中获得与所述第二预设文件列表中相同的so文件;
根据所述so文件和第一计算方式获得第二文件列表中的第二计算值;
判断所述第一计算值和所述第二计算值是否相同。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
从本地获取所述so文件的第一预设文件列表。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
从服务器端获取所述so文件的第一预设文件列表。
7.如权利要求2所述的方法,其特征在于,所述获得所述so文件的第二文件列表,还包括:
获得当前andriod加载的所有so文件;
对所述所有so文件进行名称去重,
所述去重后的so文件为所述so文件的第二文件列表。
8.一种andriod平台上对so文件的保护装置,其特征在于,所述装置包括:
第一获得单元,所述第一获得单元用于获得当前adriod平台加载的所述so文件的第一文件列表;
第一判断单元,所述第一判断单元用于判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;
第二判断单元,所述第二判断单元用于如不满足第一预定条件,则判断所述so文件需要保护。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
获得当前adriod平台加载的所述so文件的第一文件列表;
判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;
如不满足第一预定条件,则判断所述so文件需要保护。
10.一种andriod平台上对so文件的保护装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
获得当前adriod平台加载的所述so文件的第一文件列表;
判断所述so文件的第一文件列表与所述so文件的第一预设文件列表是否满足第一预定条件;
如不满足第一预定条件,则判断所述so文件需要保护。
CN201710652616.0A 2017-08-02 2017-08-02 一种andriod平台上对so文件的保护方法和装置 Pending CN109376505A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710652616.0A CN109376505A (zh) 2017-08-02 2017-08-02 一种andriod平台上对so文件的保护方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710652616.0A CN109376505A (zh) 2017-08-02 2017-08-02 一种andriod平台上对so文件的保护方法和装置

Publications (1)

Publication Number Publication Date
CN109376505A true CN109376505A (zh) 2019-02-22

Family

ID=65403551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710652616.0A Pending CN109376505A (zh) 2017-08-02 2017-08-02 一种andriod平台上对so文件的保护方法和装置

Country Status (1)

Country Link
CN (1) CN109376505A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764784A (zh) * 2019-10-24 2020-02-07 北京智游网安科技有限公司 一种识别三方so文件的方法、智能终端及存储介质
CN111310131A (zh) * 2020-01-19 2020-06-19 Oppo广东移动通信有限公司 so库调用处理方法、装置、电子装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560776B1 (en) * 2000-02-18 2003-05-06 Avaya Technology Corp. Software installation verification tool
CN102495986A (zh) * 2011-12-15 2012-06-13 上海中标凌巧软件科技有限公司 计算机系统中实现避免加密数据被盗用的调用控制方法
CN102736978A (zh) * 2012-06-26 2012-10-17 奇智软件(北京)有限公司 一种检测应用程序的安装状态的方法及装置
CN102779257A (zh) * 2012-06-28 2012-11-14 奇智软件(北京)有限公司 一种Android应用程序的安全检测方法及系统
CN104573494A (zh) * 2014-12-30 2015-04-29 北京工业大学 一种基于wmi软件白名单机制的移动安全办公方法
CN106371940A (zh) * 2015-07-21 2017-02-01 腾讯科技(深圳)有限公司 一种程序崩溃解决方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560776B1 (en) * 2000-02-18 2003-05-06 Avaya Technology Corp. Software installation verification tool
CN102495986A (zh) * 2011-12-15 2012-06-13 上海中标凌巧软件科技有限公司 计算机系统中实现避免加密数据被盗用的调用控制方法
CN102736978A (zh) * 2012-06-26 2012-10-17 奇智软件(北京)有限公司 一种检测应用程序的安装状态的方法及装置
CN102779257A (zh) * 2012-06-28 2012-11-14 奇智软件(北京)有限公司 一种Android应用程序的安全检测方法及系统
CN104573494A (zh) * 2014-12-30 2015-04-29 北京工业大学 一种基于wmi软件白名单机制的移动安全办公方法
CN106371940A (zh) * 2015-07-21 2017-02-01 腾讯科技(深圳)有限公司 一种程序崩溃解决方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张跃骞 等: "基于机器学习的Windows环境下恶意程序检测系统", 《重庆邮电大学学报(自然科学版)》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764784A (zh) * 2019-10-24 2020-02-07 北京智游网安科技有限公司 一种识别三方so文件的方法、智能终端及存储介质
CN111310131A (zh) * 2020-01-19 2020-06-19 Oppo广东移动通信有限公司 so库调用处理方法、装置、电子装置及存储介质
CN111310131B (zh) * 2020-01-19 2022-11-04 Oppo广东移动通信有限公司 so库调用处理方法、装置、电子装置及存储介质

Similar Documents

Publication Publication Date Title
CN107465660B (zh) 一种视频流地址鉴权方法及装置
CN108664773A (zh) Java源代码的保护方法及装置
CN104751049B (zh) 一种应用程序安装方法及移动终端
CN104767713B (zh) 账号绑定的方法、服务器及系统
CN109327442A (zh) 基于行为白名单的异常检测方法、装置以及电子设备
CN103975567B (zh) 双因素认证方法及虚拟机设备
JP2014526728A (ja) プロセス毎ネットワーキング機能
CN109086578A (zh) 一种软件授权使用的方法、设备及存储介质
CN105933374A (zh) 一种移动终端数据备份方法、系统及移动终端
CN109407651A (zh) 车辆的控制方法及装置
CN112560110A (zh) 授权协议的签署方法、装置、电子设备及存储介质
CN103970540B (zh) 关键函数安全调用方法及装置
CN109376505A (zh) 一种andriod平台上对so文件的保护方法和装置
CN108599959A (zh) 授权证书校验方法、装置及可读存储介质、应用设备
US10719456B2 (en) Method and apparatus for accessing private data in physical memory of electronic device
CN104965701B (zh) 获取应用信息的方法及装置
CN113448681B (zh) 一种虚拟机监控器公钥的注册方法、设备和存储介质
US20190236269A1 (en) Detecting third party software elements
US10296737B2 (en) Security enforcement in the presence of dynamic code loading
CN109214179A (zh) 一种程序模块安全检测方法及装置
CN107154930B (zh) 一种测试漏洞的方法和系统
CN109710692A (zh) 一种区块链网络中用户信息处理方法、装置及存储介质
CN110830930B (zh) 验证码防探嗅处理方法和装置
CN105279019B (zh) 一种应用程序的调度方法、装置和终端设备
CN106650471A (zh) 一种安全处理方法、设备及系统

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190222

RJ01 Rejection of invention patent application after publication