Class: AiRootShield::Analyzers::RootDetector
- Inherits:
-
Object
- Object
- AiRootShield::Analyzers::RootDetector
- Defined in:
- lib/ai_root_shield/analyzers/root_detector.rb
Overview
Detects root/jailbreak indicators on Android and iOS devices
Constant Summary collapse
- ROOT_BINARIES =
Known root/jailbreak binaries and files
%w[ /system/bin/su /system/xbin/su /sbin/su /vendor/bin/su /system/app/Superuser.apk /system/app/SuperSU.apk /system/etc/init.d/99SuperSUDaemon /dev/com.koushikdutta.superuser.daemon/ /system/xbin/daemonsu /system/xbin/sugote /system/xbin/sugote-mksh /system/xbin/supolicy /system/bin/.ext/.su /cache/su /data/local/su /data/local/bin/su /data/local/xbin/su /system/sd/xbin/su /system/bin/failsafe/su /data/local/tmp/su ].freeze
- JAILBREAK_FILES =
%w[ /Applications/Cydia.app /Library/MobileSubstrate/MobileSubstrate.dylib /bin/bash /usr/sbin/sshd /etc/apt /private/var/lib/apt/ /private/var/lib/cydia /private/var/mobile/Library/SBSettings/Themes /Library/MobileSubstrate/DynamicLibraries/Veency.plist /Library/MobileSubstrate/DynamicLibraries/LiveClock.plist /System/Library/LaunchDaemons/com.ikey.bbot.plist /System/Library/LaunchDaemons/com.saurik.Cydia.Startup.plist /etc/ssh/sshd_config /var/tmp/cydia.log /Applications/Icy.app /Applications/MxTube.app /Applications/RockApp.app /Applications/blackra1n.app /Applications/SBSettings.app /Applications/FakeCarrier.app /Applications/WinterBoard.app /Applications/IntelliScreen.app ].freeze
- ROOT_PACKAGES =
%w[ com.noshufou.android.su com.noshufou.android.su.elite eu.chainfire.supersu com.koushikdutta.superuser com.thirdparty.superuser com.yellowes.su com.koushikdutta.rommanager com.koushikdutta.rommanager.license com.dimonvideo.luckypatcher com.chelpus.lackypatch com.ramdroid.appquarantine com.ramdroid.appquarantinepro com.topjohnwu.magisk de.robv.android.xposed.installer com.saurik.substrate ].freeze
- JAILBREAK_PACKAGES =
%w[ cydia apt7 com.saurik.substrate.safemode com.bigboss.categories.sbsettings com.exile90.icleanerpro winterboard com.saurik.cydia.startup com.saurik.mobilesubstrate com.rpetrich.rocketbootstrap preferenceloader applist com.saurik.substrate ].freeze
Instance Method Summary collapse
Instance Method Details
#analyze(device_data) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/ai_root_shield/analyzers/root_detector.rb', line 89 def analyze(device_data) factors = [] risk_score = 0 # Check for root/jailbreak based on platform case device_data[:platform] when "android" android_result = check_android_root(device_data) factors.concat(android_result[:factors]) risk_score += android_result[:risk_score] when "ios" ios_result = check_ios_jailbreak(device_data) factors.concat(ios_result[:factors]) risk_score += ios_result[:risk_score] end { factors: factors, risk_score: [risk_score, 100].min } end |