CN111046377A - 加载动态链接库的方法、装置、电子设备及存储介质 - Google Patents

加载动态链接库的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111046377A
CN111046377A CN201911351823.8A CN201911351823A CN111046377A CN 111046377 A CN111046377 A CN 111046377A CN 201911351823 A CN201911351823 A CN 201911351823A CN 111046377 A CN111046377 A CN 111046377A
Authority
CN
China
Prior art keywords
dynamic library
information
preset
library information
dynamic
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.)
Granted
Application number
CN201911351823.8A
Other languages
English (en)
Other versions
CN111046377B (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.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information 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 Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201911351823.8A priority Critical patent/CN111046377B/zh
Publication of CN111046377A publication Critical patent/CN111046377A/zh
Application granted granted Critical
Publication of CN111046377B publication Critical patent/CN111046377B/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
    • 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)
  • Stored Programmes (AREA)

Abstract

本申请公开了加载动态链接库的方法、装置、电子设备及存储介质,所述方法首先通过目标函数获取动态库信息,然后根据预设信息列表对动态库信息进行验证,如果根据预设信息列表对动态库信息验证通过,则允许应用程序加载相应的动态库;如果根据预设信息列表对动态库信息验证不通过,则拒绝应用程序加载相应的动态库。本申请方法可以实现对动态库信息的验证,并只允许应用程序加载验证通过的动态库,因此可以防止非法的动态库代码加载到应用程序中,保证应用程序运行的稳定性和安全性。

Description

