CN116707929B - 基于调用栈信息获取的手机拍照造假检测方法、装置、终端设备和计算机可读存储介质 - Google Patents
基于调用栈信息获取的手机拍照造假检测方法、装置、终端设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN116707929B CN116707929B CN202310723714.4A CN202310723714A CN116707929B CN 116707929 B CN116707929 B CN 116707929B CN 202310723714 A CN202310723714 A CN 202310723714A CN 116707929 B CN116707929 B CN 116707929B
- Authority
- CN
- China
- Prior art keywords
- mobile phone
- stack information
- call stack
- dynamic library
- jail
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 78
- 230000002159 abnormal effect Effects 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 21
- 238000000034 method Methods 0.000 abstract description 14
- 241001634817 Cydia Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- VPNGEIHDPSLNMU-MERQFXBCSA-N dexmedetomidine hydrochloride Chemical compound Cl.C1([C@@H](C)C=2C(=C(C)C=CC=2)C)=CNC=N1 VPNGEIHDPSLNMU-MERQFXBCSA-N 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 229940079037 sileo Drugs 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Abstract
本发明提供了一种基于调用栈信息获取的手机拍照造假检测方法和装置,方法包括:检测确定所述待测手机是否越狱;在确定越狱时,通过IOS系统库获取调用栈信息,上传至服务端;将待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,在比对结果中存在异常动态库时,确定待测手机的拍摄的图片存在造假;其中,所述非越狱手机的调用栈信息为预设的调用栈信息;所述异常动态库为注入的动态库。相比于现有技术,通过获取待测手机的调用栈信息并将其日志上传至服务端,通过服务端将待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,可以有效检测基于注入动态库等的方法的拍照造假,有效提高检测效率和准确率。
Description
技术领域
本发明涉及手机拍照检测技术领域,尤其涉及一种基于调用栈信息获取的手机拍照造假检测方法、装置、终端设备和计算机可读存储介质。
背景技术
在一些行业的管理软件中,存在一些业务场景例如进店签到、货架陈列等,需要通过手机拍摄照片,然后对照片中的SKU进行识别,再进行后续的相关业务操作,且企业会依此对相关业务员进行考核,由此,图片的真实性对企业来说是至关重要的。
正常的非越狱的基于IOS系统的手机无法实现图片造假的功能,但是在越狱后,IOS系统的一些权限的限制会被取消,APP可以获得较大限度的权限,可以访问本APP之外的其他APP的沙盒、hook系统功能,或注入动态库等等。而通过注入动态库,hook系统相机拍照的回调方法,在系统相机拍照的回调功能里可以实现舍弃相机拍摄的照片,并将用户提前设定的照片返回给APP,由此可以实现拍照造假的功能。通过该方法可以极易实现照片的造假,对现有的拍照检测技术实现欺骗,现有的拍照检测技术存在检测效率和准确率低下的问题。
发明内容
本发明提供了一种基于调用栈信息获取的手机拍照造假检测方法、装置、终端设备和计算机可读存储介质,以解决如何提高现有的拍照检测技术的检测效率低和准确率低的技术问题。
为了解决上述技术问题,本发明实施例提供了一种基于调用栈信息获取的手机拍照造假检测方法,包括:
在基于IOS系统的待测手机拍照后,检测确定所述待测手机是否越狱;
在确定所述待测手机越狱时,通过IOS系统库获取所述待测手机的调用栈信息,并将所述待测手机的调用栈信息的日志上传至服务端;
通过所述服务端,将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,在比对结果中存在异常动态库时,确定所述待测手机的拍摄的图片存在造假的情形;反之,确定所述待测手机的拍摄的图片不存在造假的情形;其中,所述非越狱手机的调用栈信息为预设的调用栈信息;所述异常动态库为注入的动态库。
作为优选方案,所述将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,具体为:
通过识别字符串,找出含有动态库的调用栈信息,所述含有动态库的调用栈信息包含特定的字符串;
截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称;
判断获取的动态库的名称中是否包含除了本APP以外的动态库或非本系统的动态库中的至少一个;
当存在本APP以外的动态库或非本系统的动态库中的至少一个时,则确定所述比对结果中存在异常动态库。
作为优选方案,所述截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称,具体为:
根据拍照回调功能的地址信息,截取获得调用栈信息的堆栈标号和动态库名称;
通过识别所述堆栈标号和所述动态库名称中间的空格,分割出所述动态库名称。
作为优选方案,所述检测确定所述待测手机是否越狱,具体为:
采用NSFileManager,判断所述待测手机是否可以访问特定的文件或路径,以确定所述待测手机是否越狱;
或者,判断stat函数是否来自于系统库,并在判断来自于系统库时判断特定的文件是否存在,以确定所述待测手机是否越狱;其中,当判断所述stat函数来自于非系统库时,则判断所述待测手机越狱;
或者,通过环境变量DYLD_INSERT_LIBRARIES,以判断所述待测手机是否越狱。
相应的,本发明实施例还提供了一种基于调用栈信息获取的手机拍照造假检测装置,包括越狱检测模块、栈信息获取模块和造假检测模块;其中,
所述越狱检测模块,用于在基于IOS系统的待测手机拍照后,检测确定所述待测手机是否越狱;
所述栈信息获取模块,用于在确定所述待测手机越狱时,通过IOS系统库获取所述待测手机的调用栈信息,并将所述待测手机的调用栈信息的日志上传至服务端;
所述造假检测模块,用于通过所述服务端,将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,在比对结果中存在异常动态库时,确定所述待测手机的拍摄的图片存在造假的情形;反之,确定所述待测手机的拍摄的图片不存在造假的情形;其中,所述非越狱手机的调用栈信息为预设的调用栈信息;所述异常动态库为注入的动态库。
作为优选方案,所述造假检测模块将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,具体为:
所述造假检测模块通过识别字符串,找出含有动态库的调用栈信息,所述含有动态库的调用栈信息包含特定的字符串;
截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称;
判断获取的动态库的名称中是否包含除了本APP以外的动态库或非本系统的动态库中的至少一个;
当存在本APP以外的动态库或非本系统的动态库中的至少一个时,则确定所述比对结果中存在异常动态库。
作为优选方案,所述造假检测模块截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称,具体为:
所述造假检测模块根据拍照回调功能的地址信息,截取获得调用栈信息的堆栈标号和动态库名称;
通过识别所述堆栈标号和所述动态库名称中间的空格,分割出所述动态库名称。
作为优选方案,所述越狱检测模块检测确定所述待测手机是否越狱,具体为:
所述越狱检测模块采用NSFileManager,判断所述待测手机是否可以访问特定的文件或路径,以确定所述待测手机是否越狱;
或者,所述越狱检测模块判断stat函数是否来自于系统库,并在判断来自于系统库时判断特定的文件是否存在,以确定所述待测手机是否越狱;其中,当判断所述stat函数来自于非系统库时,则判断所述待测手机越狱;
或者,所述越狱检测模块通过环境变量DYLD_INSERT_LIBRARIES,以判断所述待测手机是否越狱。
相应的,本发明实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于调用栈信息获取的手机拍照造假检测方法。
相应的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行所述的基于调用栈信息获取的手机拍照造假检测方法。
相比于现有技术,本发明实施例具有如下有益效果:
本发明实施例提供了一种基于调用栈信息获取的手机拍照造假检测方法、装置、终端设备和计算机可读存储介质,所述手机拍照造假检测方法包括:在基于IOS系统的待测手机拍照后,检测确定所述待测手机是否越狱;在确定所述待测手机越狱时,通过IOS系统库获取所述待测手机的调用栈信息,并将所述待测手机的调用栈信息的日志上传至服务端;通过所述服务端,将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,在比对结果中存在异常动态库时,确定所述待测手机的拍摄的图片存在造假的情形;反之,确定所述待测手机的拍摄的图片不存在造假的情形;其中,所述非越狱手机的调用栈信息为预设的调用栈信息;所述异常动态库为注入的动态库。相比于现有技术,通过获取待测手机的调用栈信息并将其日志上传至服务端,通过服务端将待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,可以有效检测基于注入动态库等的方法的拍照造假,有效提高检测效率和准确率。
进一步地,通过识别特定的符串,可以找出含有动态库的调用栈信息,获得对应的动态库名称,当存在本APP以外的动态库或非本系统的动态库中的至少一个时,可以确定是异常动态库,这样,相比现有的拍照检测的技术方案,可以实现对异常动态库的准确定位和识别并获取其库名称等信息,为相关技术人员提供参考。
附图说明
图1:为本发明基于调用栈信息获取提供的手机拍照造假检测方法的一种实施例的流程示意图。
图2:为本发明提供的非越狱手机的调用栈信息的一种实施例的效果示意图。
图3:为本发明提供的越狱手机的调用栈信息的一种实施例的效果示意图。
图4:为本发明基于调用栈信息获取提供的手机拍照造假检测装置的一种实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
请参照图1,为本发明实施例提供的一种基于调用栈信息获取的手机拍照造假检测方法,包括步骤S1至步骤S3;其中,
步骤S1,在基于IOS系统的待测手机拍照后,检测确定所述待测手机是否越狱。
在本实施例中,用户使用手机的相机进行拍照,然后对拍照进行回调,之后再进行是否越狱的判定。在进行越狱的检测时,有两种思路,对于第一种思路:考虑到手机在进行越狱后,APP可以获得更高的权限,可以访问未越狱时无法访问的路径以及文件,所以可以通过这个特点去检测手机是否越狱。
另一个思路是:Cydia和Sileo是越狱后一般都会安装的软件,并且这两个软件是越狱手机安装app的主要途径,相当于非越狱手机的App Store,是安装app的应用商店。所以也可以检测是否安装这两个软件中的至少一个,作为检测是否越狱的一种手段。由此,整理出检测是否越狱的一些关键文件或路径包括但不限于:
@"/Applications/Cydia.app",@"/Applications/Sileo.app",@"/usr/sbin/sshd",@"/bin/bash",@"/etc/apt",@"/Library/MobileSubstrate",@"/User/Applications/"。
在本实施例中,所述检测确定所述待测手机是否越狱包括三种实施方式,作为本实施例的一种实施方式:
采用NSFileManager,判断所述待测手机是否可以访问特定的文件或路径,以确定所述待测手机是否越狱。这种方式对应上述的第一种思路。
作为本实施例的另一种实施方式,还可以是:
判断stat函数是否来自于系统库,并在判断来自于系统库时判断特定的文件是否存在,以确定所述待测手机是否越狱;其中,当判断所述stat函数来自于非系统库时,则判断所述待测手机越狱。这里可以使用C语言函数stat,因为可以通过hook stat函数绕过检测,所以直接使用stat函数进行判断也会存在漏检测的情况。但是在hook之后,stat的来源将指向注入的动态库,而非系统库,因此在使用stat函数之前,可以先判断stat函数是否是来自于系统库,(即“/usr/lib/system/libsystem_kernel.dylib”),从而降低漏检的可能性。在判断来自于非系统库时,则可以直接判定为越狱手机。
作为本实施例的又一种实施方式,则是通过获取环境变量DYLD_INSERT_LIBRARIES,以判断所述待测手机是否越狱。若环境变量为NULL,则可以判断未越狱,反之,则判断存在越狱的情形。
步骤S2,在确定所述待测手机越狱时,通过IOS系统库获取所述待测手机的调用栈信息,并将所述待测手机的调用栈信息的日志上传至服务端。
在本实施例中,在确定所述待测手机存在越狱的情形时,可以通过iOS系统库中提供的backtrace和backtrace_symbols方法获取调用栈信息。同时,也可以获取非越狱手机拍照回调功能的调用栈信息。
然后,在手机端获取了待测手机拍照回调功能的调用栈信息之后,将其对应的日志信息上传至服务端,由服务端对其进行进一步检测,以确定是否存在拍照造假的情况。
步骤S3,通过所述服务端,将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,在比对结果中存在异常动态库时,确定所述待测手机的拍摄的图片存在造假的情形;反之,确定所述待测手机的拍摄的图片不存在造假的情形;其中,所述非越狱手机的调用栈信息为预设的调用栈信息;所述异常动态库为注入的动态库。
在本实施例中,在所述服务端,所述将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,具体为:
通过识别字符串,找出含有动态库的调用栈信息,所述含有动态库的调用栈信息包含特定的字符串;截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称;判断获取的动态库的名称中是否包含除了本APP以外的动态库或非本系统的动态库中的至少一个;当存在本APP以外的动态库或非本系统的动态库中的至少一个时,则确定所述比对结果中存在异常动态库。
作为本实施例的一种举例,图2中为非越狱手机拍照回调功能的调用栈信息,图3为越狱手机拍照回调方法的调用栈信息。其中图3明显可以发现,里面的第2条zfakecameraDylib.dylib,以及第3条FakePicture.dylib是注入的两个动态库,这两个动态库用于实现修改系统相机拍摄的照片的功能,由此可以判定待测手机存在拍照造假的情况。
作为进一步优选的实施方式,所述截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称,具体为:
根据拍照回调功能的地址信息,截取获得调用栈信息的堆栈标号和动态库名称;通过识别所述堆栈标号和所述动态库名称中间的空格,分割出所述动态库名称。例如,通过字符串匹配,可以找出含有动态库(即包含“.dylib”)的堆栈信息,以图3的第3条为例:“3FakePicture.dylib 0x000000010a709394FakePicture.dylib+37780”;
其中,最开始的数字3是堆栈符号,FakePicture.dylib即动态库名称,0x000000010a70939为拍照回调功能的地址信息,由此,本实施例可以据此进行数据的清洗,具体地:截取0x之前的信息,获取到堆栈标号和动态库名称“3FakePicture.dylib”;然后,根据堆栈标号和动态库名称之间的空格对字符串进行分割,分别得到堆栈标号3和库名称FakePicture.dylib。取出动态库的名称用于判断,与非越狱手机的调用栈信息进行对比,判断是否包含非本系统的动态库或者本APP以外的其他动态库,在包含非本系统的动态库或者本APP以外的其他动态库时,判定为异常情况,进而,将对应的日志信息和经过清洗的数据存入异常信息数据库并对该数据库进行更新,以便于为下一次的识别和比对提供参考。
然后可以将更新后的异常信息数据库发送至web端,通过BI展示,通过展示结果可以获取到包括但不限于对应的组织、人员、门店信息和业务场景等信息,并将这些获取到的信息以报表的形式进行展示,为企业相关管理人人员提供参考。
相应的,参照图4,本发明实施例还提供了一种基于调用栈信息获取的手机拍照造假检测装置,包括越狱检测模块101、栈信息获取模块102和造假检测模块103;其中,
所述越狱检测模块101,用于在基于IOS系统的待测手机拍照后,检测确定所述待测手机是否越狱;
所述栈信息获取模块102,用于在确定所述待测手机越狱时,通过IOS系统库获取所述待测手机的调用栈信息,并将所述待测手机的调用栈信息的日志上传至服务端;
所述造假检测模块103,用于通过所述服务端,将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,在比对结果中存在异常动态库时,确定所述待测手机的拍摄的图片存在造假的情形;反之,确定所述待测手机的拍摄的图片不存在造假的情形;其中,所述非越狱手机的调用栈信息为预设的调用栈信息;所述异常动态库为注入的动态库。
作为优选方案,所述造假检测模块103将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,具体为:
所述造假检测模块103通过识别字符串,找出含有动态库的调用栈信息,所述含有动态库的调用栈信息包含特定的字符串;
截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称;
判断获取的动态库的名称中是否包含除了本APP以外的动态库或非本系统的动态库中的至少一个;
当存在本APP以外的动态库或非本系统的动态库中的至少一个时,则确定所述比对结果中存在异常动态库。
作为优选方案,所述造假检测模块103截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称,具体为:
所述造假检测模块103根据拍照回调功能的地址信息,截取获得调用栈信息的堆栈标号和动态库名称;
通过识别所述堆栈标号和所述动态库名称中间的空格,分割出所述动态库名称。
作为优选方案,所述越狱检测模块101检测确定所述待测手机是否越狱,具体为:
所述越狱检测模块101采用NSFileManager,判断所述待测手机是否可以访问特定的文件或路径,以确定所述待测手机是否越狱;
或者,所述越狱检测模块101判断stat函数是否来自于系统库,并在判断来自于系统库时判断特定的文件是否存在,以确定所述待测手机是否越狱;其中,当判断所述stat函数来自于非系统库时,则判断所述待测手机越狱;
或者,所述越狱检测模块101通过环境变量DYLD_INSERT_LIBRARIES,以判断所述待测手机是否越狱。
相应的,本发明实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于调用栈信息获取的手机拍照造假检测方法。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端的控制中心,利用各种接口和线路连接整个终端的各个部分。
所述存储器可用于存储所述计算机程序,所述处理器通过运行或执行存储在所述存储器内的计算机程序,以及调用存储在存储器内的数据,实现所述终端的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
相应的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行所述的基于调用栈信息获取的手机拍照造假检测方法。
其中,所述基于调用栈信息获取的手机拍照造假检测装置集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
相比于现有技术,本发明实施例具有如下有益效果:
本发明实施例提供了一种基于调用栈信息获取的手机拍照造假检测方法、装置、终端设备和计算机可读存储介质,所述手机拍照造假检测方法包括:在基于IOS系统的待测手机拍照后,检测确定所述待测手机是否越狱;在确定所述待测手机越狱时,通过IOS系统库获取所述待测手机的调用栈信息,并将所述待测手机的调用栈信息的日志上传至服务端;通过所述服务端,将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,在比对结果中存在异常动态库时,确定所述待测手机的拍摄的图片存在造假的情形;反之,确定所述待测手机的拍摄的图片不存在造假的情形;其中,所述非越狱手机的调用栈信息为预设的调用栈信息;所述异常动态库为注入的动态库。相比于现有技术,通过获取待测手机的调用栈信息并将其日志上传至服务端,通过服务端将待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,可以有效检测基于注入动态库等的方法的拍照造假,有效提高检测效率和准确率。
进一步地,通过识别特定的符串,可以找出含有动态库的调用栈信息,获得对应的动态库名称,当存在本APP以外的动态库或非本系统的动态库中的至少一个时,可以确定是异常动态库,这样,相比现有的拍照检测的技术方案,可以实现对异常动态库的准确定位和识别并获取其库名称等信息,为相关技术人员提供参考。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于调用栈信息获取的手机拍照造假检测方法,其特征在于,包括:
在基于IOS系统的待测手机拍照后,检测确定所述待测手机是否越狱;
在确定所述待测手机越狱时,通过IOS系统库获取所述待测手机的调用栈信息,并将所述待测手机的调用栈信息的日志上传至服务端;
通过所述服务端,将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,在比对结果中存在异常动态库时,确定所述待测手机的拍摄的图片存在造假的情形;反之,确定所述待测手机的拍摄的图片不存在造假的情形;其中,所述非越狱手机的调用栈信息为预设的调用栈信息;所述异常动态库为注入的动态库;
所述将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,具体为:
通过识别字符串,找出含有动态库的调用栈信息,所述含有动态库的调用栈信息包含特定的字符串;
截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称;
判断获取的动态库的名称中是否包含除了本APP以外的动态库或非本系统的动态库中的至少一个;
当存在本APP以外的动态库或非本系统的动态库中的至少一个时,则确定所述比对结果中存在异常动态库;
所述截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称,具体为:
根据拍照回调功能的地址信息,截取获得调用栈信息的堆栈标号和动态库名称;
通过识别所述堆栈标号和所述动态库名称中间的空格,分割出所述动态库名称。
2.如权利要求1所述的一种基于调用栈信息获取的手机拍照造假检测方法,其特征在于,所述检测确定所述待测手机是否越狱,具体为:
采用NSFileManager,判断所述待测手机是否可以访问特定的文件或路径,以确定所述待测手机是否越狱;
或者,判断stat函数是否来自于系统库,并在判断来自于系统库时判断特定的文件是否存在,以确定所述待测手机是否越狱;其中,当判断所述stat函数来自于非系统库时,则判断所述待测手机越狱;
或者,通过环境变量DYLD_INSERT_LIBRARIES,以判断所述待测手机是否越狱。
3.一种基于调用栈信息获取的手机拍照造假检测装置,其特征在于,包括越狱检测模块、栈信息获取模块和造假检测模块;其中,
所述越狱检测模块,用于在基于IOS系统的待测手机拍照后,检测确定所述待测手机是否越狱;
所述栈信息获取模块,用于在确定所述待测手机越狱时,通过IOS系统库获取所述待测手机的调用栈信息,并将所述待测手机的调用栈信息的日志上传至服务端;
所述造假检测模块,用于通过所述服务端,将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,在比对结果中存在异常动态库时,确定所述待测手机的拍摄的图片存在造假的情形;反之,确定所述待测手机的拍摄的图片不存在造假的情形;其中,所述非越狱手机的调用栈信息为预设的调用栈信息;所述异常动态库为注入的动态库;
所述造假检测模块将所述待测手机的调用栈信息与非越狱手机的调用栈信息进行比对,具体为:
所述造假检测模块通过识别字符串,找出含有动态库的调用栈信息,所述含有动态库的调用栈信息包含特定的字符串;
截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称;
判断获取的动态库的名称中是否包含除了本APP以外的动态库或非本系统的动态库中的至少一个;
当存在本APP以外的动态库或非本系统的动态库中的至少一个时,则确定所述比对结果中存在异常动态库;
所述造假检测模块截取识别到的含有动态库的调用栈信息的字符串,获得对应的动态库名称,具体为:
所述造假检测模块根据拍照回调功能的地址信息,截取获得调用栈信息的堆栈标号和动态库名称;
通过识别所述堆栈标号和所述动态库名称中间的空格,分割出所述动态库名称。
4.如权利要求3所述的一种基于调用栈信息获取的手机拍照造假检测装置,其特征在于,所述越狱检测模块检测确定所述待测手机是否越狱,具体为:
所述越狱检测模块采用NSFileManager,判断所述待测手机是否可以访问特定的文件或路径,以确定所述待测手机是否越狱;
或者,所述越狱检测模块判断stat函数是否来自于系统库,并在判断来自于系统库时判断特定的文件是否存在,以确定所述待测手机是否越狱;其中,当判断所述stat函数来自于非系统库时,则判断所述待测手机越狱;
或者,所述越狱检测模块通过环境变量DYLD_INSERT_LIBRARIES,以判断所述待测手机是否越狱。
5.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至2中任意一项所述的基于调用栈信息获取的手机拍照造假检测方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至2中任意一项所述的基于调用栈信息获取的手机拍照造假检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310723714.4A CN116707929B (zh) | 2023-06-16 | 基于调用栈信息获取的手机拍照造假检测方法、装置、终端设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310723714.4A CN116707929B (zh) | 2023-06-16 | 基于调用栈信息获取的手机拍照造假检测方法、装置、终端设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116707929A CN116707929A (zh) | 2023-09-05 |
CN116707929B true CN116707929B (zh) | 2024-07-05 |
Family
ID=
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010267128A (ja) * | 2009-05-15 | 2010-11-25 | Ntt Docomo Inc | 解析システム、解析装置、検知方法、解析方法及びプログラム |
CN103778375A (zh) * | 2012-10-24 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 防止用户设备加载非法的动态链接库文件的装置和方法 |
CN105528295A (zh) * | 2016-01-04 | 2016-04-27 | 北京航空航天大学 | 移动应用程序异常行为检测方法及装置 |
CN109829309A (zh) * | 2018-06-26 | 2019-05-31 | 360企业安全技术(珠海)有限公司 | 终端设备系统防护方法及装置 |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010267128A (ja) * | 2009-05-15 | 2010-11-25 | Ntt Docomo Inc | 解析システム、解析装置、検知方法、解析方法及びプログラム |
CN103778375A (zh) * | 2012-10-24 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 防止用户设备加载非法的动态链接库文件的装置和方法 |
CN105528295A (zh) * | 2016-01-04 | 2016-04-27 | 北京航空航天大学 | 移动应用程序异常行为检测方法及装置 |
CN109829309A (zh) * | 2018-06-26 | 2019-05-31 | 360企业安全技术(珠海)有限公司 | 终端设备系统防护方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144665B (zh) | 一种模拟器识别方法、识别设备及计算机可读介质 | |
US20180300222A1 (en) | Monitoring Activity of Software Development Kits Using Stack Trace Analysis | |
CN107229559B (zh) | 针对业务系统的测试完整度的检测方法和装置 | |
US20160125214A1 (en) | Method and device for processing visual graphic codes of mobile terminal | |
US20200218546A1 (en) | Targeted data extraction system and method | |
CN110941942A (zh) | 电路原理图检查方法、装置及系统 | |
CN111325715A (zh) | 相机色斑检测方法及设备 | |
CN110727941B (zh) | 一种隐私数据保护方法、装置、终端设备及存储介质 | |
CN109815702B (zh) | 软件行为的安全检测方法、装置及设备 | |
CN111353143A (zh) | 敏感权限检测方法、装置及存储介质 | |
CN114510930B (zh) | 一种操作文档审计的方法、装置、电子设备及介质 | |
CN106484779B (zh) | 文件操作方法及装置 | |
CN116069612A (zh) | 一种异常定位方法、装置和电子设备 | |
CN116707929B (zh) | 基于调用栈信息获取的手机拍照造假检测方法、装置、终端设备和计算机可读存储介质 | |
CN111158748B (zh) | 信息获取方法及装置、存储介质 | |
CN111046393B (zh) | 漏洞信息上传方法、装置、终端设备及存储介质 | |
CN115659340B (zh) | 一种仿冒小程序识别方法、装置、存储介质及电子设备 | |
CN116707929A (zh) | 基于调用栈信息获取的手机拍照造假检测方法和装置 | |
Murphy | Developing process for mobile device forensics | |
CN115098390A (zh) | 自动化测试方法、装置、存储介质和电子设备 | |
CN112560033B (zh) | 基于用户上下文的基线扫描方法及装置 | |
CN114936368A (zh) | 一种Java内存木马检测方法、终端设备及存储介质 | |
CN110765111B (zh) | 存储和读取方法、装置、电子设备和存储介质 | |
CN109413414B (zh) | 一种基于安卓系统的静默拍照检测方法 | |
KR20180094731A (ko) | 모바일 기기의 화면 녹화 탐지 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |