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:
@@ -0,0 +1,8 @@
|
||||
package com.google.firebase.remoteconfig.interop;
|
||||
|
||||
import com.google.firebase.remoteconfig.interop.rollouts.RolloutsStateSubscriber;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface FirebaseRemoteConfigInterop {
|
||||
void registerRolloutsStateSubscriber(String str, RolloutsStateSubscriber rolloutsStateSubscriber);
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.google.firebase.remoteconfig.interop.rollouts;
|
||||
|
||||
import com.google.firebase.encoders.FieldDescriptor;
|
||||
import com.google.firebase.encoders.ObjectEncoder;
|
||||
import com.google.firebase.encoders.ObjectEncoderContext;
|
||||
import com.google.firebase.encoders.config.Configurator;
|
||||
import com.google.firebase.encoders.config.EncoderConfig;
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import com.google.firebase.remoteconfig.internal.ConfigContainer;
|
||||
import java.io.IOException;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AutoRolloutAssignmentEncoder implements Configurator {
|
||||
public static final int CODEGEN_VERSION = 2;
|
||||
public static final Configurator CONFIG = new AutoRolloutAssignmentEncoder();
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class RolloutAssignmentEncoder implements ObjectEncoder<RolloutAssignment> {
|
||||
static final RolloutAssignmentEncoder INSTANCE = new RolloutAssignmentEncoder();
|
||||
private static final FieldDescriptor ROLLOUTID_DESCRIPTOR = FieldDescriptor.of(ConfigContainer.ROLLOUT_METADATA_ID);
|
||||
private static final FieldDescriptor VARIANTID_DESCRIPTOR = FieldDescriptor.of("variantId");
|
||||
private static final FieldDescriptor PARAMETERKEY_DESCRIPTOR = FieldDescriptor.of("parameterKey");
|
||||
private static final FieldDescriptor PARAMETERVALUE_DESCRIPTOR = FieldDescriptor.of("parameterValue");
|
||||
private static final FieldDescriptor TEMPLATEVERSION_DESCRIPTOR = FieldDescriptor.of(RemoteConfigConstants.ResponseFieldKey.TEMPLATE_VERSION_NUMBER);
|
||||
|
||||
private RolloutAssignmentEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(RolloutAssignment rolloutAssignment, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(ROLLOUTID_DESCRIPTOR, rolloutAssignment.getRolloutId());
|
||||
objectEncoderContext.add(VARIANTID_DESCRIPTOR, rolloutAssignment.getVariantId());
|
||||
objectEncoderContext.add(PARAMETERKEY_DESCRIPTOR, rolloutAssignment.getParameterKey());
|
||||
objectEncoderContext.add(PARAMETERVALUE_DESCRIPTOR, rolloutAssignment.getParameterValue());
|
||||
objectEncoderContext.add(TEMPLATEVERSION_DESCRIPTOR, rolloutAssignment.getTemplateVersion());
|
||||
}
|
||||
}
|
||||
|
||||
private AutoRolloutAssignmentEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.config.Configurator
|
||||
public void configure(EncoderConfig<?> encoderConfig) {
|
||||
RolloutAssignmentEncoder rolloutAssignmentEncoder = RolloutAssignmentEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(RolloutAssignment.class, rolloutAssignmentEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_RolloutAssignment.class, rolloutAssignmentEncoder);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,155 @@
|
||||
package com.google.firebase.remoteconfig.interop.rollouts;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_RolloutAssignment extends RolloutAssignment {
|
||||
private final String parameterKey;
|
||||
private final String parameterValue;
|
||||
private final String rolloutId;
|
||||
private final long templateVersion;
|
||||
private final String variantId;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends RolloutAssignment.Builder {
|
||||
private String parameterKey;
|
||||
private String parameterValue;
|
||||
private String rolloutId;
|
||||
private byte set$0;
|
||||
private long templateVersion;
|
||||
private String variantId;
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment.Builder
|
||||
public RolloutAssignment build() {
|
||||
if (this.set$0 == 1 && this.rolloutId != null && this.variantId != null && this.parameterKey != null && this.parameterValue != null) {
|
||||
return new AutoValue_RolloutAssignment(this.rolloutId, this.variantId, this.parameterKey, this.parameterValue, this.templateVersion);
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (this.rolloutId == null) {
|
||||
sb.append(" rolloutId");
|
||||
}
|
||||
if (this.variantId == null) {
|
||||
sb.append(" variantId");
|
||||
}
|
||||
if (this.parameterKey == null) {
|
||||
sb.append(" parameterKey");
|
||||
}
|
||||
if (this.parameterValue == null) {
|
||||
sb.append(" parameterValue");
|
||||
}
|
||||
if ((this.set$0 & 1) == 0) {
|
||||
sb.append(" templateVersion");
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:" + ((Object) sb));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment.Builder
|
||||
public RolloutAssignment.Builder setParameterKey(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null parameterKey");
|
||||
}
|
||||
this.parameterKey = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment.Builder
|
||||
public RolloutAssignment.Builder setParameterValue(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null parameterValue");
|
||||
}
|
||||
this.parameterValue = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment.Builder
|
||||
public RolloutAssignment.Builder setRolloutId(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null rolloutId");
|
||||
}
|
||||
this.rolloutId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment.Builder
|
||||
public RolloutAssignment.Builder setTemplateVersion(long j4) {
|
||||
this.templateVersion = j4;
|
||||
this.set$0 = (byte) (this.set$0 | 1);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment.Builder
|
||||
public RolloutAssignment.Builder setVariantId(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null variantId");
|
||||
}
|
||||
this.variantId = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof RolloutAssignment) {
|
||||
RolloutAssignment rolloutAssignment = (RolloutAssignment) obj;
|
||||
if (this.rolloutId.equals(rolloutAssignment.getRolloutId()) && this.variantId.equals(rolloutAssignment.getVariantId()) && this.parameterKey.equals(rolloutAssignment.getParameterKey()) && this.parameterValue.equals(rolloutAssignment.getParameterValue()) && this.templateVersion == rolloutAssignment.getTemplateVersion()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment
|
||||
public String getParameterKey() {
|
||||
return this.parameterKey;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment
|
||||
public String getParameterValue() {
|
||||
return this.parameterValue;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment
|
||||
public String getRolloutId() {
|
||||
return this.rolloutId;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment
|
||||
public long getTemplateVersion() {
|
||||
return this.templateVersion;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment
|
||||
public String getVariantId() {
|
||||
return this.variantId;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (((((((this.rolloutId.hashCode() ^ 1000003) * 1000003) ^ this.variantId.hashCode()) * 1000003) ^ this.parameterKey.hashCode()) * 1000003) ^ this.parameterValue.hashCode()) * 1000003;
|
||||
long j4 = this.templateVersion;
|
||||
return ((int) (j4 ^ (j4 >>> 32))) ^ hashCode;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("RolloutAssignment{rolloutId=");
|
||||
sb.append(this.rolloutId);
|
||||
sb.append(", variantId=");
|
||||
sb.append(this.variantId);
|
||||
sb.append(", parameterKey=");
|
||||
sb.append(this.parameterKey);
|
||||
sb.append(", parameterValue=");
|
||||
sb.append(this.parameterValue);
|
||||
sb.append(", templateVersion=");
|
||||
return w.q(sb, this.templateVersion, "}");
|
||||
}
|
||||
|
||||
private AutoValue_RolloutAssignment(String str, String str2, String str3, String str4, long j4) {
|
||||
this.rolloutId = str;
|
||||
this.variantId = str2;
|
||||
this.parameterKey = str3;
|
||||
this.parameterValue = str4;
|
||||
this.templateVersion = j4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.google.firebase.remoteconfig.interop.rollouts;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AutoValue_RolloutsState extends RolloutsState {
|
||||
private final Set<RolloutAssignment> rolloutAssignments;
|
||||
|
||||
public AutoValue_RolloutsState(Set<RolloutAssignment> set) {
|
||||
if (set == null) {
|
||||
throw new NullPointerException("Null rolloutAssignments");
|
||||
}
|
||||
this.rolloutAssignments = set;
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof RolloutsState) {
|
||||
return this.rolloutAssignments.equals(((RolloutsState) obj).getRolloutAssignments());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutsState
|
||||
public Set<RolloutAssignment> getRolloutAssignments() {
|
||||
return this.rolloutAssignments;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.rolloutAssignments.hashCode() ^ 1000003;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "RolloutsState{rolloutAssignments=" + this.rolloutAssignments + "}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.google.firebase.remoteconfig.interop.rollouts;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.firebase.encoders.DataEncoder;
|
||||
import com.google.firebase.encoders.annotations.Encodable;
|
||||
import com.google.firebase.encoders.json.JsonDataEncoderBuilder;
|
||||
import com.google.firebase.remoteconfig.interop.rollouts.AutoValue_RolloutAssignment;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
@AutoValue
|
||||
@Encodable
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class RolloutAssignment {
|
||||
private static final String PARAMETER_KEY = "parameterKey";
|
||||
private static final String PARAMETER_VALUE = "parameterValue";
|
||||
public static final DataEncoder ROLLOUT_ASSIGNMENT_JSON_ENCODER = new JsonDataEncoderBuilder().configureWith(AutoRolloutAssignmentEncoder.CONFIG).build();
|
||||
private static final String ROLLOUT_ID = "rolloutId";
|
||||
private static final String TEMPLATE_VERSION = "templateVersion";
|
||||
private static final String VARIANT_ID = "variantId";
|
||||
|
||||
@AutoValue.Builder
|
||||
/* loaded from: classes3.dex */
|
||||
public static abstract class Builder {
|
||||
public abstract RolloutAssignment build();
|
||||
|
||||
public abstract Builder setParameterKey(String str);
|
||||
|
||||
public abstract Builder setParameterValue(String str);
|
||||
|
||||
public abstract Builder setRolloutId(String str);
|
||||
|
||||
public abstract Builder setTemplateVersion(long j4);
|
||||
|
||||
public abstract Builder setVariantId(String str);
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new AutoValue_RolloutAssignment.Builder();
|
||||
}
|
||||
|
||||
public static RolloutAssignment create(JSONObject jSONObject) throws JSONException {
|
||||
return builder().setRolloutId(jSONObject.getString("rolloutId")).setVariantId(jSONObject.getString("variantId")).setParameterKey(jSONObject.getString(PARAMETER_KEY)).setParameterValue(jSONObject.getString(PARAMETER_VALUE)).setTemplateVersion(jSONObject.getLong("templateVersion")).build();
|
||||
}
|
||||
|
||||
public abstract String getParameterKey();
|
||||
|
||||
public abstract String getParameterValue();
|
||||
|
||||
public abstract String getRolloutId();
|
||||
|
||||
public abstract long getTemplateVersion();
|
||||
|
||||
public abstract String getVariantId();
|
||||
|
||||
public static RolloutAssignment create(String str) throws JSONException {
|
||||
return create(new JSONObject(str));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.google.firebase.remoteconfig.interop.rollouts;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import java.util.Set;
|
||||
|
||||
@AutoValue
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class RolloutsState {
|
||||
public static RolloutsState create(Set<RolloutAssignment> set) {
|
||||
return new AutoValue_RolloutsState(set);
|
||||
}
|
||||
|
||||
public abstract Set<RolloutAssignment> getRolloutAssignments();
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.google.firebase.remoteconfig.interop.rollouts;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface RolloutsStateSubscriber {
|
||||
void onRolloutsStateChanged(RolloutsState rolloutsState);
|
||||
}
|
||||
Reference in New Issue
Block a user