加载动态链接库的方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种加载动态链接库的方法、装置、电子设备及存储介质。
背景技术
动态链接库(Dynamic Link Library,DLL)简称动态库,是一个包含可由多个应用程序共同使用的代码和数据的库。例如,在Windows操作系统中,Comdlg32.dll执行与对话框有关的函数,每个程序都可以使用该DLL中包含的功能来实现有关对话框的操作,因此有助于避免代码重用,并促进内存的有效使用。
具体实现时,当应用程序启动或者运行时,应用程序根据需要允许动态库中的代码加载到应用程序指定的地址空间,并通过运行加载的动态库代码实现相应功能。
然而,如果非法的动态库代码加载到应用程序中,则会造成应用程序运行不稳定,甚至崩溃。
发明内容
本申请提供一种加载动态链接库的方法、装置、电子设备及存储介质,以防止非法的动态库代码加载到应用程序中,保证应用程序运行的稳定性和安全性。
第一方面,本申请提供一种加载动态链接库的方法,所述方法包括:
通过目标函数获取动态库信息,所述目标函数在应用程序启动或者运行时可被调用以获取所述动态库信息,所述动态库信息用于表征应用程序加载的动态库;
根据预设信息列表对所述动态库信息进行验证;
如果根据所述预设信息列表对所述动态库信息验证通过,则允许应用程序加载所述动态库;
如果根据所述预设信息列表对所述动态库信息验证不通过,则拒绝应用程序加载所述动态库。
进一步,所述目标函数包括第一目标函数和第二目标函数,所述通过目标函数获取动态库信息,包括:
调用所述第一目标函数,以通过所述第一目标函数获取动态库数量;
根据所述动态库数量调用所述第二目标函数,以通过所述第二目标函数获取与所述动态库数量相符的动态库信息。
进一步,所述通过目标函数获取动态库信息,包括:
监测所述目标函数是否被调用;
当监测到所述目标函数被调用时,获取所述目标函数的返回结果,所述返回结果包括所述动态库信息。
进一步,所述预设信息列表包括至少一项第一预设动态库信息,所述第一预设动态库信息用于表征允许所述应用程序加载的动态库;
所述根据预设信息列表对所述动态库信息进行验证,包括:
判断所述预设信息列表中是否存在与所述动态库信息一致的第一预设动态库信息;
如果所述预设信息列表中存在与所述动态库信息一致的第一预设动态库信息,则对所述动态库信息验证通过;
如果所述预设信息列表中不存在与所述动态库信息一致的第一预设动态库信息,则对所述动态库信息验证不通过。
进一步,所述预设信息列表包括至少一项第二预设动态库信息,所述第二预设动态库信息用于表征不允许所述应用程序加载的动态库;
所述根据预设信息列表对所述动态库信息进行验证,包括:
判断所述预设信息列表中是否存在与所述动态库信息一致的第二预设动态库信息;
如果所述预设信息列表中存在与所述动态库信息一致的第二预设动态库信息,则对所述动态库信息验证不通过;
如果所述预设信息列表中不存在与所述动态库信息一致的第二预设动态库信息,则对所述动态库信息验证通过。
进一步,所述动态库信息至少包括动态库标识。
进一步,所述方法还包括:
接收服务器下发的列表更新信息;
根据所述列表更新信息对所述预设信息列表进行更新。
进一步,如果根据所述预设信息列表对所述动态库信息验证不通过,所述方法还包括:
将所述验证通过的动态库信息发送给服务器,以使服务器对所述动态库信息表征的动态库进行封禁处理。
第二方面,本申请还提供一种加载动态链接库的装置,所述装置包括:
获取模块,用于通过目标函数获取动态库信息,所述目标函数在应用程序启动或者运行时可被调用以获取所述动态库信息,所述动态库信息用于表征应用程序加载的动态库;
验证模块,用于根据预设信息列表对所述动态库信息进行验证;
控制模块,用于如果根据所述预设信息列表对所述动态库信息验证通过,则允许应用程序加载所述动态库;如果根据所述预设信息列表对所述动态库信息验证不通过,则拒绝应用程序加载所述动态库。
进一步,所述目标函数包括第一目标函数和第二目标函数,所述获取模块,包括:
第一调用单元,用于调用所述第一目标函数,以通过所述第一目标函数获取动态库数量;
第二调用单元,用于根据所述动态库数量调用所述第二目标函数,以通过所述第二目标函数获取与所述动态库数量相符的动态库信息。
进一步,所述获取模块,包括:
监测单元,用于监测所述目标函数是否被调用;
获取单元,用于当监测到所述目标函数被调用时,获取所述目标函数的返回结果,所述返回结果包括所述动态库信息。
进一步,所述预设信息列表包括至少一项第一预设动态库信息,所述第一预设动态库信息用于表征允许所述应用程序加载的动态库;
所述验证模块,具体用于:
判断所述预设信息列表中是否存在与所述动态库信息一致的第一预设动态库信息;如果所述预设信息列表中存在与所述动态库信息一致的第一预设动态库信息,则对所述动态库信息验证通过;如果所述预设信息列表中不存在与所述动态库信息一致的第一预设动态库信息,则对所述动态库信息验证不通过。
进一步,所述预设信息列表包括至少一项第二预设动态库信息,所述第二预设动态库信息用于表征不允许所述应用程序加载的动态库;
所述验证模块,具体用于:
判断所述预设信息列表中是否存在与所述动态库信息一致的第二预设动态库信息;如果所述预设信息列表中存在与所述动态库信息一致的第二预设动态库信息,则对所述动态库信息验证不通过;如果所述预设信息列表中不存在与所述动态库信息一致的第二预设动态库信息,则对所述动态库信息验证通过。
进一步,所述动态库信息至少包括动态库标识。
进一步,所述装置还包括:
接收模块,用于接收服务器下发的列表更新信息;
更新模块,用于根据所述列表更新信息对所述预设信息列表进行更新。
进一步,所述装置还包括:
发送模块,用于如果根据所述预设信息列表对所述动态库信息验证不通过,将所述验证通过的动态库信息发送给服务器,以使服务器对所述动态库信息表征的动态库进行封禁处理。
第三方面,本申请还提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面任一项所述的方法。
第四方面,本申请还提供一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当第二方面任一项所述的装置的至少一个处理器执行所述计算机程序时,所述装置执行第一方面任一项所述的方法。
由以上技术方案可知,本申请实施例提供一种加载动态链接库的方法、装置、电子设备及存储介质,所述方法首先通过目标函数获取动态库信息,然后根据预设信息列表对动态库信息进行验证,如果根据预设信息列表对动态库信息验证通过,则允许应用程序加载相应的动态库;如果根据预设信息列表对动态库信息验证不通过,则拒绝应用程序加载相应的动态库。由此可见,本申请方法可以实现对动态库信息的验证,并只允许应用程序加载验证通过的动态库,因此可以防止非法的动态库代码加载到应用程序中,保证应用程序运行的稳定性和安全性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请根据一示例性实施例示出的加载动态链接库的方法流程图;
图2为本申请根据另一示例性实施例示出的加载动态链接库的方法流程图;
图3为本申请根据另一示例性实施例示出的加载动态链接库的方法流程图;
图4为本申请一示例性实施例示出的加载动态链接库的装置框图;
图5为本申请一示例性实施例示出的电子设备硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了防止非法的动态库代码加载到应用程序中,保证应用程序运行的稳定性和安全性,本申请实施例提供一种加载动态链接库的方法,图1为该方法的一个实施例流程图,如图1所示,该方法可以包括:
步骤100,通过目标函数获取动态库信息,所述目标函数在应用程序启动或者运行时可被调用以获取所述动态库信息,所述动态库信息用于表征应用程序加载的动态库。
本实施例中,目标函数的方法用于获取动态库信息,所述动态库信息用于表征应用程序正在加载或者已经加载的动态库。应用程序可以加载的动态库可以为一个或者多个,其中的每个动态库通过一项动态库信息进行表征,因此,在步骤100中,通过目标函数获取一项或者多项动态库信息。在一些实施例中,动态库信息至少可以包括动态库标识,还可以包括动态库的路径信息。
在一些可能的实现方式中,目标函数包括第一目标函数和第二目标函数,其中,第一目标函数的方法用于获取动态库数量,第二目标函数的方法用于根据动态库数量获取相应数量的动态库信息。步骤100所述的通过目标函数获取动态库信息,具体可以包括:首先调用第一目标函数,以通过第一目标函数获取动态库数量;然后根据动态库数量调用第二目标函数,以通过第二目标函数获取与动态库数量相符的动态库信息。
以基于IOS系统的应用程序为例,第一目标函数为_dyld_image_count(),第二目标函数为_dyld_get_image_name()。
在另一些可能的实现方式中,步骤100涉及的通过目标函数获取动态库信息,具体可以包括:监测所述目标函数是否被调用;当监测到所述目标函数被调用时,获取所述目标函数的返回结果,所述返回结果包括所述动态库信息。
例如,在目标函数包括第一目标函数和第二目标函数的情况下,监测第一目标函数是否被调用,当监测到第一目标函数被调用时,获取第二目标函数返回结果,由于第二目标函数的返回结果中包含动态库信息,因此获取到动态库信息。
步骤200,根据预设信息列表对所述动态库信息进行验证。
本实施例中,预设信息列表是由第一预设动态库信息或者第二预设动态库信息组成的信息列表,其中,第一预设动态库信息用于表征允许应用程序加载的动态库,第二预设动态库信息用于表征不允许应用程序加载的动态库。
在预设信息列表包括且仅包括第一预设动态库信息的情况中,根据预设信息列表对步骤100获取的动态库信息进行验证,可以包括:
针对获取的每一项动态库信息,判断预设信息列表中是否存在与该动态库信息一致的第一预设动态库信息;如果存在,说明该动态库信息为第一预设动态库信息,表征允许应用程序加载的动态库,因此对该动态库信息验证通过;如果不存在,说明该动态库信息不是第一预设动态库信息,即其表征的动态库不是允许应用程序加载的动态库,因此对该动态库信息验证不通过。
在预设信息列表包括且仅包括第二预设动态库信息的情况中,根据预设信息列表对步骤100获取的动态库信息进行验证,可以包括:
针对获取的每一项动态库信息,判断预设信息列表中是否存在与该动态库信息一致的第二预设动态库信息;如果存在,说明该动态库信息为第二预设动态库信息,表征不允许应用程序加载的动态库,因此对该动态库信息验证不通过;如果不存在,说明该动态库信息不是第二预设动态库信息,即其表征的动态库不是不允许应用程序加载的动态库,因此对该动态库信息验证通过。
步骤300,如果根据所述预设信息列表对所述动态库信息验证通过,则允许应用程序加载所述动态库。
步骤400,如果根据所述预设信息列表对所述动态库信息验证不通过,则拒绝应用程序加载所述动态库。
由以上技术方案可知,本申请实施例提供一种加载动态链接库的方法,该方法首先通过目标函数获取动态库信息,然后根据预设信息列表对动态库信息进行验证,如果根据预设信息列表对动态库信息验证通过,则允许应用程序加载相应的动态库;如果根据预设信息列表对动态库信息验证不通过,则拒绝应用程序加载相应的动态库。由此可见,本申请方法可以实现对动态库信息的验证,并只允许应用程序加载验证通过的动态库,因此可以防止非法的动态库代码加载到应用程序中,保证应用程序运行的稳定性和安全性。
为了能够灵活调整应用程序加载动态库的限制范围,在本申请的另一些实施例中,上述加载动态链接库的方法,还可以包括图2所示:
步骤500,接收服务器下发的列表更新信息。
可选地,列表更新信息可以包括至少一项第一预设动态库信息或者第二预设动态库信息,用于对预设列表信息进行更新。
当预设列表信息由第一预设动态库信息组成时,列表更新信息包括至少一项第一预设动态库信息,当预设列表信息由第二预设动态库信息组成时,列表更新信息包括至少一项第二预设动态库信息。
步骤600,根据所述列表更新信息对所述预设信息列表进行更新。
本实施例中,更新操作包括添加、删除和替换操作。
以预设列表信息由第一预设动态库信息组成为例,将列表更新信息中的第一预设动态库信息添加到预设信息列表中,或者,将预设信息列表中与列表更新信息中第一预设动态库信息相同的动态库信息删除,或者,使用列表更新信息中的第一预设动态库信息替换预设信息列表中指定的动态库信息。
由步骤500和步骤600可知,通过服务器下发列表更新信息以对预设信息列表进行定时更新,可以随时调整应用程序加载动态库的限制范围,简单且容易实现,灵活性强。
另外,为了防止非法的动态库代码多次恶意载入,在本申请的另一些实施例中,上述加载动态链接库的方法中,如果根据所述预设信息列表对所述动态库信息验证不通过,该方法还可以包括图3所示步骤700:
步骤700,将所述验证通过的动态库信息发送给服务器,以使服务器对所述动态库信息表征的动态库进行封禁处理。
需要说明的是,步骤500-步骤600、步骤700可以在执行上述步骤100-400中任意一个步骤之前或者之后执行,也可以与上述步骤100-400中任意一个步骤同时执行,步骤间的执行顺序不构成对本申请具体实现方式的限定。
根据上述实施例提供的加载动态链接库的方法,本申请实施例还提供一种加载动态链接库的装置,如图4所示,该装置可以包括:
获取模块410,用于通过目标函数获取动态库信息,所述目标函数在应用程序启动或者运行时可被调用以获取所述动态库信息,所述动态库信息用于表征应用程序加载的动态库;
验证模块420,用于根据预设信息列表对所述动态库信息进行验证;
控制模块430,用于如果根据所述预设信息列表对所述动态库信息验证通过,则允许应用程序加载所述动态库;如果根据所述预设信息列表对所述动态库信息验证不通过,则拒绝应用程序加载所述动态库。
在一些实施例中,所述目标函数包括第一目标函数和第二目标函数,所述获取模块,包括:第一调用单元,用于调用所述第一目标函数,以通过所述第一目标函数获取动态库数量;第二调用单元,用于根据所述动态库数量调用所述第二目标函数,以通过所述第二目标函数获取与所述动态库数量相符的动态库信息。
在一些实施例中,所述获取模块,包括:监测单元,用于监测所述目标函数是否被调用;获取单元,用于当监测到所述目标函数被调用时,获取所述目标函数的返回结果,所述返回结果包括所述动态库信息。
在一些实施例中,所述预设信息列表包括至少一项第一预设动态库信息,所述第一预设动态库信息用于表征允许所述应用程序加载的动态库;所述验证模块,具体用于:判断所述预设信息列表中是否存在与所述动态库信息一致的第一预设动态库信息;如果所述预设信息列表中存在与所述动态库信息一致的第一预设动态库信息,则对所述动态库信息验证通过;如果所述预设信息列表中不存在与所述动态库信息一致的第一预设动态库信息,则对所述动态库信息验证不通过。
在一些实施例中,所述预设信息列表包括至少一项第二预设动态库信息,所述第二预设动态库信息用于表征不允许所述应用程序加载的动态库;所述验证模块,具体用于:判断所述预设信息列表中是否存在与所述动态库信息一致的第二预设动态库信息;如果所述预设信息列表中存在与所述动态库信息一致的第二预设动态库信息,则对所述动态库信息验证不通过;如果所述预设信息列表中不存在与所述动态库信息一致的第二预设动态库信息,则对所述动态库信息验证通过。
在一些实施例中,所述动态库信息至少包括动态库标识。
在一些实施例中,所述装置还包括:接收模块,用于接收服务器下发的列表更新信息;更新模块,用于根据所述列表更新信息对所述预设信息列表进行更新。
在一些实施例中,所述装置还包括:发送模块,用于如果根据所述预设信息列表对所述动态库信息验证不通过,将所述验证通过的动态库信息发送给服务器,以使服务器对所述动态库信息表征的动态库进行封禁处理。
图5为本申请实施例提供的电子设备的硬件结构示意图。如图5所示,该电子设备,可以包括:存储器501,用于存储程序指令;处理器502,用于调用并执行所述存储器中的程序指令,以实现上述加载动态链接库的方法。
本实施例中,处理器和存储器可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有计算程序,当加载动态链接库的装置的至少一个处理器执行所述计算机程序时,加载动态链接库的装置执行本申请加载动态链接库的方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。

