CN106648835B - 检测Android应用程序在安卓模拟器中运行的方法及系统 - Google Patents

检测Android应用程序在安卓模拟器中运行的方法及系统 Download PDF

Info

Publication number
CN106648835B
CN106648835B CN201611218711.1A CN201611218711A CN106648835B CN 106648835 B CN106648835 B CN 106648835B CN 201611218711 A CN201611218711 A CN 201611218711A CN 106648835 B CN106648835 B CN 106648835B
Authority
CN
China
Prior art keywords
simulator
android
file
mobile terminal
judging
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
CN201611218711.1A
Other languages
English (en)
Other versions
CN106648835A (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.)
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 CN201611218711.1A priority Critical patent/CN106648835B/zh
Publication of CN106648835A publication Critical patent/CN106648835A/zh
Application granted granted Critical
Publication of CN106648835B publication Critical patent/CN106648835B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种检测Android应用程序在安卓模拟器中运行的方法及系统,涉及安卓模拟器配置领域。该方法的步骤为:移动终端运行需要检测的Android应用程序;当通过JNI层判定移动终端中存在安卓模拟器特有的进程通信通道、IMEI信息、驱动文件和模拟器文件时,确定需要检测的Android应用程序在安卓模拟器上运行。本发明精准的检测Android应用程序是否运行在安卓模拟器中,进而在用户使用Android应用程序时,保证了用户的财产安全。

Description

