Loading app/libs/gplayapi-3.0.1.jar +2.28 KiB (3.95 MiB) File changed.Preview suppressed by a .gitattributes entry or the file's encoding is unsupported. View original file View changed file app/src/main/java/foundation/e/apps/api/gplay/GPlayAPIImpl.kt +0 −3 Original line number Diff line number Diff line Loading @@ -201,11 +201,8 @@ class GPlayAPIImpl @Inject constructor(private val gPlayHttpClient: GPlayHttpCli return withContext(Dispatchers.IO) { Log.i("jklee", "checking integrity with token $droidGuardToken") val integrityHelper = IntegrityHelper(authData, integrityApiKey).using(gPlayHttpClient) var response = integrityHelper.checkIntegrity(packageName, nonce, Base64.decode(droidGuardToken, 11)) Log.i("jklee", "checkIntegrity reponse ${response.code}") Log.i("jklee", "checkIntegrity successful ${response.isSuccessful}") if (!response.isSuccessful) { null Loading app/src/main/java/foundation/e/apps/integrity/IntegrityBinder.kt +3 −18 Original line number Diff line number Diff line package foundation.e.apps.integrity import android.content.Context import android.os.Bundle import android.os.Handler import android.util.Base64 import android.util.Log import androidx.lifecycle.LifecycleCoroutineScope import androidx.preference.PreferenceManager import com.aurora.gplayapi.* import com.aurora.gplayapi.DroidGuardIntegrityRequest import com.aurora.gplayapi.IntegrityPackage import com.aurora.gplayapi.PackageVersionCode import com.aurora.gplayapi.data.models.AuthData import com.aurora.gplayapi.utils.asProtoTimestamp import com.google.android.gms.common.api.GoogleApi import com.google.android.gms.droidguard.DroidGuard import com.google.android.gms.droidguard.DroidGuardClient import com.google.android.gms.droidguard.internal.DroidGuardResultsRequest import foundation.e.apps.IAppLoungeIntegrityService import foundation.e.apps.IAppLoungeIntegrityServiceCallback import foundation.e.apps.api.gplay.GPlayAPIRepository import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import org.microg.gms.common.api.ConnectionCallbacks import org.microg.gms.common.api.GoogleApiManager import org.microg.gms.common.api.OnConnectionFailedListener import org.microg.gms.common.api.ReturningGoogleApiCall import org.microg.gms.droidguard.DroidGuardApiClient import java.security.MessageDigest const val BASE64_ENCODING_FLAGS = Base64.URL_SAFE or Base64.NO_WRAP // = 10 Loading @@ -33,7 +23,6 @@ class IntegrityBinder( private val lifecycleCoroutineScope: LifecycleCoroutineScope, private val authData: AuthData, private val gPlayAPIRepository: GPlayAPIRepository, private val handler: Handler ) : IAppLoungeIntegrityService.Stub() { companion object { Loading Loading @@ -62,10 +51,6 @@ class IntegrityBinder( val request = DroidGuardResultsRequest() val map = buildDroidGuardData(data) for (entry in map.entries) { Log.i("jklee", "${entry.key}:${entry.value}") } request.bundle.putString("thirdPartyCallerAppPackageName", packageName) client.getResults("pia_attest", map, request).addOnSuccessListener { lifecycleCoroutineScope.launch { Loading app/src/main/java/foundation/e/apps/integrity/IntegrityService.kt +2 −16 Original line number Diff line number Diff line package foundation.e.apps.integrity import android.content.ComponentName import android.content.Context import android.content.Intent import android.content.ServiceConnection import android.os.* import android.util.Log import android.os.IBinder import androidx.lifecycle.LifecycleService import androidx.lifecycle.lifecycleScope import com.aurora.gplayapi.data.models.AuthData import com.google.android.gms.droidguard.internal.DroidGuardResultsRequest import com.google.gson.Gson import dagger.hilt.android.AndroidEntryPoint import foundation.e.apps.api.gplay.GPlayAPIRepository import foundation.e.apps.login.LoginDataStore import kotlinx.coroutines.launch import org.microg.gms.common.api.ConnectionCallbacks import org.microg.gms.common.api.OnConnectionFailedListener import org.microg.gms.droidguard.DroidGuardApiClient import javax.inject.Inject @AndroidEntryPoint Loading @@ -31,8 +23,6 @@ class IntegrityService: LifecycleService() { @Inject lateinit var gson: Gson @Inject lateinit var gPlayAPIRepository: GPlayAPIRepository private var authData: AuthData? = null private lateinit var handler: Handler private lateinit var thread: HandlerThread override fun onCreate() { super.onCreate() Loading @@ -40,17 +30,13 @@ class IntegrityService: LifecycleService() { lifecycleScope.launch { fetchAuthData() } thread = HandlerThread("tokenThread") thread.start() handler = Handler(Looper.getMainLooper()) } override fun onBind(intent: Intent): IBinder? { super.onBind(intent) authData?.let { return IntegrityBinder(applicationContext, lifecycleScope, it, gPlayAPIRepository, handler) return IntegrityBinder(applicationContext, lifecycleScope, it, gPlayAPIRepository) } ?: return null } Loading app/src/main/java/foundation/e/apps/login/LoginDataStore.kt +0 −1 Original line number Diff line number Diff line Loading @@ -77,7 +77,6 @@ class LoginDataStore @Inject constructor( // Setters suspend fun saveAuthData(authData: AuthData) { Log.i("jklee", "save Auth data !!!") context.dataStore.edit { it[AUTHDATA] = gson.toJson(authData) } Loading Loading
app/libs/gplayapi-3.0.1.jar +2.28 KiB (3.95 MiB) File changed.Preview suppressed by a .gitattributes entry or the file's encoding is unsupported. View original file View changed file
app/src/main/java/foundation/e/apps/api/gplay/GPlayAPIImpl.kt +0 −3 Original line number Diff line number Diff line Loading @@ -201,11 +201,8 @@ class GPlayAPIImpl @Inject constructor(private val gPlayHttpClient: GPlayHttpCli return withContext(Dispatchers.IO) { Log.i("jklee", "checking integrity with token $droidGuardToken") val integrityHelper = IntegrityHelper(authData, integrityApiKey).using(gPlayHttpClient) var response = integrityHelper.checkIntegrity(packageName, nonce, Base64.decode(droidGuardToken, 11)) Log.i("jklee", "checkIntegrity reponse ${response.code}") Log.i("jklee", "checkIntegrity successful ${response.isSuccessful}") if (!response.isSuccessful) { null Loading
app/src/main/java/foundation/e/apps/integrity/IntegrityBinder.kt +3 −18 Original line number Diff line number Diff line package foundation.e.apps.integrity import android.content.Context import android.os.Bundle import android.os.Handler import android.util.Base64 import android.util.Log import androidx.lifecycle.LifecycleCoroutineScope import androidx.preference.PreferenceManager import com.aurora.gplayapi.* import com.aurora.gplayapi.DroidGuardIntegrityRequest import com.aurora.gplayapi.IntegrityPackage import com.aurora.gplayapi.PackageVersionCode import com.aurora.gplayapi.data.models.AuthData import com.aurora.gplayapi.utils.asProtoTimestamp import com.google.android.gms.common.api.GoogleApi import com.google.android.gms.droidguard.DroidGuard import com.google.android.gms.droidguard.DroidGuardClient import com.google.android.gms.droidguard.internal.DroidGuardResultsRequest import foundation.e.apps.IAppLoungeIntegrityService import foundation.e.apps.IAppLoungeIntegrityServiceCallback import foundation.e.apps.api.gplay.GPlayAPIRepository import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import org.microg.gms.common.api.ConnectionCallbacks import org.microg.gms.common.api.GoogleApiManager import org.microg.gms.common.api.OnConnectionFailedListener import org.microg.gms.common.api.ReturningGoogleApiCall import org.microg.gms.droidguard.DroidGuardApiClient import java.security.MessageDigest const val BASE64_ENCODING_FLAGS = Base64.URL_SAFE or Base64.NO_WRAP // = 10 Loading @@ -33,7 +23,6 @@ class IntegrityBinder( private val lifecycleCoroutineScope: LifecycleCoroutineScope, private val authData: AuthData, private val gPlayAPIRepository: GPlayAPIRepository, private val handler: Handler ) : IAppLoungeIntegrityService.Stub() { companion object { Loading Loading @@ -62,10 +51,6 @@ class IntegrityBinder( val request = DroidGuardResultsRequest() val map = buildDroidGuardData(data) for (entry in map.entries) { Log.i("jklee", "${entry.key}:${entry.value}") } request.bundle.putString("thirdPartyCallerAppPackageName", packageName) client.getResults("pia_attest", map, request).addOnSuccessListener { lifecycleCoroutineScope.launch { Loading
app/src/main/java/foundation/e/apps/integrity/IntegrityService.kt +2 −16 Original line number Diff line number Diff line package foundation.e.apps.integrity import android.content.ComponentName import android.content.Context import android.content.Intent import android.content.ServiceConnection import android.os.* import android.util.Log import android.os.IBinder import androidx.lifecycle.LifecycleService import androidx.lifecycle.lifecycleScope import com.aurora.gplayapi.data.models.AuthData import com.google.android.gms.droidguard.internal.DroidGuardResultsRequest import com.google.gson.Gson import dagger.hilt.android.AndroidEntryPoint import foundation.e.apps.api.gplay.GPlayAPIRepository import foundation.e.apps.login.LoginDataStore import kotlinx.coroutines.launch import org.microg.gms.common.api.ConnectionCallbacks import org.microg.gms.common.api.OnConnectionFailedListener import org.microg.gms.droidguard.DroidGuardApiClient import javax.inject.Inject @AndroidEntryPoint Loading @@ -31,8 +23,6 @@ class IntegrityService: LifecycleService() { @Inject lateinit var gson: Gson @Inject lateinit var gPlayAPIRepository: GPlayAPIRepository private var authData: AuthData? = null private lateinit var handler: Handler private lateinit var thread: HandlerThread override fun onCreate() { super.onCreate() Loading @@ -40,17 +30,13 @@ class IntegrityService: LifecycleService() { lifecycleScope.launch { fetchAuthData() } thread = HandlerThread("tokenThread") thread.start() handler = Handler(Looper.getMainLooper()) } override fun onBind(intent: Intent): IBinder? { super.onBind(intent) authData?.let { return IntegrityBinder(applicationContext, lifecycleScope, it, gPlayAPIRepository, handler) return IntegrityBinder(applicationContext, lifecycleScope, it, gPlayAPIRepository) } ?: return null } Loading
app/src/main/java/foundation/e/apps/login/LoginDataStore.kt +0 −1 Original line number Diff line number Diff line Loading @@ -77,7 +77,6 @@ class LoginDataStore @Inject constructor( // Setters suspend fun saveAuthData(authData: AuthData) { Log.i("jklee", "save Auth data !!!") context.dataStore.edit { it[AUTHDATA] = gson.toJson(authData) } Loading