Primer paso de la investigacion. Se aportan el .apk, las carpetas con el apk extraido y el apk descompilado. El archivo API_DOCUMENTATION.md es un archivo donde se anotaran los descubrimientos del funcionamiento de la API, y los .py son scripts para probar la funcionalidad de la API con los métodos que vayamos encontrando. Finalmente, los archivos .js son scripts de Frida para extraer informacion de la APP durante la ejecucion.
This commit is contained in:
157
apk_decompiled/sources/com/google/firebase/FirebaseOptions.java
Normal file
157
apk_decompiled/sources/com/google/firebase/FirebaseOptions.java
Normal file
@@ -0,0 +1,157 @@
|
||||
package com.google.firebase;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import com.google.android.gms.common.annotation.KeepForSdk;
|
||||
import com.google.android.gms.common.internal.Objects;
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
import com.google.android.gms.common.internal.StringResourceValueReader;
|
||||
import com.google.android.gms.common.util.Strings;
|
||||
import com.google.firebase.dynamiclinks.DynamicLink;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class FirebaseOptions {
|
||||
private static final String API_KEY_RESOURCE_NAME = "google_api_key";
|
||||
private static final String APP_ID_RESOURCE_NAME = "google_app_id";
|
||||
private static final String DATABASE_URL_RESOURCE_NAME = "firebase_database_url";
|
||||
private static final String GA_TRACKING_ID_RESOURCE_NAME = "ga_trackingId";
|
||||
private static final String GCM_SENDER_ID_RESOURCE_NAME = "gcm_defaultSenderId";
|
||||
private static final String PROJECT_ID_RESOURCE_NAME = "project_id";
|
||||
private static final String STORAGE_BUCKET_RESOURCE_NAME = "google_storage_bucket";
|
||||
private final String apiKey;
|
||||
private final String applicationId;
|
||||
private final String databaseUrl;
|
||||
private final String gaTrackingId;
|
||||
private final String gcmSenderId;
|
||||
private final String projectId;
|
||||
private final String storageBucket;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder {
|
||||
private String apiKey;
|
||||
private String applicationId;
|
||||
private String databaseUrl;
|
||||
private String gaTrackingId;
|
||||
private String gcmSenderId;
|
||||
private String projectId;
|
||||
private String storageBucket;
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
public FirebaseOptions build() {
|
||||
return new FirebaseOptions(this.applicationId, this.apiKey, this.databaseUrl, this.gaTrackingId, this.gcmSenderId, this.storageBucket, this.projectId);
|
||||
}
|
||||
|
||||
public Builder setApiKey(String str) {
|
||||
this.apiKey = Preconditions.checkNotEmpty(str, "ApiKey must be set.");
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setApplicationId(String str) {
|
||||
this.applicationId = Preconditions.checkNotEmpty(str, "ApplicationId must be set.");
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setDatabaseUrl(String str) {
|
||||
this.databaseUrl = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public Builder setGaTrackingId(String str) {
|
||||
this.gaTrackingId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setGcmSenderId(String str) {
|
||||
this.gcmSenderId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setProjectId(String str) {
|
||||
this.projectId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setStorageBucket(String str) {
|
||||
this.storageBucket = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder(FirebaseOptions firebaseOptions) {
|
||||
this.applicationId = firebaseOptions.applicationId;
|
||||
this.apiKey = firebaseOptions.apiKey;
|
||||
this.databaseUrl = firebaseOptions.databaseUrl;
|
||||
this.gaTrackingId = firebaseOptions.gaTrackingId;
|
||||
this.gcmSenderId = firebaseOptions.gcmSenderId;
|
||||
this.storageBucket = firebaseOptions.storageBucket;
|
||||
this.projectId = firebaseOptions.projectId;
|
||||
}
|
||||
}
|
||||
|
||||
public static FirebaseOptions fromResource(Context context) {
|
||||
StringResourceValueReader stringResourceValueReader = new StringResourceValueReader(context);
|
||||
String string = stringResourceValueReader.getString(APP_ID_RESOURCE_NAME);
|
||||
if (TextUtils.isEmpty(string)) {
|
||||
return null;
|
||||
}
|
||||
return new FirebaseOptions(string, stringResourceValueReader.getString(API_KEY_RESOURCE_NAME), stringResourceValueReader.getString(DATABASE_URL_RESOURCE_NAME), stringResourceValueReader.getString(GA_TRACKING_ID_RESOURCE_NAME), stringResourceValueReader.getString(GCM_SENDER_ID_RESOURCE_NAME), stringResourceValueReader.getString(STORAGE_BUCKET_RESOURCE_NAME), stringResourceValueReader.getString(PROJECT_ID_RESOURCE_NAME));
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (!(obj instanceof FirebaseOptions)) {
|
||||
return false;
|
||||
}
|
||||
FirebaseOptions firebaseOptions = (FirebaseOptions) obj;
|
||||
return Objects.equal(this.applicationId, firebaseOptions.applicationId) && Objects.equal(this.apiKey, firebaseOptions.apiKey) && Objects.equal(this.databaseUrl, firebaseOptions.databaseUrl) && Objects.equal(this.gaTrackingId, firebaseOptions.gaTrackingId) && Objects.equal(this.gcmSenderId, firebaseOptions.gcmSenderId) && Objects.equal(this.storageBucket, firebaseOptions.storageBucket) && Objects.equal(this.projectId, firebaseOptions.projectId);
|
||||
}
|
||||
|
||||
public String getApiKey() {
|
||||
return this.apiKey;
|
||||
}
|
||||
|
||||
public String getApplicationId() {
|
||||
return this.applicationId;
|
||||
}
|
||||
|
||||
public String getDatabaseUrl() {
|
||||
return this.databaseUrl;
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public String getGaTrackingId() {
|
||||
return this.gaTrackingId;
|
||||
}
|
||||
|
||||
public String getGcmSenderId() {
|
||||
return this.gcmSenderId;
|
||||
}
|
||||
|
||||
public String getProjectId() {
|
||||
return this.projectId;
|
||||
}
|
||||
|
||||
public String getStorageBucket() {
|
||||
return this.storageBucket;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(this.applicationId, this.apiKey, this.databaseUrl, this.gaTrackingId, this.gcmSenderId, this.storageBucket, this.projectId);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).add("applicationId", this.applicationId).add(DynamicLink.Builder.KEY_API_KEY, this.apiKey).add("databaseUrl", this.databaseUrl).add("gcmSenderId", this.gcmSenderId).add("storageBucket", this.storageBucket).add("projectId", this.projectId).toString();
|
||||
}
|
||||
|
||||
private FirebaseOptions(String str, String str2, String str3, String str4, String str5, String str6, String str7) {
|
||||
Preconditions.checkState(!Strings.isEmptyOrWhitespace(str), "ApplicationId must be set.");
|
||||
this.applicationId = str;
|
||||
this.apiKey = str2;
|
||||
this.databaseUrl = str3;
|
||||
this.gaTrackingId = str4;
|
||||
this.gcmSenderId = str5;
|
||||
this.storageBucket = str6;
|
||||
this.projectId = str7;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user