Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@bryanjhv
Last active February 28, 2024 02:32
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • 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)

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