Skip to content

Instantly share code, notes, and snippets.

@bryanjhv
Last active November 11, 2024 15:09
Show Gist options
  • Save bryanjhv/774bdf2795883f8e66b07a1a2dbf4cc4 to your computer and use it in GitHub Desktop.
Save bryanjhv/774bdf2795883f8e66b07a1a2dbf4cc4 to your computer and use it in GitHub Desktop.
Eliminar chequeo de ROOT de Yape BCP (Android)

Eliminar chequeo de ROOT de Yape BCP (Android)

Algunos puntos / aclaraciones

  • NO trabajo para BCP en este momento ni previo a esta fecha.
  • NO me hago responsable por lo que otros hagan con este script.
  • NO brindo ningún tipo de soporte, si quieres usarlo lee tutoriales.
  • SOLO para uso personal, NO hacerlo comercial. EVITAR piratear.
  • SI lo RE-POSTEAS, hazlo agregando un enlace a este ORIGINAL.
  • ESPERO que BCP mejore su APP en vez de chequeos TONTOS.
  • Magisk Hide NO sirvió para mí, usan DEXGUARD por debajo.
  • Primero PRUEBA otras formas, o usa BIM/Plin/Lukita/etc. si posible.
  • ApkTool NO me sirvió, no parece servir con apps hechas en NativeScript.
  • ESPERO NUEVAMENTE que BCP mejore su APP y DEJE de ALEJAR usuarios.
  • Esto ha sido hecho más para USO MÍO, teniendo todo apuntado aquí en este script.

Herramientas necesarias

  • java (requerido)
  • smali/baksmali (requerido)
  • entorno bash (coreutils, findutils, dos2unix, zip/unzip) (requerido)
  • herramientas android (build-tools 29.0.3, platform-tools) (requerido)

Script general (comentado un poco)

# obtener los apks (dependiente del dispositivo)
adb shell pm path com.bcp.innovacxion.yapeapp | dos2unix | cut -d: -f2 | xargs -L1 adb pull

# desempaquetar los apks (en carpetas, son ZIP)
for i in *; do b=$(basename $i .apk); mkdir $b; unzip $i -d $b; rm $i; done

# eliminar manifests que haran conflicto
rm */{META-INF/{BNDLTOOL.*,MANIFEST.MF},stamp-cert-sha256}

# decompilar de formato dex a smali para modificar
java -jar baksmali.jar d -a 21 -o base/smali base/classes.dex

# editar archivo y parchar booleano (linea 86, cambiar 0x1 por 0x0)
# para mas informacion, esto es en una condicion en el metodo run()
nano base/smali/com/bcp/walle/dexguardruntime/EmulatorDetectorDR\$2.smali

# en caso lo anterior ya no funcione, probar con lo siguiente que es
# muy similar al paso anterior pero con nuevas versiones al parecer
# de igual forma, cambiar 0x1 por 0x0 donde se encuentre (4 veces)
nano base/smali/com/bcp/dexguardruntime/Validator.smali

# recompilar dex desde archivos modificados
java -jar smali.jar a -a 21 -o base/classes.dex base/smali
rm -rf base/smali

# re-empaquetar los apks (comprimir, alinear, firmar)
for i in *; do cd $i; zip -r -9 ../$i.apk-unsigned *; cd ..; done
for i in *.apk-unsigned; do zipalign -v -p 4 $i $i-aligned; done
for i in *.apk-unsigned-aligned; do apksigner sign --ks release.jks --out ${i%%-*} $i; done
rm *.apk-*

# reinstalar loks apks (firma cambiada)
adb uninstall com.bcp.innovacxion.yapeapp
adb install-multiple -r *.apk

Créditos

Bryan Horna (@bryanjhv)

@TonyTrapper
Copy link

Mano, puedes hacer eso para la app de bcp en si?

@MDNSSKNGHT
Copy link

Ahora puedes crear un módulo Xposed para no tener que modificar el APK original

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment