CN110414217B - 应用程序的安全运行方法、装置、电子设备和存储介质 - Google Patents

应用程序的安全运行方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN110414217B
CN110414217B CN201910698978.2A CN201910698978A CN110414217B CN 110414217 B CN110414217 B CN 110414217B CN 201910698978 A CN201910698978 A CN 201910698978A CN 110414217 B CN110414217 B CN 110414217B
Authority
CN
China
Prior art keywords
dynamic library
target shared
shared dynamic
application program
preset
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
Application number
CN201910698978.2A
Other languages
English (en)
Other versions
CN110414217A (zh
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.)
Guangdong Genius Technology Co Ltd
Original Assignee
Guangdong Genius 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 Guangdong Genius Technology Co Ltd filed Critical Guangdong Genius Technology Co Ltd
Priority to CN201910698978.2A priority Critical patent/CN110414217B/zh
Publication of CN110414217A publication Critical patent/CN110414217A/zh
Application granted granted Critical
Publication of CN110414217B publication Critical patent/CN110414217B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例公开了一种应用程序的安全运行方法、装置、电子设备和存储介质,该方法包括:通过检测目标共享动态库的文件名来判断目标共享动态库是否包括预设标识;若是,则应用预设加密算法对目标共享动态库进行加密;将加密后的目标共享动态库打包至应用程序的安装包中,以应用安装包安装应用程序;检测到用户启动应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密;加载解密后的目标共享动态库以运行应用程序,并移除存储有目标共享动态库的加载路径的文件。降低了现有技术中安卓应用程序被破解的风险,进一步保证了安全。

Description

应用程序的安全运行方法、装置、电子设备和存储介质
技术领域
本申请实施例涉及电子设备技术,尤其涉及一种应用程序的安全运行方法、装置、设备和存储介质。
背景技术
目前市场上针对安卓应用程序的攻防愈来愈烈,这样使得智能手机和智能手表等诸多电子设备在设计完成后,在使用用户版本软件时面临着应用安全问题。
相关技术中,已有的处理手段包括:安卓应用混淆、资源混淆和动态库加壳等各种手段,但是由于java混淆后仍可以通过反编译手段进行编辑研读,这样一旦被攻击或者是非法用户拿到APK(Android Package,安卓安装包)后,便可以通过反编译工具对APK进行逆向编译,得到APK内的破解程序,从而对APK中被加密的文件进行破解,进而使得非法用户可以使用破解后的应用程序,进而给软件开发商造成巨大损失。
因此,可以将大部分核心逻辑放到Linux共享库中,进一步保证代码的安全,但是对于Linux共享库也存在被破解的风险。
发明内容
本申请提供了一种应用程序的安全运行方法、装置、电子设备和存储介质方法、装置、电子设备和存储介质,以解决现有技术中安卓应用程序被破解的风险的高带来的不安全的问题。
第一方面,本申请实施例提供了一种应用程序的安全运行方法,该方法包括:
通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识;
若是,则应用预设加密算法对所述目标共享动态库进行加密;
将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序;
检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密;
加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件。
第二方面,本申请实施例提供了一种应用程序的安全运行装置,该装置包括:
判断模块,用于通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识;
加密模块,用于在所述目标共享动态库包括预设标识时,应用预设加密算法对所述目标共享动态库进行加密;
打包模块,用于将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序;
加密模块,用于检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密;
加载模块,用于加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件。
第三方面,本申请实施例提供了一种电子设备,包括存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的应用程序的安全运行方法。
第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的应用程序的安全运行方法。
本发明采用的技术方案中有如下有益效果:通过检测目标共享动态库的文件名来判断所述目标共享动态库包括预设标识时才应用预设加密算法对所述目标共享动态库进行加密,这样先做一下动态库的识别,以将加密流程区分开,实现了个性化的处理,提高了处理速度;将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序,这样应用程序的安装包中集成了加密后的目标共享动态库,更安全;检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密;这样,应用其他的连接器等无法进行解密,保证了无法动态逆向;加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件,这样就无法导出解密后的目标共享动态库,进一步保证了安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请实施例提供的一种应用程序的安全运行方法的流程图;
图2是本申请实施例提供的另一种应用程序的安全运行方法的流程图;
图3是本申请实施例提供的一种应用程序的安全运行装置的结构示意图;
图4是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种应用程序的安全运行方法的流程图,本实施例提供的应用程序的安全运行方法可以由应用程序的安全运行装置来执行,该应用程序的安全运行装置可通过硬件和/或软件的方式实现。参考图1,该方法具体可以包括:
S101、通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识,若是,则执行S102。
其中,本申请实施例可应用于安卓系统中使用Linux内核的嵌入式电子设备,如手表、手机等。具体的,首先来判断目标共享动态库是不是包括预设标识,这个预设标识可以用来区分是否需要加密目标共享动态库。例如,包括该预设标识,表明要执行本申请实施例中的加密和解密这套流程,也表明即将运行的应用程序为安全级别比较高的应用程序,例如自行开发的应用程序;不包括该预设标识,表明要执行普通的加密流程或者不加密,也表明即将运行的应用程序为安全级别较低的应用程序,例如第三方开发的应用程序。
示例性的,判断目标共享动态库是否包括预设标识的手段可以是通过检测目标共享动态库的文件名来实现,例如,该文件名中是否包括预设标识,其中,预设标识可以是设定的数字、字母或字符的组合等。另外,目标共享动态库中存储的是一些动态链接的函数、表格等数据,加载该目标共享动态库中的特定函数,应用程序才能运行。
S102、应用预设加密算法对所述目标共享动态库进行加密。
具体的,在目标共享动态库中包括上述预设标识时,应用预设加密算法对目标共享动态库进行加密,其中,该预设加密算法不唯一,也不固定,可以是动态变化的,例如,在这次加密时应用加密算法A,在下次加密时可以应用加密算法B。而应用的预设加密算法可以是现有技术中的加密算法的改进,凡是能实现本申请的技术方案的加密算法均可,这里不进行限定。
S103、将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序。
具体的,将目标共享动态库以预设加密算法进行加密后,打包到应用程序的安装包中,也即,打包到APK包中,这样,即使逆向人员拿到该APK包,将目标共享动态库导出后,由于该目标共享动态库采用整体加密,因此,逆向手段失效,也即,无法通过常规的逆向工具进行反编译,静态逆向失败。另外,对于动态逆向,将该APK包安装到其他平台上,由于是整体加密,也会导致其他平台的连接器无法识别,应用程序也无法正常运行,因此,动态逆向失败。
另外,应用该安装包安装应用程序,在这之前,还可以有一个版本发布的步骤,也即,将集成了加密后的目标共享动态库的APK包进行发布,以使用户可以获得这个版本的安装包,以进行对应的应用程序的安装。
S104、检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密。
具体的,当用户想要运行应用程序时,可以点击该应用程序的图标,或者是通过语音唤醒的形式进行操作,此时,电子设备检测到用户启动应用程序的操作,也即,上述点击图标操作或者语音唤醒操作。此时,应用预设连接器对加密后的目标共享动态库进行解密。需要说明的是,预设连接器中的解密算法与预设加密算法相对应。该对应关系可以是指,应用其他的解密算法,或者,应用其他平台的连接器,均无法进行有效解密。而必须是当前平台的定制的预设连接器才可以进行解密,这样进一步提高了安全性。
S105、加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件。
具体的,通过加载解密后的目标共享动态库后,可以运行应用程序,同时,会生成一个存储有目标共享动态库的加载路径的文件,该文件可以称为maps文件,另外,该文件中也可以存储加载目标共享动态库的地址。而逆向人员可以通过特殊的手段将目标共享动态库从内存中导出,在本申请实施例中,将该文件即时移除,确保逆向人员无法通过此手段导出目标共享动态库,保证了足够的安全。
本发明采用的技术方案中有如下有益效果:通过检测目标共享动态库的文件名来判断所述目标共享动态库包括预设标识时才应用预设加密算法对所述目标共享动态库进行加密,这样先做一下动态库的识别,以将加密流程区分开,实现了个性化的处理,提高了处理速度;将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序,这样应用程序的安装包中集成了加密后的目标共享动态库,更安全;检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密;这样,应用其他的连接器等无法进行解密,保证了无法动态逆向;加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件,这样就无法导出解密后的目标共享动态库,进一步保证了安全性。
在上述实施例的基础上,图2给出了本申请实施例提供的另一种应用程序的安全运行方法流程图。该应用程序的安全运行方法是对上述应用程序的安全运行方法的具体化。参考图2,该应用程序的安全运行方法包括:
S201、通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识,若是,则执行S202,否则,执行S203。
S202、应用预设加密算法对所述目标共享动态库进行加密。
S203、直接根据安装应用程序;加载所述目标共享动态库,以运行所述应用程序。
具体的,目标共享动态库的文件名不包括该预设标识时,表明要执行普通的加密流程或者不加密,也表明即将运行的应用程序为安全级别较低的应用程序,例如第三方开发的应用程序。
例如,此时可以直接通过安装包安装该应用程序,加载目标共享动态库来运行应用程序,无需执行本申请实施例中的加密和解密流程。这样可以在满足开发者需求的前提下,无需花费更多的时间和精力在第三方应用程序上,进一步提高了处理效率。
S204、将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序。
S205、检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密。
S206、将解密后的目标共享动态库按照预设存储路径进行存储,其中,所述预设存储路径的访问权限的安全级别高于预设安全级别。
具体的,将解密后的目标共享动态库按照预设存储路径进行存储,以便后续需要加载时直接应用,但是,需要说明的是,该预设存储路径的访问权限的安全级别高于预设安全级别,这样就保证了不会因为节约流程直接加载导致的被破解风险更高的问题。另外,在一个具体的例子中,访问权限是指,向第三方公众开放的可访问的程度,访问权限的安全级别越高,表明能访问该预设存储路径的用户越少。在实际的应用过程中,访问权限可以是有选择性开放,例如,向某些ID(Identity document,身份标识号)的用户开放等,这里只是举例说明,并不形成具体的限定。
S207、加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件。
S208、若再次检测到用户启动所述应用程序的操作,则检测所述应用程序安装包中的目标共享动态库的头文件标识。
具体的,如果检测到用户再次启动应用程序的操作时,以第二次为例,此时,可以检测应用程序中的目标共享动态库是否包括头文件标识或检测头文件标识中的内容,以此来判断该目标共享动态库是否已经被解密。在一个具体的例子中,头文件标识可以是一串数字,当头文件标识的第一位为1时,表明目标共享动态库已经被解密,当头文件标识的第一位为0时,表明目标共享动态库未被解密。这样,通过头文件标识,就可以判断目标共享动态库是否已被解密。
S209、判断所述目标共享动态库是否已被解密,若是,则执行S210,否则,执行S211。
S210、直接通过所述预设存储路径加载解密后的目标共享动态库。
具体的,再次运行应用程序时,以第二次为例,且判断目标共享动态库已经被解密时,则由于解密后的目标共享动态库是通过预设存储路径进行存储的,则此时,直接通过预设存储路径加载解密后的目标共享动态库。
S211、应用所述预设连接器解密所述目标共享动态库并加载。
具体的,再次运行应用程序时,以第二次为例,且判断目标共享动态库未被解密时,则应用预设连接器解密目标共享动态库并加载,以运行应用程序。
本申请实施例中,还考虑了另外一种例如第三方应用程序的场景,此时,可以直接安装应用程序后,加载目标共享动态库来运行应用程序,无需进行本申请实施例中的加密和解密流程;另外,为了提高记载或运行速度,在将目标共享动态库进行解密后存储在一个安全的位置,也即,按照预设存储路径进行存储,这样在再次启动该应用程序时,可以先判断该目标共享动态库是否已经被解密过,如果是,则直接加载目标共享动态库,这样提高了加载和运行速度,另一方面,预设存储路径为一个安全级别较高的路径,因此,也不会增加被破解的风险。
在上述实施例的基础上,图3为本申请实施例提供的一种应用程序的安全运行装置的结构示意图。参考图3,本实施例提供的应用程序的安全运行装置具体包括:判断模块301、加密模块302、打包模块303、加密模块304和加载模块305。
其中,判断模块301,用于通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识;加密模块302,用于在所述目标共享动态库包括预设标识时,应用预设加密算法对所述目标共享动态库进行加密;打包模块303,用于将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序;加密模块304,用于检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密;加载模块305,用于加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件。
本发明采用的技术方案中有如下有益效果:通过检测目标共享动态库的文件名来判断所述目标共享动态库包括预设标识时才应用预设加密算法对所述目标共享动态库进行加密,这样先做一下动态库的识别,以将加密流程区分开,实现了个性化的处理,提高了处理速度;将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序,这样应用程序的安装包中集成了加密后的目标共享动态库,更安全;检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密;这样,应用其他的连接器等无法进行解密,保证了无法动态逆向;加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件,这样就无法导出解密后的目标共享动态库,进一步保证了安全性。
进一步的,还包括:
存储模块,用于在应用预设连接器对加密后的目标共享动态库进行解密之后,将解密后的目标共享动态库按照预设存储路径进行存储,其中,所述预设存储路径的访问权限的安全级别高于预设安全级别。
进一步的,还包括:
再启动模块,用于加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件之后,再次检测到用户启动所述应用程序的操作时,检测所述应用程序安装包中的目标共享动态库的头文件标识,判断所述目标共享动态库是否已被解密;若所述目标共享动态库是否已被解密,则直接通过所述预设存储路径加载解密后的目标共享动态库;否则,应用所述预设连接器解密所述目标共享动态库并加载。
进一步的,还包括:
运行模块,用于在通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识,之后,所述目标共享动态库不包括所述预设标识时,则直接根据安装应用程序;加载所述目标共享动态库,以运行所述应用程序。
进一步的,所述预设连接器中的解密算法与预设加密算法相对应。
本申请实施例提供的应用程序的安全运行装置可以用于执行上述实施例提供的应用程序的安全运行方法,具备相应的功能和有益效果。
本申请实施例提供了一种电子设备,且该电子设备中可集成本申请实施例提供的应用程序的安全运行装置。图4是本申请实施例提供的一种电子设备的结构示意图。参考图4,该电子设备包括:处理器40、存储器41。该电子设备中处理器40的数量可以是一个或者多个,图4中以一个处理器40为例。该电子设备中存储器41的数量可以是一个或者多个,图4中以一个存储器41为例。该电子设备的处理器40和存储器41可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的应用程序的安全运行方法对应的程序指令/模块(例如,应用程序的安全运行装置中的判断模块301、加密模块302、打包模块303、加密模块304和加载模块305)。存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的应用程序的安全运行方法,该应用程序的安全运行方法包括:通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识;若是,则应用预设加密算法对所述目标共享动态库进行加密;将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序;检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密;加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件。
上述提供的电子设备可用于执行上述实施例提供的应用程序的安全运行方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用程序的安全运行方法,该应用程序的安全运行方法包括:通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识;若是,则应用预设加密算法对所述目标共享动态库进行加密;将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序;检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密;加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件。
存储介质——任何的各种类型的存储器电子设备或存储电子设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序的安全运行方法,还可以执行本申请任意实施例所提供的应用程序的安全运行方法中的相关操作。
上述实施例中提供的应用程序的安全运行装置、存储介质及电子设备可执行本申请任意实施例所提供的应用程序的安全运行方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的应用程序的安全运行方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (6)