Claims (18)

1.一种加载动态链接库的方法,其特征在于,所述方法包括:
通过目标函数获取动态库信息,所述目标函数在应用程序启动或者运行时可被调用以获取所述动态库信息,所述动态库信息用于表征应用程序加载的动态库;
根据预设信息列表对所述动态库信息进行验证;
如果根据所述预设信息列表对所述动态库信息验证通过,则允许应用程序加载所述动态库;
如果根据所述预设信息列表对所述动态库信息验证不通过,则拒绝应用程序加载所述动态库。
2.根据权利要求1所述的方法,其特征在于,所述目标函数包括第一目标函数和第二目标函数,所述通过目标函数获取动态库信息,包括:
调用所述第一目标函数,以通过所述第一目标函数获取动态库数量;
根据所述动态库数量调用所述第二目标函数,以通过所述第二目标函数获取与所述动态库数量相符的动态库信息。
3.根据权利要求1所述的方法,其特征在于,所述通过目标函数获取动态库信息,包括:
监测所述目标函数是否被调用;
当监测到所述目标函数被调用时,获取所述目标函数的返回结果,所述返回结果包括所述动态库信息。
4.根据权利要求1所述的方法,其特征在于,所述预设信息列表包括至少一项第一预设动态库信息,所述第一预设动态库信息用于表征允许所述应用程序加载的动态库;
所述根据预设信息列表对所述动态库信息进行验证,包括:
判断所述预设信息列表中是否存在与所述动态库信息一致的第一预设动态库信息;
如果所述预设信息列表中存在与所述动态库信息一致的第一预设动态库信息,则对所述动态库信息验证通过;
如果所述预设信息列表中不存在与所述动态库信息一致的第一预设动态库信息,则对所述动态库信息验证不通过。
5.根据权利要求1所述的方法,其特征在于,所述预设信息列表包括至少一项第二预设动态库信息,所述第二预设动态库信息用于表征不允许所述应用程序加载的动态库;
所述根据预设信息列表对所述动态库信息进行验证,包括:
判断所述预设信息列表中是否存在与所述动态库信息一致的第二预设动态库信息;
如果所述预设信息列表中存在与所述动态库信息一致的第二预设动态库信息,则对所述动态库信息验证不通过;
如果所述预设信息列表中不存在与所述动态库信息一致的第二预设动态库信息,则对所述动态库信息验证通过。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述动态库信息至少包括动态库标识。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
接收服务器下发的列表更新信息;
根据所述列表更新信息对所述预设信息列表进行更新。
8.根据权利要求1-5任一项所述的方法,其特征在于,如果根据所述预设信息列表对所述动态库信息验证不通过,所述方法还包括:
将所述验证通过的动态库信息发送给服务器,以使服务器对所述动态库信息表征的动态库进行封禁处理。
9.一种加载动态链接库的装置,其特征在于,所述装置包括:
获取模块,用于通过目标函数获取动态库信息,所述目标函数在应用程序启动或者运行时可被调用以获取所述动态库信息,所述动态库信息用于表征应用程序加载的动态库;
验证模块,用于根据预设信息列表对所述动态库信息进行验证;
控制模块,用于如果根据所述预设信息列表对所述动态库信息验证通过,则允许应用程序加载所述动态库;如果根据所述预设信息列表对所述动态库信息验证不通过,则拒绝应用程序加载所述动态库。
10.根据权利要求9所述的装置,其特征在于,所述目标函数包括第一目标函数和第二目标函数,所述获取模块,包括:
第一调用单元,用于调用所述第一目标函数,以通过所述第一目标函数获取动态库数量;
第二调用单元,用于根据所述动态库数量调用所述第二目标函数,以通过所述第二目标函数获取与所述动态库数量相符的动态库信息。
11.根据权利要求9所述的装置,其特征在于,所述获取模块,包括:
监测单元,用于监测所述目标函数是否被调用;
获取单元,用于当监测到所述目标函数被调用时,获取所述目标函数的返回结果,所述返回结果包括所述动态库信息。
12.根据权利要求9所述的装置,其特征在于,所述预设信息列表包括至少一项第一预设动态库信息,所述第一预设动态库信息用于表征允许所述应用程序加载的动态库;
所述验证模块,具体用于:
判断所述预设信息列表中是否存在与所述动态库信息一致的第一预设动态库信息;如果所述预设信息列表中存在与所述动态库信息一致的第一预设动态库信息,则对所述动态库信息验证通过;如果所述预设信息列表中不存在与所述动态库信息一致的第一预设动态库信息,则对所述动态库信息验证不通过。
13.根据权利要求9所述的装置,其特征在于,所述预设信息列表包括至少一项第二预设动态库信息,所述第二预设动态库信息用于表征不允许所述应用程序加载的动态库;
所述验证模块,具体用于:
判断所述预设信息列表中是否存在与所述动态库信息一致的第二预设动态库信息;如果所述预设信息列表中存在与所述动态库信息一致的第二预设动态库信息,则对所述动态库信息验证不通过;如果所述预设信息列表中不存在与所述动态库信息一致的第二预设动态库信息,则对所述动态库信息验证通过。
14.根据权利要求9-13任一项所述的装置,其特征在于,所述动态库信息至少包括动态库标识。
15.根据权利要求9-13任一项所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收服务器下发的列表更新信息;
更新模块,用于根据所述列表更新信息对所述预设信息列表进行更新。
16.根据权利要求9-13任一项所述的装置,其特征在于,所述装置还包括:
发送模块,用于如果根据所述预设信息列表对所述动态库信息验证不通过,将所述验证通过的动态库信息发送给服务器,以使服务器对所述动态库信息表征的动态库进行封禁处理。
17.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1-8任一项所述的方法。
18.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当权利要求9-16任一项所述的装置的至少一个处理器执行所述计算机程序时,所述装置执行权利要求1-8任一项所述的方法。
CN201911351823.8A 2019-12-25 2019-12-25 加载动态链接库的方法、装置、电子设备及存储介质 Active CN111046377B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911351823.8A CN111046377B (zh) 2019-12-25 2019-12-25 加载动态链接库的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911351823.8A CN111046377B (zh) 2019-12-25 2019-12-25 加载动态链接库的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111046377A true CN111046377A (zh) 2020-04-21
CN111046377B CN111046377B (zh) 2023-11-14

