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,54 @@
|
||||
package com.google.firebase.platforminfo;
|
||||
|
||||
import C.w;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_LibraryVersion extends LibraryVersion {
|
||||
private final String libraryName;
|
||||
private final String version;
|
||||
|
||||
public AutoValue_LibraryVersion(String str, String str2) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null libraryName");
|
||||
}
|
||||
this.libraryName = str;
|
||||
if (str2 == null) {
|
||||
throw new NullPointerException("Null version");
|
||||
}
|
||||
this.version = str2;
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof LibraryVersion) {
|
||||
LibraryVersion libraryVersion = (LibraryVersion) obj;
|
||||
if (this.libraryName.equals(libraryVersion.getLibraryName()) && this.version.equals(libraryVersion.getVersion())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.platforminfo.LibraryVersion
|
||||
public String getLibraryName() {
|
||||
return this.libraryName;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.platforminfo.LibraryVersion
|
||||
public String getVersion() {
|
||||
return this.version;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.version.hashCode() ^ ((this.libraryName.hashCode() ^ 1000003) * 1000003);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("LibraryVersion{libraryName=");
|
||||
sb.append(this.libraryName);
|
||||
sb.append(", version=");
|
||||
return w.r(sb, this.version, "}");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.google.firebase.platforminfo;
|
||||
|
||||
import M2.a;
|
||||
import com.google.firebase.components.Component;
|
||||
import com.google.firebase.components.ComponentContainer;
|
||||
import com.google.firebase.components.Dependency;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class DefaultUserAgentPublisher implements UserAgentPublisher {
|
||||
private final GlobalLibraryVersionRegistrar gamesSDKRegistrar;
|
||||
private final String javaSDKVersionUserAgent;
|
||||
|
||||
public DefaultUserAgentPublisher(Set<LibraryVersion> set, GlobalLibraryVersionRegistrar globalLibraryVersionRegistrar) {
|
||||
this.javaSDKVersionUserAgent = toUserAgent(set);
|
||||
this.gamesSDKRegistrar = globalLibraryVersionRegistrar;
|
||||
}
|
||||
|
||||
public static Component<UserAgentPublisher> component() {
|
||||
return Component.builder(UserAgentPublisher.class).add(Dependency.setOf((Class<?>) LibraryVersion.class)).factory(new a(9)).build();
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public static /* synthetic */ UserAgentPublisher lambda$component$0(ComponentContainer componentContainer) {
|
||||
return new DefaultUserAgentPublisher(componentContainer.setOf(LibraryVersion.class), GlobalLibraryVersionRegistrar.getInstance());
|
||||
}
|
||||
|
||||
private static String toUserAgent(Set<LibraryVersion> set) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
Iterator<LibraryVersion> it = set.iterator();
|
||||
while (it.hasNext()) {
|
||||
LibraryVersion next = it.next();
|
||||
sb.append(next.getLibraryName());
|
||||
sb.append('/');
|
||||
sb.append(next.getVersion());
|
||||
if (it.hasNext()) {
|
||||
sb.append(' ');
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.platforminfo.UserAgentPublisher
|
||||
public String getUserAgent() {
|
||||
if (this.gamesSDKRegistrar.getRegisteredVersions().isEmpty()) {
|
||||
return this.javaSDKVersionUserAgent;
|
||||
}
|
||||
return this.javaSDKVersionUserAgent + ' ' + toUserAgent(this.gamesSDKRegistrar.getRegisteredVersions());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.google.firebase.platforminfo;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class GlobalLibraryVersionRegistrar {
|
||||
private static volatile GlobalLibraryVersionRegistrar INSTANCE;
|
||||
private final Set<LibraryVersion> infos = new HashSet();
|
||||
|
||||
public static GlobalLibraryVersionRegistrar getInstance() {
|
||||
GlobalLibraryVersionRegistrar globalLibraryVersionRegistrar;
|
||||
GlobalLibraryVersionRegistrar globalLibraryVersionRegistrar2 = INSTANCE;
|
||||
if (globalLibraryVersionRegistrar2 != null) {
|
||||
return globalLibraryVersionRegistrar2;
|
||||
}
|
||||
synchronized (GlobalLibraryVersionRegistrar.class) {
|
||||
try {
|
||||
globalLibraryVersionRegistrar = INSTANCE;
|
||||
if (globalLibraryVersionRegistrar == null) {
|
||||
globalLibraryVersionRegistrar = new GlobalLibraryVersionRegistrar();
|
||||
INSTANCE = globalLibraryVersionRegistrar;
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
return globalLibraryVersionRegistrar;
|
||||
}
|
||||
|
||||
public Set<LibraryVersion> getRegisteredVersions() {
|
||||
Set<LibraryVersion> unmodifiableSet;
|
||||
synchronized (this.infos) {
|
||||
unmodifiableSet = Collections.unmodifiableSet(this.infos);
|
||||
}
|
||||
return unmodifiableSet;
|
||||
}
|
||||
|
||||
public void registerVersion(String str, String str2) {
|
||||
synchronized (this.infos) {
|
||||
this.infos.add(LibraryVersion.create(str, str2));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.google.firebase.platforminfo;
|
||||
|
||||
import kotlin.KotlinVersion;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class KotlinDetector {
|
||||
private KotlinDetector() {
|
||||
}
|
||||
|
||||
public static String detectVersion() {
|
||||
try {
|
||||
return KotlinVersion.CURRENT.toString();
|
||||
} catch (NoClassDefFoundError unused) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.google.firebase.platforminfo;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@AutoValue
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class LibraryVersion {
|
||||
public static LibraryVersion create(String str, String str2) {
|
||||
return new AutoValue_LibraryVersion(str, str2);
|
||||
}
|
||||
|
||||
public abstract String getLibraryName();
|
||||
|
||||
public abstract String getVersion();
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.google.firebase.platforminfo;
|
||||
|
||||
import P2.a;
|
||||
import android.content.Context;
|
||||
import com.google.firebase.components.Component;
|
||||
import com.google.firebase.components.ComponentContainer;
|
||||
import com.google.firebase.components.Dependency;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class LibraryVersionComponent {
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface VersionExtractor<T> {
|
||||
String extract(T t2);
|
||||
}
|
||||
|
||||
private LibraryVersionComponent() {
|
||||
}
|
||||
|
||||
public static Component<?> create(String str, String str2) {
|
||||
return Component.intoSet(LibraryVersion.create(str, str2), (Class<LibraryVersion>) LibraryVersion.class);
|
||||
}
|
||||
|
||||
public static Component<?> fromContext(String str, VersionExtractor<Context> versionExtractor) {
|
||||
return Component.intoSetBuilder(LibraryVersion.class).add(Dependency.required((Class<?>) Context.class)).factory(new a(versionExtractor, 1, str)).build();
|
||||
}
|
||||
|
||||
public static /* synthetic */ LibraryVersion lambda$fromContext$0(String str, VersionExtractor versionExtractor, ComponentContainer componentContainer) {
|
||||
return LibraryVersion.create(str, versionExtractor.extract((Context) componentContainer.get(Context.class)));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.google.firebase.platforminfo;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface UserAgentPublisher {
|
||||
String getUserAgent();
|
||||
}
|
||||
Reference in New Issue
Block a user