service 2-5-26-2

This commit is contained in:
Hamza-Ayed
2026-05-02 18:36:59 +03:00
parent 255724418c
commit 98846b8158
14 changed files with 912 additions and 534 deletions

View File

@@ -23,15 +23,17 @@ class MainActivity : FlutterFragmentActivity() {
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
// Channel for security checks (isRooted)
// Channel for security checks (isRooted, getAppSignature)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, SECURITY_CHANNEL)
.setMethodCallHandler { call, result ->
when (call.method) {
"isNativeRooted" -> result.success(isDeviceCompromised())
"getAppSignature" -> result.success(getAppSignature())
else -> result.notImplemented()
}
}
// Channel for app control (bringing to foreground)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, APP_CONTROL_CHANNEL)
.setMethodCallHandler { call, result ->
@@ -171,4 +173,35 @@ class MainActivity : FlutterFragmentActivity() {
Log.d("MainActivity", "Deleted directory ${dir?.path}: $deleted")
return deleted
}
private fun getAppSignature(): String? {
return try {
val packageInfo = if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
packageManager.getPackageInfo(packageName, android.content.pm.PackageManager.GET_SIGNING_CERTIFICATES)
} else {
@Suppress("DEPRECATION")
packageManager.getPackageInfo(packageName, android.content.pm.PackageManager.GET_SIGNATURES)
}
val signatures = if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
packageInfo.signingInfo?.signingCertificateHistory
} else {
@Suppress("DEPRECATION")
packageInfo.signatures
}
if (signatures != null && signatures.isNotEmpty()) {
val signature = signatures[0]
val md = java.security.MessageDigest.getInstance("SHA-256")
val digest = md.digest(signature.toByteArray())
digest.joinToString("") { "%02x".format(it) }
} else {
null
}
} catch (e: Exception) {
Log.e("MainActivity", "Error getting app signature: ${e.message}", e)
null
}
}
}