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:
2025-12-04 13:59:54 +01:00
parent f2fd1c3bf5
commit e0133d2ca2
10432 changed files with 1019085 additions and 1 deletions

View File

@@ -0,0 +1,241 @@
package com.google.firebase.components;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
/* loaded from: classes3.dex */
public final class Component<T> {
private final Set<Dependency> dependencies;
private final ComponentFactory<T> factory;
private final int instantiation;
private final String name;
private final Set<Qualified<? super T>> providedInterfaces;
private final Set<Class<?>> publishedEvents;
private final int type;
public static <T> Builder<T> builder(Class<T> cls) {
return new Builder<>(cls, new Class[0]);
}
public static <T> Component<T> intoSet(T t2, Class<T> cls) {
return intoSetBuilder(cls).factory(new a(t2, 2)).build();
}
public static <T> Builder<T> intoSetBuilder(Class<T> cls) {
return builder(cls).intoSet();
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ Object lambda$intoSet$3(Object obj, ComponentContainer componentContainer) {
return obj;
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ Object lambda$intoSet$4(Object obj, ComponentContainer componentContainer) {
return obj;
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ Object lambda$of$0(Object obj, ComponentContainer componentContainer) {
return obj;
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ Object lambda$of$1(Object obj, ComponentContainer componentContainer) {
return obj;
}
/* JADX INFO: Access modifiers changed from: private */
public static /* synthetic */ Object lambda$of$2(Object obj, ComponentContainer componentContainer) {
return obj;
}
@Deprecated
public static <T> Component<T> of(Class<T> cls, T t2) {
return builder(cls).factory(new a(t2, 3)).build();
}
public Set<Dependency> getDependencies() {
return this.dependencies;
}
public ComponentFactory<T> getFactory() {
return this.factory;
}
public String getName() {
return this.name;
}
public Set<Qualified<? super T>> getProvidedInterfaces() {
return this.providedInterfaces;
}
public Set<Class<?>> getPublishedEvents() {
return this.publishedEvents;
}
public boolean isAlwaysEager() {
return this.instantiation == 1;
}
public boolean isEagerInDefaultApp() {
return this.instantiation == 2;
}
public boolean isLazy() {
return this.instantiation == 0;
}
public boolean isValue() {
return this.type == 0;
}
public String toString() {
return "Component<" + Arrays.toString(this.providedInterfaces.toArray()) + ">{" + this.instantiation + ", type=" + this.type + ", deps=" + Arrays.toString(this.dependencies.toArray()) + "}";
}
public Component<T> withFactory(ComponentFactory<T> componentFactory) {
return new Component<>(this.name, this.providedInterfaces, this.dependencies, this.instantiation, this.type, componentFactory, this.publishedEvents);
}
/* loaded from: classes3.dex */
public static class Builder<T> {
private final Set<Dependency> dependencies;
private ComponentFactory<T> factory;
private int instantiation;
private String name;
private final Set<Qualified<? super T>> providedInterfaces;
private final Set<Class<?>> publishedEvents;
private int type;
/* JADX INFO: Access modifiers changed from: private */
public Builder<T> intoSet() {
this.type = 1;
return this;
}
private Builder<T> setInstantiation(int i) {
Preconditions.checkState(this.instantiation == 0, "Instantiation type has already been set.");
this.instantiation = i;
return this;
}
private void validateInterface(Qualified<?> qualified) {
Preconditions.checkArgument(!this.providedInterfaces.contains(qualified), "Components are not allowed to depend on interfaces they themselves provide.");
}
public Builder<T> add(Dependency dependency) {
Preconditions.checkNotNull(dependency, "Null dependency");
validateInterface(dependency.getInterface());
this.dependencies.add(dependency);
return this;
}
public Builder<T> alwaysEager() {
return setInstantiation(1);
}
public Component<T> build() {
Preconditions.checkState(this.factory != null, "Missing required property: factory.");
return new Component<>(this.name, new HashSet(this.providedInterfaces), new HashSet(this.dependencies), this.instantiation, this.type, this.factory, this.publishedEvents);
}
public Builder<T> eagerInDefaultApp() {
return setInstantiation(2);
}
public Builder<T> factory(ComponentFactory<T> componentFactory) {
this.factory = (ComponentFactory) Preconditions.checkNotNull(componentFactory, "Null factory");
return this;
}
public Builder<T> name(String str) {
this.name = str;
return this;
}
public Builder<T> publishes(Class<?> cls) {
this.publishedEvents.add(cls);
return this;
}
@SafeVarargs
private Builder(Class<T> cls, Class<? super T>... clsArr) {
this.name = null;
HashSet hashSet = new HashSet();
this.providedInterfaces = hashSet;
this.dependencies = new HashSet();
this.instantiation = 0;
this.type = 0;
this.publishedEvents = new HashSet();
Preconditions.checkNotNull(cls, "Null interface");
hashSet.add(Qualified.unqualified(cls));
for (Class<? super T> cls2 : clsArr) {
Preconditions.checkNotNull(cls2, "Null interface");
this.providedInterfaces.add(Qualified.unqualified(cls2));
}
}
@SafeVarargs
private Builder(Qualified<T> qualified, Qualified<? super T>... qualifiedArr) {
this.name = null;
HashSet hashSet = new HashSet();
this.providedInterfaces = hashSet;
this.dependencies = new HashSet();
this.instantiation = 0;
this.type = 0;
this.publishedEvents = new HashSet();
Preconditions.checkNotNull(qualified, "Null interface");
hashSet.add(qualified);
for (Qualified<? super T> qualified2 : qualifiedArr) {
Preconditions.checkNotNull(qualified2, "Null interface");
}
Collections.addAll(this.providedInterfaces, qualifiedArr);
}
}
private Component(String str, Set<Qualified<? super T>> set, Set<Dependency> set2, int i, int i4, ComponentFactory<T> componentFactory, Set<Class<?>> set3) {
this.name = str;
this.providedInterfaces = Collections.unmodifiableSet(set);
this.dependencies = Collections.unmodifiableSet(set2);
this.instantiation = i;
this.type = i4;
this.factory = componentFactory;
this.publishedEvents = Collections.unmodifiableSet(set3);
}
@SafeVarargs
public static <T> Builder<T> builder(Class<T> cls, Class<? super T>... clsArr) {
return new Builder<>(cls, clsArr);
}
public static <T> Component<T> intoSet(T t2, Qualified<T> qualified) {
return intoSetBuilder(qualified).factory(new a(t2, 1)).build();
}
public static <T> Builder<T> intoSetBuilder(Qualified<T> qualified) {
return builder(qualified).intoSet();
}
@SafeVarargs
public static <T> Component<T> of(T t2, Class<T> cls, Class<? super T>... clsArr) {
return builder(cls, clsArr).factory(new a(t2, 4)).build();
}
public static <T> Builder<T> builder(Qualified<T> qualified) {
return new Builder<>(qualified, new Qualified[0]);
}
@SafeVarargs
public static <T> Component<T> of(T t2, Qualified<T> qualified, Qualified<? super T>... qualifiedArr) {
return builder(qualified, qualifiedArr).factory(new a(t2, 0)).build();
}
@SafeVarargs
public static <T> Builder<T> builder(Qualified<T> qualified, Qualified<? super T>... qualifiedArr) {
return new Builder<>(qualified, qualifiedArr);
}
}