检测Android应用程序在安卓模拟器中运行的方法及系统
技术领域
本发明涉及安卓模拟器配置领域,具体涉及一种检测Android应用程序在安卓模拟器中运行的方法及系统。
背景技术
随着通信技术的发展,安卓模拟器(在电脑上模拟安卓操作系统,并能安装、使用、卸载Android应用程序的软件,即电脑上能够操作安卓系统)已经广泛应用于社会之中;因为安卓模拟器能够修改各种移动终端配置参数,所以Hack能够通过安卓模拟器在电脑上伪造多台移动终端用户,还能够在安卓模拟器中篡改Android应用程序的数据达到“外挂”的目的。因此,为了保证Android应用程序的使用者安全,使用者需要得知Android应用程序的运行位置是在移动终端上,还是在电脑上的安卓模拟器中(Android应用程序的“BUG”只会在安卓模拟器中出现)。
目前,检测Android应用程序的运行位置的方法为:在移动终端上通过JAVA层代码来判断移动终端中是否存在安卓模拟器特有的进程通信通道和IMEI信息,若安卓模拟器特有的进程通信通道和IMEI(International Mobile Equipment Identity,国际移动设备身份码)信息均不存在与Android应用程序中,则说明Android应用程序未在安卓模拟器中运行,进而实现运行位置信息的获取。
但是,上述检测Android应用程序的运行位置的方法存在以下缺陷:对于HACK而言,JAVA层的代码比较容易被逆向出其实现原理,进而比较容易反编译成原始代码,而且运行位置信息、以及安卓模拟器特有的进程通信通道和IMEI信息,均容易被HACK所篡改,进而极大的降低检测的准确性,难以保证用户使用Android应用程序时的财产安全。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:检测Android应用程序是否运行在安卓模拟器中。本发明显著提高了检测的准确性,能够在用户使用Android应用程序时,保证用户的财产安全。
为达到以上目的,本发明提供的检测Android应用程序在安卓模拟器中运行的方法,包括以下步骤:
步骤A:移动终端运行需要检测的Android应用程序:
当通过JNI层判定移动终端中存在安卓模拟器特有的进程通信通道时,转到步骤B;
当通过JNI层判定移动终端中存在安卓模拟器特有的IMEI信息时,转到步骤B;
当通过JNI层判定移动终端中存在安卓模拟器特有的驱动文件时,转到步骤B;
当通过JNI层判定移动终端中存在安卓模拟器特有的模拟器文件时,转到步骤B;
当通过JNI层判定移动终端中存在安卓模拟器特有的电话号码时,转到步骤B;
当通过JNI层判定移动终端中存在安卓模拟器特有的Android Id时,转到步骤B;
当移动终端中不存在特有信息时,确定需要检测的Android应用程序未在安卓模拟器中运行;特有信息包括所述进程通信通道、IMEI信息、驱动文件、模拟器文件、电话号码和Android Id;
步骤B:确定需要检测的Android应用程序在安卓模拟器上运行。
与现有技术相比,本发明的优点在于:
(1)参见步骤A可知,本发明通过采集4个信息(安卓模拟器特有的进程通信通道、驱动文件、模拟器文件和IMEI信息),本发明只有在Android应用程序中未检测到上述4个信息中的任何1个,才确定Android应用程序未在安卓模拟器中运行。
与现有技术中通过JAVA采集2个信息(进程通信通道和IMEI信息)来检测Android应用程序是否在安卓模拟器中运行相比,本发明的检测标准至少提高1倍;而且本发明通过JNI层采集信息,与JAVA层编写的代码相比,破译和反编译JNI层的代码的难度非常高,进而显著提高了检测的准确性,在用户使用Android应用程序时,保证了用户的财产安全。
在此基础上,参见步骤A可知,本发明在上述4个信息的判断标准上增加了安卓模拟器特有的电话号码和Android Id的判断,即只有当特有电话号码、Android Id、以及上述4个信息均不存在于Android应用程序中,才确定Android应用程序未在安卓模拟器中运行,进一步提高了检测的准确性。
附图说明
图1为本发明实施例中检测Android应用程序在安卓模拟器中运行的方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例中的检测Android应用程序在安卓模拟器中运行的方法,包括以下步骤:
S1:移动终端运行需要检测的Android应用程序,在移动终端的JNI层(用来沟通JAVA代码和外部的本地代码C或C++的协议层)上,读取fopen函数(打开文件函数);通过fopen函数,判断移动终端中是否存在安卓模拟器特有的进程通信通道,若不是,转到S2,若是,转到S8。
S1的进程通信通道包括"/dev/socket/qemud"和"/dev/qemu_pipe",S1的具体流程为:
S101:调用Android系统提供的API函数获取libc.so的句柄,其目的在于:打开文件函数fopen存在于Android系统的libc.so库中,获取libc.so的句柄能够直接读取libc.so库中的fopen函数,转到S102。
S101的具体实现方式为:
void*dlopen(const char*pathname,int mode);
在参数pathname中传入需要打开的SO的名字(即libc.so),在参数mode中传入打开方式(RTLD_NOW),需要解析符号。
S102:调用Android系统的API函数dlsym,通过libc.so的句柄打开fopen函数,转到S103。
S102的具体实现方式为:
void*dlsym(void*handle,const char*symbol);
在参数handle中传入libc.so的句柄,在参数symbol中传入fopen函数的名称。
S103:通过fopen函数分别打开进程通信通道"/dev/socket/qemud"和"/dev/qemu_pipe",函数fopen的原型为:
FILE*fopen(const char*path,const char*mode);
FILE为返回值,在参数path中传入进程通道的名称("/dev/socket/qemud"或"/dev/qemu_pipe"),在参数mode传入打开的方式。
打开"/dev/socket/qemud"时(fopen("/dev/socket/qemud",r),若FILE不为空(返回文件句柄),则确认"/dev/socket/qemud"打开且存在,即Android应用程序在电脑上的安卓模拟器中运行(安卓模拟器肯定会存在上述的通道来进行通信),转到S8。
打开"/dev/qemu_pipe"时(fopen("/dev/qemu_pipe",r),若FILE不为空(返回文件句柄),则确认"/dev/qemu_pipe"打开且存在,即Android应用程序在电脑上的安卓模拟器中运行(安卓模拟器肯定会存在上述的通道来进行通信),转到S8。
若打开上述2个进程通信通道的FILE均为空,则确认所有进程通信通道均未打开且不存在,转到S2。
S2:通过fopen函数,判断移动终端中是否存在安卓模拟器特有的驱动文件,若不是,转到S3,若是,转到S8。
S2的驱动文件为"/proc/tty/drivers",S2的具体流程为:
通过fopen函数打开驱动文件:fopen("/proc/tty/drivers",r);
若返回值FILE不为空,则确认驱动文件打开且存在,即Android应用程序在电脑上的安卓模拟器中运行;若FILE为空,则确认驱动文件未打开且不存在。
S3:通过fopen函数,判断移动终端中是否存在安卓模拟器的模拟器文件,若不是,转到S4,若是,转到S8。
S3的模拟器文件包括以下3份:
"/system/lib/libc_malloc_debug_qemu.so";
"/sys/qemu_trace";
"/system/bin/qemu-props";
S3的具体流程为:
通过fopen函数分别打开上述3份模拟器文件:
fopen("/system/lib/libc_malloc_debug_qemu.so",r);
fopen("/sys/qemu_trace",r);
fopen("/system/bin/qemu-props",r);
打开任意一份模拟器文件时,若返回值FILE不为空,则确认有模拟器文件存在且被打开,即Android应用程序在电脑上的安卓模拟器中运行。
打开所有模拟器文件时,若返回值FILE均为空,则确认所有模拟器文件均未打开且不存在。
S4:判断移动终端中是否存在安卓模拟器的特有的电话号码,若不是,转到S5,否则转到S8;具体实现方式为:
TelephonyManager tm=(TelephonyManager)
context.getSystemService(Context.TELEPHONY_SERVICE);
String phonenumber=telephonyManager.getLine1Number();
特有电话号码包括:
"15555215554","15555215556","15555215558","15555215560",
"15555215562","15555215564","15555215566","15555215568",
"15555215570",、"15555215572","15555215574","15555215576",
"15555215578","15555215580","15555215582","15555215584"。
S5:在JNI层上获取移动终端的Android Id,判断Android Id是否等于000000000000000,若是,转到S8,否则转到S6。
S5中获取移动终端的Android ID的具体流程为:
S501:通过Android系统提供的JNI层的API函数,获取getSystemService接口,转到S502。
S501的具体实现方式为:
jclass cls_context=
(*env)->FindClass(env,"android/content/Context");
cls_context为环境的上下文,env为JNI层提供的环境变量的接口指针,是JNI层调用其他API的接口。
jmethodID getSystemService=
(*env)->GetMethodID(env,cls_context,"getSystemService","(Ljava/lang/String;)Ljava/lang/Object;")。
S502:通过getSystemService接口,获取TELEPHONY_SERVICE属性,转到S503。
S502的具体实现方式为:
jfieldID TELEPHONY_SERVICE=(*env)->GetStaticFieldID(env,cls_context,"TELEPHONY_SERVICE","Ljava/lang/String;")。
S503:通过TELEPHONY_SERVICE属性,调用JNI层的接口获取TelephonyManager接口,转到S504。
S503的具体实现方式为:
jclass cls_tm=
(*env)->FindClass(env,"android/telephony/TelephonyManager")。
S504:通过TelephonyManager接口,获取getDeviceId接口(即提供获取AndroidID的接口),转到S505。
S504的具体实现方式为:
jmethodID getDeviceId=(*env)->GetMethodID(env,cls_tm,"getDeviceId","()Ljava/lang/String;")。
S505:通过getDeviceId接口获取Android ID,具体实现方式为:
jstring deviceid=(*env)->CallObjectMethod(env,telephonymanager,getDeviceId);
其中deviceid即为Android ID。
S6:在JNI层上获取移动终端的IMEI信息,判断IMEI信息是否等于310260000000000,若是,转到S8,否则转到S7。
S6的具体流程为:
调用函数dlsym来获取system_property_get函数(即S1中libc.so的接口函数),dlsym函数原型为:
int_system_property_get(const char*name,char*value);
在参数name中传入system_property_get函数的名称,value代表获取的IMEI信息。若IMEI信息等于310260000000000,则确认Android应用程序在电脑上的安卓模拟器中运行(安卓模拟器中的IEMI信息为固定值)。
S7:确认Android应用程序未在安卓模拟器中运行,结束。
S8:确认Android应用程序在电脑上的安卓模拟器中运行,结束。
本发明实施例中的检测Android应用程序在安卓模拟器中运行的系统,包括设置于需要检测的Android应用程序的移动终端上的进程通信通道判断模块、IMEI信息判断模块、驱动文件判断模块、模拟器文件判断模块、电话号码判断模块、Android Id判断模块和检测结果模块。
进程通信通道判断模块用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的进程通信通道(/dev/socket/qemud和/dev/qemu_pipe),若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送进程通信通道排除信号。
进程通信通道判断模块的具体工作流程为:在JNI层上读取打开文件函数,判断是否能够通过打开文件函数打开所述进程通信通道,若是,则判定移动终端中存在该进程通信通道,否则判定移动终端中不存在该进程通信通道。
IMEI信息判断模块用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的IMEI信息(310260000000000),若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送IMEI信息排除信号。
驱动文件判断模块用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的驱动文件(/proc/tty/drivers),若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送驱动文件排除信号。
驱动文件判断模块的具体工作流程为:判断是否能够通过所述打开文件函数打开所述驱动文件,若是,则判定移动终端中存在该驱动文件,否则判定移动终端中不存在该驱动文件。
模拟器文件判断模块用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的模拟器文件,若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送模拟器文件排除信号。
所述模拟器文件包括/system/lib/libc_malloc_debug_qemu.so、/sys/qemu_trace以及/system/bin/qemu-props;模拟器文件判断模块的具体工作流程为:判断是否能够通过所述打开文件函数打开所述模拟器文件,若是,则判定移动终端中存在该模拟器文件,否则判定移动终端中不存在该模拟器文件。
电话号码判断模块用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的电话号码,若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送模拟器文件排除信号。
Android Id判断模块用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的Android Id(000000000000000),若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送模拟器文件排除信号。
检测结果模块用于:收到任意模块发的模拟器运行信号时,确定需要检测的Android应用程序在安卓模拟器上运行,收到所述系统中所有模块发送的排除信号时,确定需要检测的Android应用程序未在安卓模拟器中运行。
进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (6)

1.一种检测Android应用程序在安卓模拟器中运行的方法,其特征在于,该方法包括以下步骤:
步骤A:移动终端运行需要检测的Android应用程序:
当通过JNI层判定移动终端中存在安卓模拟器特有的进程通信通道时,转到步骤B;
当通过JNI层判定移动终端中存在安卓模拟器特有的IMEI信息时,转到步骤B;
当通过JNI层判定移动终端中存在安卓模拟器特有的驱动文件时,转到步骤B;
当通过JNI层判定移动终端中存在安卓模拟器特有的模拟器文件时,转到步骤B;
当移动终端中不存在特有信息时,确定需要检测的Android应用程序未在安卓模拟器中运行;特有信息包括所述进程通信通道、IMEI信息、驱动文件和模拟器文件;
步骤B:确定需要检测的Android应用程序在安卓模拟器上运行;
步骤A中所述移动终端运行需要检测的Android应用程序之后,还包括以下步骤:当通过JNI层判定移动终端中存在安卓模拟器特有的电话号码时,转到步骤B;步骤A中所述特有信息还包括电话号码;
步骤A中所述移动终端运行需要检测的Android应用程序之后,还包括以下步骤:当通过JNI层判定移动终端中存在安卓模拟器特有的Android Id时,转到步骤B;步骤A中所述特有信息还包括Android Id。
2.如权利要求1所述的检测Android应用程序在安卓模拟器中运行的方法,其特征在于:
步骤A中所述判定移动终端中存在安卓模拟器特有的进程通信通道的具体流程为:在JNI层上读取打开文件函数,判断是否能够通过打开文件函数打开所述进程通信通道,若是,则判定移动终端中存在该进程通信通道,否则判定移动终端中不存在该进程通信通道;
步骤A中所述判定移动终端中存在安卓模拟器特有的驱动文件的具体流程为:判断是否能够通过所述打开文件函数打开所述驱动文件,若是,则判定移动终端中存在该驱动文件,否则判定移动终端中不存在该驱动文件;
步骤A中所述判定移动终端中存在安卓模拟器特有的模拟器文件的具体流程为:判断是否能够通过所述打开文件函数打开所述模拟器文件,若是,则判定移动终端中存在该模拟器文件,否则判定移动终端中不存在该模拟器文件。
3.如权利要求1至2任一项所述的检测Android应用程序在安卓模拟器中运行的方法,其特征在于:步骤A中所述进程通信通道包括/dev/socket/qemud和/dev/qemu_pipe,所述IMEI信息为310260000000000,所述驱动文件包括/proc/tty/drivers;所述模拟器文件包括/system/lib/libc_malloc_debug_qemu.so、/sys/qemu_trace以及/system/bin/qemu-props。
4.一种检测Android应用程序在安卓模拟器中运行的系统,其特征在于:该系统包括设置于需要检测的Android应用程序的移动终端上的进程通信通道判断模块、IMEI信息判断模块、驱动文件判断模块、模拟器文件判断模块和检测结果模块;
进程通信通道判断模块用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的进程通信通道,若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送进程通信通道排除信号;
IMEI信息判断模块用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的IMEI信息,若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送IMEI信息排除信号;
驱动文件判断模块用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的驱动文件,若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送驱动文件排除信号;
模拟器文件判断模块用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的模拟器文件,若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送模拟器文件排除信号;
检测结果模块用于:收到任意模块发的模拟器运行信号时,确定需要检测的Android应用程序在安卓模拟器上运行,收到所述系统中所有模块发送的排除信号时,确定需要检测的Android应用程序未在安卓模拟器中运行;
该系统还包括电话号码判断模块,其用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的电话号码,若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送模拟器文件排除信号;
该系统还包括AndroidId判断模块,其用于:通过JNI层判断移动终端中是否存在安卓模拟器特有的Android Id,若是,向检测结果模块发送模拟器运行信号,否则向检测结果模块发送模拟器文件排除信号。
5.如权利要求4所述的检测Android应用程序在安卓模拟器中运行的系统,其特征在于:所述进程通信通道判断模块的具体工作流程为:在JNI层上读取打开文件函数,判断是否能够通过打开文件函数打开所述进程通信通道,若是,则判定移动终端中存在该进程通信通道,否则判定移动终端中不存在该进程通信通道;
所述驱动文件判断模块的具体工作流程为:判断是否能够通过所述打开文件函数打开所述驱动文件,若是,则判定移动终端中存在该驱动文件,否则判定移动终端中不存在该驱动文件;
所述模拟器文件判断模块的具体工作流程为:判断是否能够通过所述打开文件函数打开所述模拟器文件,若是,则判定移动终端中存在该模拟器文件,否则判定移动终端中不存在该模拟器文件。
6.如权利要求4至5任一项所述的检测Android应用程序在安卓模拟器中运行的系统,其特征在于:所述进程通信通道包括/dev/socket/qemud和/dev/qemu_pipe,所述IMEI信息为310260000000000,所述驱动文件包括/proc/tty/drivers,所述模拟器文件包括/system/lib/libc_malloc_debug_qemu.so、/sys/qemu_trace以及/system/bin/qemu-props。
CN201611218711.1A 2016-12-26 2016-12-26 检测Android应用程序在安卓模拟器中运行的方法及系统 Active CN106648835B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611218711.1A CN106648835B (zh) 2016-12-26 2016-12-26 检测Android应用程序在安卓模拟器中运行的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611218711.1A CN106648835B (zh) 2016-12-26 2016-12-26 检测Android应用程序在安卓模拟器中运行的方法及系统

Publications (2)

Publication Number Publication Date
CN106648835A CN106648835A (zh) 2017-05-10
CN106648835B true CN106648835B (zh) 2020-04-10

Family

ID=58828302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611218711.1A Active CN106648835B (zh) 2016-12-26 2016-12-26 检测Android应用程序在安卓模拟器中运行的方法及系统

Country Status (1)

Country Link
CN (1) CN106648835B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107741907A (zh) * 2017-09-30 2018-02-27 北京梆梆安全科技有限公司 结合底层指令和系统信息的模拟器检测方法及装置
CN107633170A (zh) * 2017-09-30 2018-01-26 北京梆梆安全科技有限公司 一种结合硬件特性与传感器的安卓模拟器检测方法及装置
CN107678834A (zh) * 2017-09-30 2018-02-09 北京梆梆安全科技有限公司 一种基于硬件配置的安卓模拟器检测方法及装置
CN107729750A (zh) * 2017-09-30 2018-02-23 北京梆梆安全科技有限公司 结合配置信息和硬件特性的安卓模拟器检测方法及装置
CN107678833A (zh) * 2017-09-30 2018-02-09 北京梆梆安全科技有限公司 基于操作系统信息的模拟器检测方法及装置
CN107526628A (zh) * 2017-09-30 2017-12-29 北京梆梆安全科技有限公司 结合底层指令和配置信息的模拟器检测方法及装置
CN107704760A (zh) * 2017-09-30 2018-02-16 北京梆梆安全科技有限公司 一种基于底层指令的模拟器检测方法、装置及设备
CN107729121A (zh) * 2017-09-30 2018-02-23 北京梆梆安全科技有限公司 模拟器检测方法及装置
CN107729749A (zh) * 2017-09-30 2018-02-23 北京梆梆安全科技有限公司 结合系统信息和硬件特性的安卓模拟器检测方法及装置
CN109865293A (zh) * 2017-12-05 2019-06-11 上海花事电子商务有限公司 一种智能移动游戏社交平台防作弊系统及方法
CN108052447A (zh) * 2017-12-11 2018-05-18 四川新网银行股份有限公司 一种基于协议栈指纹的手机模拟器识别方法
CN108021805A (zh) * 2017-12-18 2018-05-11 上海众人网络安全技术有限公司 检测Android应用程序运行环境的方法、装置、设备及存储介质
CN108920952A (zh) * 2018-06-20 2018-11-30 融慧金科金融服务外包(北京)有限公司 一种基于设备传感器类别精度识别安卓虚拟机的方法
CN110196795B (zh) * 2018-06-21 2022-03-04 腾讯科技(深圳)有限公司 检测移动终端应用运行状态的方法及相关装置
CN109117250B (zh) * 2018-07-27 2022-03-08 平安科技(深圳)有限公司 一种模拟器识别方法、识别设备及计算机可读介质
CN109144665B (zh) * 2018-07-27 2023-04-18 平安科技(深圳)有限公司 一种模拟器识别方法、识别设备及计算机可读介质
CN111382416B (zh) * 2018-12-27 2022-09-30 北京右划网络科技有限公司 应用程序的运行识别方法、装置,终端设备及存储介质
CN109857641B (zh) * 2018-12-29 2022-09-13 奇安信科技集团股份有限公司 对程序源文件进行缺陷检测的方法及装置
CN110147329B (zh) * 2019-05-24 2022-06-14 武汉瓯越网视有限公司 一种动态检测模拟器的方法、装置及终端
CN111957050A (zh) * 2020-08-19 2020-11-20 福建天晴在线互动科技有限公司 一种基于输入设备的游戏客户端运行环境的检测方法及其系统
CN112733141B (zh) * 2020-12-30 2023-03-24 五八有限公司 一种信息处理方法及装置
CN113282304B (zh) * 2021-05-14 2022-04-29 杭州云深科技有限公司 基于app安装列表识别虚拟机的系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2255284B1 (en) * 2008-03-20 2017-01-11 International Business Machines Corporation Method and system for detecting the installation and usage of software in an application virtualization environment
US9276953B2 (en) * 2011-05-13 2016-03-01 International Business Machines Corporation Method and apparatus to detect and block unauthorized MAC address by virtual machine aware network switches
CN103186740B (zh) * 2011-12-27 2015-09-23 北京大学 一种Android恶意软件的自动化检测方法
CN104134041A (zh) * 2014-07-31 2014-11-05 北京奇虎科技有限公司 终端模拟器系统的反检测方法和反检测装置
CN105468970B (zh) * 2015-11-27 2018-01-19 西北大学 一种基于防御网的Android应用程序防篡方法及系统
CN105912417B (zh) * 2016-04-11 2019-03-15 珠海豹趣科技有限公司 虚拟系统的检测方法和相关软件运行方法以及相关装置
CN106201872A (zh) * 2016-07-05 2016-12-07 北京鼎源科技有限公司 一种Android系统的运行环境检测方法

Also Published As

Publication number Publication date
CN106648835A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN106648835B (zh) 检测Android应用程序在安卓模拟器中运行的方法及系统
US20130117855A1 (en) Apparatus for automatically inspecting security of applications and method thereof
CN104834859A (zh) 一种Android应用中恶意行为的动态检测方法
CN106203007B (zh) 一种代码处理方法、装置及计算设备
CN107103240B (zh) 一种基于上下文信息的Android组件间隐私泄露行为识别方法及系统
CN108491327B (zh) 一种安卓应用动态Receiver组件本地拒绝服务漏洞检测方法
CN107102885A (zh) 利用adb方式检测安卓模拟器的方法及装置
CN103778373A (zh) 病毒检测方法及装置
CN103885814A (zh) 在x86架构上运行ARM APK的模拟器装置和方法
CN108021791B (zh) 数据保护方法及装置
WO2016044109A1 (en) Code development tool with multi-context intelligent assistance
CN104462943A (zh) 业务系统中非侵入式性能监控装置和方法
CN114021142A (zh) 一种安卓应用程序漏洞检测方法
CN110837466A (zh) 一种基于源代码打桩的嵌入式软件动态测试方法
US20180218154A1 (en) Analysis device, analysis method, and analysis program
CN109543409B (zh) 用于检测恶意应用及训练检测模型的方法、装置及设备
CN110414218B (zh) 内核检测方法、装置、电子设备及存储介质
Yang et al. A tool for volatile memory acquisition from Android devices
CN113360379A (zh) 程序测试方法和程序测试装置
CN110502423A (zh) 固件的漏洞识别方法、装置、设备和存储介质
CN112632547A (zh) 一种数据处理方法和相关装置
Radu et al. Grey-box analysis and fuzzing of automotive electronic components via control-flow graph extraction
CN110889116A (zh) 一种广告拦截方法、装置及电子设备
CN116126690A (zh) 一种用于轻量级嵌入式系统的调试方法及系统
CN115456623A (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