1.一种应用程序的安全运行方法,其特征在于,包括:
通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识;
若是,则应用预设加密算法对所述目标共享动态库进行加密;
将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序;
检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密,将解密后的目标共享动态库按照预设存储路径进行存储,其中,所述预设存储路径的访问权限的安全级别高于预设安全级别;
加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件;
若再次检测到用户启动所述应用程序的操作,则检测所述应用程序安装包中的目标共享动态库的头文件标识,判断所述目标共享动态库是否已被解密;
若是,则直接通过所述预设存储路径加载解密后的目标共享动态库;
否则,应用所述预设连接器解密所述目标共享动态库并加载。
2.根据权利要求1所述的方法,其特征在于,所述通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识,之后,还包括:
若所述目标共享动态库不包括所述预设标识,则直接根据安装应用程序;
加载所述目标共享动态库,以运行所述应用程序。
3.根据权利要求1所述的方法,其特征在于,所述预设连接器中的解密算法与预设加密算法相对应。
4.一种应用程序的安全运行装置,其特征在于,包括:
判断模块,用于通过检测目标共享动态库的文件名来判断所述目标共享动态库是否包括预设标识;
加密模块,用于在所述目标共享动态库包括预设标识时,应用预设加密算法对所述目标共享动态库进行加密;
打包模块,用于将加密后的目标共享动态库打包至应用程序的安装包中,以应用所述安装包安装所述应用程序;
加密模块,用于检测到用户启动所述应用程序的操作时,应用预设连接器对加密后的目标共享动态库进行解密;
加载模块,用于加载解密后的目标共享动态库以运行所述应用程序,并移除存储有所述目标共享动态库的加载路径的文件;
存储模块,用于在应用预设连接器对加密后的目标共享动态库进行解密之后,将解密后的目标共享动态库按照预设存储路径进行存储,其中,所述预设存储路径的访问权限的安全级别高于预设安全级别;
再启动模块,用于再次检测到用户启动所述应用程序的操作时,检测所述应用程序安装包中的目标共享动态库的头文件标识,判断所述目标共享动态库是否已被解密;若所述目标共享动态库是否已被解密,则直接通过所述预设存储路径加载解密后的目标共享动态库;否则,应用所述预设连接器解密所述目标共享动态库并加载。
5.一种电子设备,其特征在于,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3任一所述的应用程序的安全运行方法。
6.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-3任一所述的应用程序的安全运行方法。
CN201910698978.2A 2019-07-31 2019-07-31 应用程序的安全运行方法、装置、电子设备和存储介质 Active CN110414217B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910698978.2A CN110414217B (zh) 2019-07-31 2019-07-31 应用程序的安全运行方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910698978.2A CN110414217B (zh) 2019-07-31 2019-07-31 应用程序的安全运行方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN110414217A CN110414217A (zh) 2019-11-05
CN110414217B true CN110414217B (zh) 2023-03-24