Family

ID=70239992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911351823.8A Active CN111046377B (zh) 2019-12-25 2019-12-25 加载动态链接库的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111046377B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559067A (zh) * 2020-12-08 2021-03-26 浪潮商用机器有限公司 一种动态库加载方法及相关装置
CN114860351A (zh) * 2022-07-08 2022-08-05 浙江口碑网络技术有限公司 异常识别方法及装置、存储介质、计算机设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778375A (zh) * 2012-10-24 2014-05-07 腾讯科技(深圳)有限公司 防止用户设备加载非法的动态链接库文件的装置和方法
US20150033354A1 (en) * 2011-01-14 2015-01-29 Peer Wichmann Method for Protecting an Application Program and Related Computer Program Product
CN105653961A (zh) * 2015-12-31 2016-06-08 北京元心科技有限公司 一种提高移动终端应用加载安全性的方法和装置
US20160275019A1 (en) * 2013-10-10 2016-09-22 Inka Entworks, Inc. Method and apparatus for protecting dynamic libraries
CN106022098A (zh) * 2016-05-10 2016-10-12 青岛海信传媒网络技术有限公司 一种应用程序的签名验证方法和装置
CN106326735A (zh) * 2015-07-02 2017-01-11 腾讯科技(深圳)有限公司 防注入的方法和装置
CN107330320A (zh) * 2016-04-29 2017-11-07 腾讯科技(深圳)有限公司 应用进程监控的方法和装置
CN109189496A (zh) * 2018-08-03 2019-01-11 平安科技(深圳)有限公司 应用程序的动态库信息获取方法及装置
CN109388441A (zh) * 2018-09-30 2019-02-26 联想(北京)有限公司 处理方法、装置、电子设备及可读存储介质
CN109726560A (zh) * 2018-06-26 2019-05-07 360企业安全技术(珠海)有限公司 终端设备系统防护方法及装置
CN110555307A (zh) * 2019-09-06 2019-12-10 深信服科技股份有限公司 识别和处理伪装型系统动态库的方法、装置、设备及介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150033354A1 (en) * 2011-01-14 2015-01-29 Peer Wichmann Method for Protecting an Application Program and Related Computer Program Product
CN103778375A (zh) * 2012-10-24 2014-05-07 腾讯科技(深圳)有限公司 防止用户设备加载非法的动态链接库文件的装置和方法
US20160275019A1 (en) * 2013-10-10 2016-09-22 Inka Entworks, Inc. Method and apparatus for protecting dynamic libraries
CN106326735A (zh) * 2015-07-02 2017-01-11 腾讯科技(深圳)有限公司 防注入的方法和装置
CN105653961A (zh) * 2015-12-31 2016-06-08 北京元心科技有限公司 一种提高移动终端应用加载安全性的方法和装置
CN107330320A (zh) * 2016-04-29 2017-11-07 腾讯科技(深圳)有限公司 应用进程监控的方法和装置
CN106022098A (zh) * 2016-05-10 2016-10-12 青岛海信传媒网络技术有限公司 一种应用程序的签名验证方法和装置
CN109726560A (zh) * 2018-06-26 2019-05-07 360企业安全技术(珠海)有限公司 终端设备系统防护方法及装置
CN109829309A (zh) * 2018-06-26 2019-05-31 360企业安全技术(珠海)有限公司 终端设备系统防护方法及装置
CN109189496A (zh) * 2018-08-03 2019-01-11 平安科技(深圳)有限公司 应用程序的动态库信息获取方法及装置
CN109388441A (zh) * 2018-09-30 2019-02-26 联想(北京)有限公司 处理方法、装置、电子设备及可读存储介质
CN110555307A (zh) * 2019-09-06 2019-12-10 深信服科技股份有限公司 识别和处理伪装型系统动态库的方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559067A (zh) * 2020-12-08 2021-03-26 浪潮商用机器有限公司 一种动态库加载方法及相关装置
CN114860351A (zh) * 2022-07-08 2022-08-05 浙江口碑网络技术有限公司 异常识别方法及装置、存储介质、计算机设备

