Class: AiRootShield::Analyzers::EmulatorDetector
- Inherits:
-
Object
- Object
- AiRootShield::Analyzers::EmulatorDetector
- Defined in:
- lib/ai_root_shield/analyzers/emulator_detector.rb
Overview
Detects emulator and simulator environments
Constant Summary collapse
- EMULATOR_FILES =
Known emulator indicators
%w[ /dev/socket/qemud /dev/qemu_pipe /system/lib/libc_malloc_debug_qemu.so /sys/qemu_trace /system/bin/qemu-props /dev/socket/baseband_genyd /dev/socket/genyd /proc/tty/drivers /proc/cpuinfo /system/lib/libdvm.so /system/bin/androVM-prop /system/bin/microvirt-prop /system/lib/libhoudini.so /system/lib/arm/libhoudini.so ].freeze
- EMULATOR_PROPERTIES =
%w[ ro.kernel.qemu ro.bootmode ro.hardware ro.product.device ro.product.model ro.product.name ro.product.brand ro.build.product ro.build.fingerprint init.svc.qemud qemu.hw.mainkeys qemu.sf.fake_camera qemu.sf.lcd_density ro.kernel.android.qemud ].freeze
- EMULATOR_PACKAGES =
%w[ com.google.android.launcher.layouts.genymotion com.bluestacks com.bignox.app com.vphone.launcher com.microvirt.guide com.microvirt.market com.microvirt.memuplay com.android.development_settings com.android.development com.android.emulator.smoketests ].freeze
- IOS_SIMULATOR_INDICATORS =
iOS Simulator indicators
%w[ i386 x86_64 Simulator iPhone Simulator iPad Simulator AppleTV Simulator ].freeze
Instance Method Summary collapse
Instance Method Details
#analyze(device_data) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/ai_root_shield/analyzers/emulator_detector.rb', line 65 def analyze(device_data) factors = [] risk_score = 0 case device_data[:platform] when "android" android_result = check_android_emulator(device_data) factors.concat(android_result[:factors]) risk_score += android_result[:risk_score] when "ios" ios_result = check_ios_simulator(device_data) factors.concat(ios_result[:factors]) risk_score += ios_result[:risk_score] end # Cross-platform checks cross_platform_result = check_cross_platform_indicators(device_data) factors.concat(cross_platform_result[:factors]) risk_score += cross_platform_result[:risk_score] { factors: factors, risk_score: [risk_score, 100].min } end |