Family

ID=68364551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910698978.2A Active CN110414217B (zh) 2019-07-31 2019-07-31 应用程序的安全运行方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN110414217B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968331B (zh) * 2019-11-29 2023-09-12 广州市百果园信息技术有限公司 应用程序运行的方法和装置
CN111966972B (zh) * 2020-08-21 2023-07-04 北京元心科技有限公司 程序加密方法、装置、电子设备及计算机可读存储介质
CN113177222A (zh) * 2021-05-28 2021-07-27 沈阳美行科技有限公司 一种动态库处理方法、装置、电子设备及存储介质
CN113342660B (zh) * 2021-06-11 2023-07-07 北京奇艺世纪科技有限公司 文件测试方法、装置、系统、电子设备及可读存储介质
CN114266058B (zh) * 2021-12-24 2024-09-13 北京人大金仓信息技术股份有限公司 针对加密数据的解密预加载方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527972A (zh) * 2000-07-18 2004-09-08 ��ذ��� 计算机软件安装
CN103198244A (zh) * 2013-03-26 2013-07-10 北京深思数盾科技有限公司 保护动态链接库的方法
CN105653961A (zh) * 2015-12-31 2016-06-08 北京元心科技有限公司 一种提高移动终端应用加载安全性的方法和装置
CN106295370A (zh) * 2016-08-19 2017-01-04 北京奇虎科技有限公司 一种加固安装包的动态链接库dll文件的方法和装置
CN106406923A (zh) * 2015-07-30 2017-02-15 腾讯科技(深圳)有限公司 动态库文件的处理方法及装置
CN107766096A (zh) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 应用程序安装包的生成方法、应用程序的运行方法及装置
CN108229106A (zh) * 2017-12-26 2018-06-29 深圳数字太和科技有限公司 一种基于交互协议的动态库加解密及动态加载方法
CN108595218A (zh) * 2018-04-17 2018-09-28 网宿科技股份有限公司 一种加载系统动态库的方法和装置
CN109740311A (zh) * 2019-01-07 2019-05-10 广州小鹏汽车科技有限公司 安卓应用的安全加固方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10310872B2 (en) * 2017-02-21 2019-06-04 Red Hat, Inc. Transparent fast application launcher

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527972A (zh) * 2000-07-18 2004-09-08 ��ذ��� 计算机软件安装
CN103198244A (zh) * 2013-03-26 2013-07-10 北京深思数盾科技有限公司 保护动态链接库的方法
CN106406923A (zh) * 2015-07-30 2017-02-15 腾讯科技(深圳)有限公司 动态库文件的处理方法及装置
CN105653961A (zh) * 2015-12-31 2016-06-08 北京元心科技有限公司 一种提高移动终端应用加载安全性的方法和装置
CN106295370A (zh) * 2016-08-19 2017-01-04 北京奇虎科技有限公司 一种加固安装包的动态链接库dll文件的方法和装置
CN107766096A (zh) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 应用程序安装包的生成方法、应用程序的运行方法及装置
CN108229106A (zh) * 2017-12-26 2018-06-29 深圳数字太和科技有限公司 一种基于交互协议的动态库加解密及动态加载方法
CN108595218A (zh) * 2018-04-17 2018-09-28 网宿科技股份有限公司 一种加载系统动态库的方法和装置
CN109740311A (zh) * 2019-01-07 2019-05-10 广州小鹏汽车科技有限公司 安卓应用的安全加固方法及装置

