CN113553578B - 一种日志打印响应方法、装置、电子设备和存储介质 - Google Patents
一种日志打印响应方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113553578B CN113553578B CN202110773610.5A CN202110773610A CN113553578B CN 113553578 B CN113553578 B CN 113553578B CN 202110773610 A CN202110773610 A CN 202110773610A CN 113553578 B CN113553578 B CN 113553578B
- Authority
- CN
- China
- Prior art keywords
- log
- target application
- hook function
- function
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000004044 response Effects 0.000 title claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 56
- 230000006870 function Effects 0.000 claims description 156
- 238000004891 communication Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种日志打印响应方法、装置、电子设备和存储介质,涉及日志文件领域,所述方法包括:在检测到智能终端中目标应用启动的情况下,通过预设的钩子函数调用日志打印函数,其中,所述日志打印函数用于在所述目标应用的目标日志接口被调用时进行日志输出;在检测到调用所述目标日志接口的调用请求的情况下,通过所述钩子函数调用日志输出的进程,其中,所述进程中携带有目标字段,所述目标字段用于指示所述目标应用的当前所处环境;通过所述钩子函数根据所述当前所处环境对所述调用请求进行响应。本申请不会使日志被随意输出,避免攻击者获取目标应用发布版本的日志,避免日志泄露,提高信息安全性。
Description
技术领域
本申请涉及日志文件领域,尤其涉及一种日志打印响应方法、装置、电子设备和存储介质。
背景技术
在Android开发中,可能会遇到程序出现错误的情况,这就需要技术人员采用android.util.Log(Android系统提供的日志打印接口)打印日志,根据日志文件进行程序异常原因的分析,从而提高程序调试效率。当APP版本发布后,会通过预设配置将日志屏蔽,以防止攻击者打印日志,但发布版本的日志输出调用其实还在,只不过为false,没有执行而已,攻击者还是可以在发布版本APP中自行植入android.util.Log去打印日志。
发布版本的APP可以被打印日志导致日志容易泄露,进而导致APP业务逻辑被竞争对手查看,也可能导致被攻击者白盒注入的风险(通过日志打印程序运行逻辑),进而对业务和APP产生未知风险。目前还没有检测Android App日志不被轻易打印的方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种日志打印响应方法、装置、电子设备和存储介质。
第一方面,本申请提供了一种日志打印响应方法,所述方法包括:
在检测到智能终端中目标应用启动的情况下,通过预设的钩子函数调用日志打印函数,其中,所述日志打印函数用于在所述目标应用的目标日志接口被调用时进行日志输出;
在检测到调用所述目标日志接口的调用请求的情况下,通过所述钩子函数调用日志输出的进程,其中,所述进程中携带有目标字段,所述目标字段用于指示所述目标应用的当前所处环境;
通过所述钩子函数根据所述当前所处环境对所述调用请求进行响应。
可选地,所述通过所述钩子函数根据所述当前所处环境对所述调用请求进行响应包括:
通过所述钩子函数确定所述目标应用的当前所处环境是否为调试环境;
在通过所述钩子函数确定所述当前所处环境为调试环境的情况下,获取所述钩子函数发送的第一反馈信息,其中,所述第一反馈信息用于指示允许输出所述目标应用的日志;
根据所述第一反馈信息输出所述目标应用的日志。
可选地,所述在检测到智能终端中目标应用启动的情况下,通过预设的钩子函数调用日志打印函数包括:
在检测到所述智能终端中目标应用启动的情况下,获取所述日志打印函数的地址和所述钩子函数的地址;
将所述日志打印函数的地址更改为所述钩子函数的地址。
可选地,所述根据所述第一反馈信息输出所述目标应用的日志包括:
根据所述第一反馈信息,将所述钩子函数的地址更改为所述日志打印函数的地址;
通过所述日志打印函数调用所述日志输出的进程,以通过所述日志打印函数输出所述目标应用的日志。
可选地,所述通过所述钩子函数根据所述当前所处环境对所述调用请求进行响应包括:
通过所述钩子函数确定所述目标应用的当前所处环境是否为调试环境;
在通过所述钩子函数确定所述当前所处环境不是调试环境的情况下,确定所述当前所处环境为发布环境;
获取所述钩子函数发送的第二反馈信息,其中,所述第二反馈信息用于指示禁止输出所述目标应用的日志;
根据所述第二反馈信息停止所述日志输出的进程。
可选地,所述进程中还携带有所述目标应用的名称,在根据所述第二反馈信息停止所述日志输出的进程之后,所述方法还包括:
输出警示信息,其中,所述警示信息中包含所述目标应用的名称。
可选地,所述日志打印函数处于所述智能终端的系统底层,所述系统底层为所述日志输出时必须经过的传输路径。
第二方面,本申请提供了一种日志打印响应装置,所述装置包括:
第一调用模块,用于在检测到智能终端中目标应用启动的情况下,通过预设的钩子函数调用日志打印函数,其中,所述日志打印函数用于在所述目标应用的目标日志接口被调用时进行日志输出;
第二调用模块,用于在检测到调用所述目标日志接口的调用请求的情况下,通过所述钩子函数调用日志输出的进程,其中,所述进程中携带有目标字段,所述目标字段用于指示所述目标应用的当前所处环境;
响应模块,用于通过所述钩子函数根据所述当前所处环境对所述调用请求进行响应。
第三方面,本申请提供了一种电子设备,,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现任一所述的方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该方法,智能终端在目标应用的日志接口被调用时,获取目标应用的调用请求,并采用钩子函数调用日志输出的进程,使日志不会被立刻输出,而是在钩子函数中判断目标应用的当前所处环境,并根据当前所处环境的不同对调用请求做出不同的响应。本申请不会使日志被随意输出,避免攻击者获取目标应用发布版本的日志,避免日志泄露,提高信息安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种日志打印响应方法的流程图;
图2为本申请实施例提供的一种日志打印响应装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种日志打印响应方法,可以应用于智能终端,也可以应用于服务器,用于检测日志是否允许输出。
下面将结合具体实施方式,以智能终端为例,对本申请实施例提供的一种日志打印响应方法进行详细的说明,如图1所示,具体步骤如下:
步骤101:在检测到智能终端中目标应用启动的情况下,通过预设的钩子函数调用日志打印函数。
其中,日志打印函数用于在目标应用的目标日志接口被调用时进行日志输出。
在本申请实施例中,在智能终端的系统中预先埋下钩子函数,当智能终端检测到目标应用启动时,表明该目标应用运行过程中可能会输出日志,这就需要调用日志接口,日志打印函数是日志接口被调用时需要用到的函数。此时智能终端通过预先埋好的钩子函数调用日志打印函数,那么当日志接口被调用时,日志打印的进程会从日志打印函数跳转至钩子函数。其中,目标应用启动的时刻可以为目标应用接收到启动指令的时刻,也可以为目标应用开启后首次展示主页面的时刻,本申请实施例对目标应用的启动时刻不作具体限制。
示例性地,智能终端为Android系统,Android系统的日志接口被调用时用到的日志打印函数为android_log_is_loggable,当智能终端发现目标应用启动时,则HOOK系统API---android_log_is_loggable,那么调用android_log_is_loggable转变成调用钩子函数myHook。
步骤102:在检测到调用目标日志接口的调用请求的情况下,通过钩子函数调用日志输出的进程。
其中,进程中携带有目标字段,目标字段用于指示目标应用的当前所处环境。
目标日志接口被调用时,智能终端会检测到调用目标日志接口的调用请求,此时会触发钩子函数调用日志输出的进程。
当智能终端的android.util.Log被调用后,日志输出的进程本应跳转至android_log_is_loggable进行日志输出,但由于android_log_is_loggable已经被钩子函数HOOK,因此日志输出的进程会跳转至钩子函数myHook。
日志输出的进程中携带有目标字段,该目标字段包含目标应用的当前所处环境,该当前所处环境分为调试环境和发布环境。智能终端在调试环境中的系统版本为调试版本Debug,智能终端在发布环境中的系统版本为发布版本Release。
调试版本Debug,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。发布版本Release,是为用户使用的,一般不允许用户在发布版本上进行调试,所以不保存调试信息。
步骤103:通过钩子函数根据当前所处环境对调用请求进行响应。
智能终端在获取到目标字段指示的目标应用的当前所处环境后,通过钩子函数确定当前所处环境是调试环境还是发布环境,并针对不同的当前所处环境,对调用请求做出不同的响应。若智能终端确定当前所处环境是调试环境,则允许输出目标应用的日志,若智能终端确定当前所处环境是发布环境,则禁止输出目标应用的日志。
在本申请中,智能终端在目标应用的日志接口被调用时,获取目标应用的调用请求,并采用钩子函数调用日志输出的进程,使日志不会被立刻输出,而是在钩子函数中判断目标应用的当前所处环境,并根据当前所处环境的不同对调用请求做出不同的响应。本申请不会使日志被随意输出,避免攻击者获取目标应用发布版本的日志,避免日志泄露,提高信息安全性。
作为一种可选的实施方式,通过钩子函数根据当前所处环境对调用请求进行响应包括:通过钩子函数确定目标应用的当前所处环境是否为调试环境;在通过钩子函数确定当前所处环境为调试环境的情况下,获取钩子函数发送的第一反馈信息,其中,根据第一反馈信息输出目标应用的日志。
在本申请实施例中,钩子函数调用日志输出的进程,日志输出的进程的目标字段中包含当前环境字段,若钩子函数判定当前环境字段指示调试环境,表示目标应用当前处于调试环境中,一般攻击者只能获取发布环境下的目标应用的日志,因此,目标应用处于调试环境中表示是技术人员需要进行日志输出,则钩子函数输出第一反馈信息,第一反馈信息用于指示允许输出目标应用的日志,则智能终端获取到第一反馈信息后,根据第一反馈信息输出日志。
作为一种可选的实施方式,在检测到智能终端中目标应用启动的情况下,通过预设的钩子函数调用日志打印函数包括:在检测到智能终端中目标应用启动的情况下,获取日志打印函数的地址和钩子函数的地址;将日志打印函数的地址更改为钩子函数的地址。
智能终端检测到目标应用启动时,需要通过钩子函数调用日志打印函数,则智能终端获取日志打印函数的地址和钩子函数的地址,然后在系统中将日志打印函数的地址更改为钩子函数的地址,这样日志接口在调用后,正常情况下应该跳转至日志打印函数的地址,由于该日志打印函数的地址已经被替换为钩子函数的地址,因此,日志输出的进程会跳转到钩子函数。
作为一种可选的实施方式,根据第一反馈信息输出目标应用的日志包括:根据第一反馈信息,将钩子函数的地址更改为日志打印函数的地址;通过日志打印函数调用日志输出的进程,以通过日志打印函数输出目标应用的日志。
智能终端在接收到钩子函数发送的第一反馈信息后,确定可以输出目标应用的日志,由于需要通过日志打印函数进行日志输出,而日志打印函数被钩子函数HOOK,所以,需要将钩子函数的地址更改为日志打印函数的地址,这样可以正常跳转至目标打印函数的地址,通过日志打印函数调用日志输出的进程,输出目标应用的日志。
作为一种可选的实施方式,通过钩子函数根据当前所处环境对调用请求进行响应包括:通过钩子函数确定目标应用的当前所处环境是否为调试环境;在通过钩子函数确定当前所处环境不是调试环境的情况下,确定当前所处环境为发布环境;获取钩子函数发送的第二反馈信息,其中,第二反馈信息用于指示禁止输出目标应用的日志;根据第二反馈信息停止日志输出的进程。
在本申请实施例中,钩子函数调用日志输出的进程,日志输出的进程的目标字段中包含当前环境字段,若钩子函数判定当前环境字段不是调试环境,则当前环境字段指示发布环境,表示目标应用当前处于发布环境中,一般攻击者只能获取发布环境下的目标应用的日志,因此,目标应用处于发布环境中表示是攻击者需要进行日志输出,则钩子函数输出第二反馈信息,第二反馈信息用于指示禁止输出目标应用的日志,则智能终端获取到第二反馈信息后,停止日志输出的进程,则日志不会继续输出,防止攻击者得到目标应用的日志,提高目标应用的信息安全性。
作为一种可选的实施方式,进程中还携带有目标应用的名称,在根据第二反馈信息停止日志输出的进程之后,方法还包括:输出警示信息,其中,警示信息中包含目标应用的名称。
目标终端在根据第二反馈信息停止日志输出的进程后,还可以输出警示信息,警示信息中还包括目标应用的名称,该警示信息用于警告目标应用有信息安全性风险,示例性地,警示信息为“xx应用在Release环境有日志输出的风险”。
日志输出的进程中携带有目标字段,该目标字段不仅包括目标应用的当前所处环境,还包括目标应用的名称,示例性地,目标字段为“xxx.xx.BuildConfig.DEBUG”,其中,“xxx.xx”为目标应用的名称,可以唯一标识该目标应用,“DEBUG”表示目标应用为Debug环境。
若钩子函数确定“xxx.xx.BuildConfig.DEBUG”为“true”,表明目标应用处于Debug环境,则钩子函数返回数值“1”,“1”表示日志可以输出,则智能终端输出目标应用的日志;若钩子函数确定“xxx.xx.BuildConfig.DEBUG”为“flase”,表明目标应用处于Release环境,则钩子函数返回数值“0”,“0”表示日志不可以输出,则智能终端停止日志输出的进程,禁止输出目标应用的日志。
在本申请中,包含该日志打印响应方法的系统或装置可以是Android SDK(软件开发工具包)的形式,给任何个人或者开发者集成接入;也可以通过自定义APK包处理工具,后期自动注入到任何想要包含日志打印响应的APK包中。也就是说,该方案以SDK形式提供出去,也可以通过工具注入到APK里,让APP实现日志打印响应的功能。
作为一种可选的实施方式,日志打印函数处于智能终端的系统底层,系统底层为日志输出时经过的传输通道。
日志输出的进程在系统中必然经过的最后一层为系统底层,日志打印函数设置在智能终端的系统底层,在智能终端为Android系统时,系统底层可以为Native层(本地代码层,C/C++实现),因此,本申请只需要HOOK系统底层就能实现对日志输出的拦截,防止日志泄露。
基于相同的技术构思,本申请实施例还提供了一种日志打印响应流程,该流程包括:
步骤1:目标应用启动时,HOOK系统API---android_log_is_loggable。
步骤2:智能终端的android.util.Log被调用后,日志输出的进程本应跳转至android_log_is_loggable进行日志输出,但由于android_log_is_loggable已经被钩子函数HOOK,因此进程跳转至钩子函数myHook。
步骤3:进程中包含字段“xxx.xx.BuildConfig.DEBUG”。通过钩子函数判断“xxx.xx.BuildConfig.DEBUG”为true还是flase。若为true,则执行步骤4,若为false,则执行步骤6。
步骤4:钩子函数返回数值“1”,“1”表示日志可以输出。
步骤5:将myHook的地址更替为android_log_is_loggable的地址,通过android_log_is_loggable输出日志。
步骤6:钩子函数返回数值“0”,“0”表示日志不可以输出。
步骤7:停止日志输出的进程,禁止输出目标应用的日志。
基于相同的技术构思,本申请实施例还提供了一种日志打印响应装置,如图2所示,该装置包括:
第一调用模块201,用于在检测到智能终端中目标应用启动的情况下,通过预设的钩子函数调用日志打印函数,其中,日志打印函数用于在目标应用的目标日志接口被调用时进行日志输出;
第二调用模块202,用于在检测到调用目标日志接口的调用请求的情况下,通过钩子函数调用日志输出的进程,其中,进程中携带有目标字段,目标字段用于指示目标应用的当前所处环境;
响应模块203,用于通过钩子函数根据当前所处环境对调用请求进行响应。
可选地,响应模块203包括:
第一确定单元,用于通过钩子函数确定目标应用的当前所处环境是否为调试环境;
第一获取单元,用于在通过钩子函数确定当前所处环境为调试环境的情况下,获取钩子函数发送的第一反馈信息,其中,第一反馈信息用于指示允许输出目标应用的日志;
输出单元,用于根据第一反馈信息输出目标应用的日志。
可选地,第一调用模块201包括:
第二获取单元,用于在检测到智能终端中目标应用启动的情况下,获取日志打印函数的地址和钩子函数的地址;
第一更改单元,用于将日志打印函数的地址更改为钩子函数的地址。
可选地,输出单元包括:
更改子单元,用于根据第一反馈信息,将钩子函数的地址更改为日志打印函数的地址;
调用子单元,用于通过日志打印函数调用日志输出的进程,以通过日志打印函数输出目标应用的日志。
可选地,响应模块203包括:
第二确定单元,用于通过钩子函数确定目标应用的当前所处环境是否为调试环境;
第三确定单元,用于在通过钩子函数确定当前所处环境不是调试环境的情况下,确定当前所处环境为发布环境;
第三获取单元,用于获取钩子函数发送的第二反馈信息,其中,第二反馈信息用于指示禁止输出目标应用的日志;
停止单元,用于根据第二反馈信息停止日志输出的进程。
可选地,进程中还携带有目标应用的名称,该装置还包括:
输出模块,用于输出警示信息,其中,警示信息中包含目标应用的名称。
可选地,日志打印函数处于智能终端的系统底层,系统底层为日志输出时必须经过的传输路径。
在本申请中,智能终端在目标应用的日志接口被调用时,获取目标应用的调用请求,并采用钩子函数调用日志输出的进程,使日志不会被立刻输出,而是在钩子函数中判断目标应用的当前所处环境,并根据当前所处环境的不同对调用请求做出不同的响应。本申请不会使日志被随意输出,避免攻击者获取目标应用发布版本的日志,避免日志泄露,提高信息安全性。
基于相同的技术构思,本发明实施例还提供了一种电子设备,如图3所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现上述步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种日志打印响应方法,其特征在于,所述方法包括:
在检测到智能终端中目标应用启动的情况下,通过预设的钩子函数调用日志打印函数,其中,所述日志打印函数用于在所述目标应用的目标日志接口被调用时进行日志输出;
在检测到调用所述目标日志接口的调用请求的情况下,通过所述钩子函数调用日志输出的进程,其中,所述进程中携带有目标字段,所述目标字段用于指示所述目标应用的当前所处环境,所述当前所处环境为调试环境或发布环境;
通过所述钩子函数根据所述当前所处环境对所述调用请求进行响应。
2.根据权利要求1所述的方法,其特征在于,所述通过所述钩子函数根据所述当前所处环境对所述调用请求进行响应包括:
通过所述钩子函数确定所述目标应用的当前所处环境是否为调试环境;
在通过所述钩子函数确定所述当前所处环境为调试环境的情况下,获取所述钩子函数发送的第一反馈信息,其中,所述第一反馈信息用于指示允许输出所述目标应用的日志;
根据所述第一反馈信息输出所述目标应用的日志。
3.根据权利要求2所述的方法,其特征在于,所述在检测到智能终端中目标应用启动的情况下,通过预设的钩子函数调用日志打印函数包括:
在检测到所述智能终端中目标应用启动的情况下,获取所述日志打印函数的地址和所述钩子函数的地址;
将所述日志打印函数的地址更改为所述钩子函数的地址。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一反馈信息输出所述目标应用的日志包括:
根据所述第一反馈信息,将所述钩子函数的地址更改为所述日志打印函数的地址;
通过所述日志打印函数调用所述日志输出的进程,以通过所述日志打印函数输出所述目标应用的日志。
5.根据权利要求1所述的方法,其特征在于,所述通过所述钩子函数根据所述当前所处环境对所述调用请求进行响应包括:
通过所述钩子函数确定所述目标应用的当前所处环境是否为调试环境;
在通过所述钩子函数确定所述当前所处环境不是调试环境的情况下,确定所述当前所处环境为发布环境;
获取所述钩子函数发送的第二反馈信息,其中,所述第二反馈信息用于指示禁止输出所述目标应用的日志;
根据所述第二反馈信息停止所述日志输出的进程。
6.根据权利要求5所述的方法,其特征在于,所述进程中还携带有所述目标应用的名称,在根据所述第二反馈信息停止所述日志输出的进程之后,所述方法还包括:
输出警示信息,其中,所述警示信息中包含所述目标应用的名称。
7.根据权利要求1所述的方法,其特征在于,所述日志打印函数处于所述智能终端的系统底层,所述系统底层为所述日志输出时必须经过的传输路径。
8.一种日志打印响应装置,其特征在于,所述装置包括:
第一调用模块,用于在检测到智能终端中目标应用启动的情况下,通过预设的钩子函数调用日志打印函数,其中,所述日志打印函数用于在所述目标应用的目标日志接口被调用时进行日志输出;
第二调用模块,用于在检测到调用所述目标日志接口的调用请求的情况下,通过所述钩子函数调用日志输出的进程,其中,所述进程中携带有目标字段,所述目标字段用于指示所述目标应用的当前所处环境,所述当前所处环境为调试环境或发布环境;
响应模块,用于通过所述钩子函数根据所述当前所处环境对所述调用请求进行响应。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1--7任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110773610.5A CN113553578B (zh) | 2021-07-08 | 2021-07-08 | 一种日志打印响应方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110773610.5A CN113553578B (zh) | 2021-07-08 | 2021-07-08 | 一种日志打印响应方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113553578A CN113553578A (zh) | 2021-10-26 |
CN113553578B true CN113553578B (zh) | 2024-04-12 |
Family
ID=78102823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110773610.5A Active CN113553578B (zh) | 2021-07-08 | 2021-07-08 | 一种日志打印响应方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553578B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785676A (zh) * | 2022-03-02 | 2022-07-22 | 深圳市优必选科技股份有限公司 | 提取日志的方法、装置、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559121A (zh) * | 2013-09-23 | 2014-02-05 | 清华大学 | 基于日志注入的驱动配置调试方法 |
JP2014071789A (ja) * | 2012-10-01 | 2014-04-21 | Ricoh Co Ltd | 情報処理装置およびプログラム |
JP2015114786A (ja) * | 2013-12-11 | 2015-06-22 | 三菱電機株式会社 | 情報処理システム及びプログラム |
CN106126415A (zh) * | 2016-06-15 | 2016-11-16 | 百度在线网络技术(北京)有限公司 | 一种在安卓系统中的应用调试方法和应用调试装置 |
US10176078B1 (en) * | 2015-08-28 | 2019-01-08 | Cadence Design Systems, Inc. | Debugging process |
CN109376074A (zh) * | 2018-09-14 | 2019-02-22 | 浙江口碑网络技术有限公司 | 获取日志的方法及装置、存储介质、电子装置 |
CN110858130A (zh) * | 2018-08-22 | 2020-03-03 | 网宿科技股份有限公司 | 日志打印方法及系统、服务器 |
CN110941405A (zh) * | 2019-11-24 | 2020-03-31 | 浪潮电子信息产业股份有限公司 | 一种内核客户端日志打印方法、装置、设备及存储介质 |
CN111767261A (zh) * | 2020-05-29 | 2020-10-13 | 广州视源电子科技股份有限公司 | 调试日志输出方法、装置、存储介质及电子设备 |
CN111782372A (zh) * | 2020-06-30 | 2020-10-16 | 中国平安财产保险股份有限公司 | java进程的启动方法、装置、计算机设备和存储介质 |
CN112148699A (zh) * | 2020-09-28 | 2020-12-29 | 平安数字信息科技(深圳)有限公司 | 日志管理方法、装置、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7086034B2 (en) * | 2002-06-28 | 2006-08-01 | Canon Kabushiki Kaisha | Method, program, and storage medium for acquiring logs |
-
2021
- 2021-07-08 CN CN202110773610.5A patent/CN113553578B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014071789A (ja) * | 2012-10-01 | 2014-04-21 | Ricoh Co Ltd | 情報処理装置およびプログラム |
CN103559121A (zh) * | 2013-09-23 | 2014-02-05 | 清华大学 | 基于日志注入的驱动配置调试方法 |
JP2015114786A (ja) * | 2013-12-11 | 2015-06-22 | 三菱電機株式会社 | 情報処理システム及びプログラム |
US10176078B1 (en) * | 2015-08-28 | 2019-01-08 | Cadence Design Systems, Inc. | Debugging process |
CN106126415A (zh) * | 2016-06-15 | 2016-11-16 | 百度在线网络技术(北京)有限公司 | 一种在安卓系统中的应用调试方法和应用调试装置 |
CN110858130A (zh) * | 2018-08-22 | 2020-03-03 | 网宿科技股份有限公司 | 日志打印方法及系统、服务器 |
CN109376074A (zh) * | 2018-09-14 | 2019-02-22 | 浙江口碑网络技术有限公司 | 获取日志的方法及装置、存储介质、电子装置 |
CN110941405A (zh) * | 2019-11-24 | 2020-03-31 | 浪潮电子信息产业股份有限公司 | 一种内核客户端日志打印方法、装置、设备及存储介质 |
CN111767261A (zh) * | 2020-05-29 | 2020-10-13 | 广州视源电子科技股份有限公司 | 调试日志输出方法、装置、存储介质及电子设备 |
CN111782372A (zh) * | 2020-06-30 | 2020-10-16 | 中国平安财产保险股份有限公司 | java进程的启动方法、装置、计算机设备和存储介质 |
CN112148699A (zh) * | 2020-09-28 | 2020-12-29 | 平安数字信息科技(深圳)有限公司 | 日志管理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113553578A (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190324772A1 (en) | Method and device for processing smart contracts | |
WO2019072008A1 (zh) | 小程序的安全扫描方法、装置以及电子设备 | |
CN105550585B (zh) | 一种应用程序安全性测试方法、装置和系统 | |
CN110958221B (zh) | 动态检测xml外部实体注入漏洞的方法及装置 | |
CN110968874B (zh) | 一种漏洞检测方法、装置、服务器及存储介质 | |
KR20130116409A (ko) | 애플리케이션이 필요로 하는 권한을 진단하는 방법 및 장치 | |
CN113553578B (zh) | 一种日志打印响应方法、装置、电子设备和存储介质 | |
CN115577359A (zh) | 安卓应用程序隐私权限安全检测方法、装置、设备及介质 | |
CN110704311B (zh) | 一种应用程序测试方法、装置、电子设备及可读存储介质 | |
CN113032100B (zh) | 一种异常处理方法、装置、设备及存储介质 | |
US20230315620A1 (en) | System and Method for Diagnosing a Computing Device in Safe Mode | |
CN112163193A (zh) | 一种广播注册控制方法、装置、设备及介质 | |
CN111045724A (zh) | 调用链信息的查询方法、装置和可读存储介质 | |
CN108920218B (zh) | 一种反射调用方法、装置、终端及计算机可读存储介质 | |
CN113342660B (zh) | 文件测试方法、装置、系统、电子设备及可读存储介质 | |
CN113282906B (zh) | 权限检测方法、装置、终端及存储介质 | |
CN110390199A (zh) | Android系统漏洞检测方法、装置、计算机设备和存储介质 | |
CN110221880B (zh) | 应用程序编程接口调用方法、装置、设备及介质 | |
CN116521251A (zh) | 服务管理方法、装置、计算机设备及存储介质 | |
CN111309410B (zh) | 一种程序对象确定方法及装置 | |
CN115469943B (zh) | Java虚拟终端命令执行的检测方法及装置 | |
CN115858257A (zh) | 主机操作的随机测试方法及装置 | |
CN111078308B (zh) | 类的自动加载方法、装置、电子设备及存储介质 | |
CN115269435A (zh) | 一种功能接口测试方法、装置、设备以及存储介质 | |
CN110209513B (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 |