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,165 @@
|
||||
package com.google.android.gms.dynamic;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Fragment;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import com.google.android.gms.common.annotation.KeepForSdk;
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
import com.google.android.gms.dynamic.IFragmentWrapper;
|
||||
|
||||
@KeepForSdk
|
||||
@SuppressLint({"NewApi"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class FragmentWrapper extends IFragmentWrapper.Stub {
|
||||
private Fragment zza;
|
||||
|
||||
private FragmentWrapper(Fragment fragment) {
|
||||
this.zza = fragment;
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public static FragmentWrapper wrap(Fragment fragment) {
|
||||
if (fragment != null) {
|
||||
return new FragmentWrapper(fragment);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final boolean zzA() {
|
||||
return this.zza.isVisible();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final int zzb() {
|
||||
return this.zza.getId();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final int zzc() {
|
||||
return this.zza.getTargetRequestCode();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final Bundle zzd() {
|
||||
return this.zza.getArguments();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final IFragmentWrapper zze() {
|
||||
return wrap(this.zza.getParentFragment());
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final IFragmentWrapper zzf() {
|
||||
return wrap(this.zza.getTargetFragment());
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final IObjectWrapper zzg() {
|
||||
return ObjectWrapper.wrap(this.zza.getActivity());
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final IObjectWrapper zzh() {
|
||||
return ObjectWrapper.wrap(this.zza.getResources());
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final IObjectWrapper zzi() {
|
||||
return ObjectWrapper.wrap(this.zza.getView());
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final String zzj() {
|
||||
return this.zza.getTag();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final void zzk(IObjectWrapper iObjectWrapper) {
|
||||
View view = (View) ObjectWrapper.unwrap(iObjectWrapper);
|
||||
Fragment fragment = this.zza;
|
||||
Preconditions.checkNotNull(view);
|
||||
fragment.registerForContextMenu(view);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final void zzl(boolean z3) {
|
||||
this.zza.setHasOptionsMenu(z3);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final void zzm(boolean z3) {
|
||||
this.zza.setMenuVisibility(z3);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final void zzn(boolean z3) {
|
||||
this.zza.setRetainInstance(z3);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final void zzo(boolean z3) {
|
||||
this.zza.setUserVisibleHint(z3);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final void zzp(Intent intent) {
|
||||
this.zza.startActivity(intent);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final void zzq(Intent intent, int i) {
|
||||
this.zza.startActivityForResult(intent, i);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final void zzr(IObjectWrapper iObjectWrapper) {
|
||||
View view = (View) ObjectWrapper.unwrap(iObjectWrapper);
|
||||
Fragment fragment = this.zza;
|
||||
Preconditions.checkNotNull(view);
|
||||
fragment.unregisterForContextMenu(view);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final boolean zzs() {
|
||||
return this.zza.getRetainInstance();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final boolean zzt() {
|
||||
return this.zza.getUserVisibleHint();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final boolean zzu() {
|
||||
return this.zza.isAdded();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final boolean zzv() {
|
||||
return this.zza.isDetached();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final boolean zzw() {
|
||||
return this.zza.isHidden();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final boolean zzx() {
|
||||
return this.zza.isInLayout();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final boolean zzy() {
|
||||
return this.zza.isRemoving();
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamic.IFragmentWrapper
|
||||
public final boolean zzz() {
|
||||
return this.zza.isResumed();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user