Also Published As

Publication number Publication date
CN111046377B (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
CN107748668B (zh) 一种应用程序升级的方法及装置
CN109918285B (zh) 一种开源软件的安全识别方法及装置
CN106560830A (zh) 一种Linux嵌入式系统中的安全防护方法及系统
CN109933350B (zh) 在应用中嵌入代码的方法、装置及电子设备
CN103677898A (zh) 服务器侧审核加载的扩展和/或插件的方法及服务器
CN110750793B (zh) 一种漏洞扫描方法及装置
CN111046377B (zh) 加载动态链接库的方法、装置、电子设备及存储介质
CN109828780B (zh) 一种开源软件的识别方法及装置
CN112231702A (zh) 应用保护方法、装置、设备及介质
CN108509322B (zh) 避免过度回访的方法、电子装置及计算机可读存储介质
CN110941825B (zh) 一种应用监控方法及装置
CN111125721B (zh) 一种进程启动的控制方法、计算机设备和可读存储介质
CN110135154B (zh) 应用程序的注入攻击检测系统及方法
CN109960658B (zh) 应用程序编程接口测试方法、装置、电子设备及存储介质
CN108920962B (zh) 固件下载验签方法、固件发布方法、移动终端及服务器
CN113849859A (zh) Linux内核的修改方法、终端设备和存储介质
CN109684205B (zh) 系统测试方法、装置、电子设备及存储介质
CN108647516B (zh) 一种防御漏洞非法提权方法及装置
CN112241529A (zh) 恶意代码检测方法、装置、存储介质和计算机设备
CN112560030A (zh) 文件监控方法、装置、电子设备和计算机可读存储介质
CN112148597B (zh) 一种消除iOS设备授权对话框的方法、测试方法及存储介质
CN106529290B (zh) 一种恶意软件防护方法、装置以及电子设备
CN111131198B (zh) 网络安全策略配置的更新方法及装置
CN109783156B (zh) 一种应用的启动控制方法及装置
CN114443065A (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