Also Published As

Publication number Publication date
CN110414217A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110414217B (zh) 应用程序的安全运行方法、装置、电子设备和存储介质
KR101503785B1 (ko) 동적 라이브러리를 보호하는 방법 및 장치
CN100449558C (zh) 休眠保护
CN104715209B (zh) 一种外发文档加密保护方法
CN112434286B (zh) 动态库的调用方法、装置、电子装置和存储介质
US9262631B2 (en) Embedded device and control method thereof
WO2006017774A2 (en) Method for preventing virus infection in a computer
KR20080020952A (ko) 정보 처리 시스템 및 프로그램
JP2011525653A (ja) 安全なメモリ管理システム及び方法
WO2011134207A1 (zh) 软件保护方法
CN101944042A (zh) 一种Java程序的运行方法及电子终端
CN104915240B (zh) 一种atm设备软件升级的方法
JP5727545B2 (ja) 無線端末装置およびシステム保護方法
CN114692134A (zh) 一种基于linux内核进程监控来保护代码及数据的系统和方法
US9219728B1 (en) Systems and methods for protecting services
CN109344656B (zh) 一种数据库的数据加密/解密方法、装置和设备
US8250652B1 (en) Systems and methods for circumventing malicious attempts to block the installation of security software
WO2009144602A1 (en) Protection and security provisioning using on-the-fly virtualization
CN108985096B (zh) 一种Android SQLite数据库安全增强、安全操作方法以及装置
US20110145596A1 (en) Secure Data Handling In A Computer System
JP2008257715A (ja) 無線端末装置およびシステム保護方法
CN115357908B (zh) 一种网络设备内核可信度量与自动修复方法
CN108958910B (zh) 一种基于异构环境下的任务调度方法及终端
US20220407695A1 (en) Electronic device and control method thereof
CN112307481B (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
GR01 Patent grant
GR01 Patent grant