Principiante Android de craqueo inverso pensamiento convencional

1. Primero aplique ingeniería inversa al software de una aplicación, primero verifique si está endurecido (MT Manager o ApkScan y otras herramientas para verificar el shell)
2. Si está endurecido (endurecimiento 360, etc.), puede descomprimir el apk maestro de reflexión . (No entraré en detalles aquí por el momento)
3. Para analizar el código, puede usar la herramienta jadx para ver el código fuente de la aplicación.
4. Modifique el código, el código aquí es un código pequeño, que se puede modificar con la herramienta AndroidKiller.

Aquí se explica cómo modificar la membresía de la aplicación [Nota: no se verificará con el servidor]
Uso la aplicación que escribí como ejemplo, asumiendo que este es el tiempo de membresía actual

 

Luego abra monitor.bat en la carpeta de herramientas debajo de la carpeta SDK, como se muestra en la figura,
puede ver la identificación de la pantalla de tiempo, luego use jadx para ver el análisis del código fuente, arrastre el APK a jadx, como se muestra en la figura,

 

 

 

 

 En este punto, buscamos el nombre de identificación que acabamos de verificar, y podemos ver el código compilado, y seleccionamos uno para el análisis paso a paso.

 

 

Se puede ver que hay un código de tiempo aquí, porque esto es una suposición, la bandera aquí se usa para simular si hay miembros en el servidor, porque si la bandera está escrita aquí como falsa, se mostrará el tiempo actual del miembro. .
En este momento, use la herramienta AndroidKiller para descompilar el apk y analizar el código smali

 

 

iget-boolean v1, p0, Lcom/hba/Testapplication/MainActivity;->flag:Z Esto significa que el valor de flag se le da a p0, y luego p0 se le da a v1 if-eqz v1, :cond_0 juzga v1, if v1 es verdadero,


continúe Ejecute el siguiente código; de lo contrario, salte a cond_0
porque el indicador aquí es falso, luego salte a aquí
: cond_0
invoque-virtual {v0, v2}, Landroid/widget/TextView;->setVisibility(I)VModify


member
ideas Un paso, deje que la bandera sea verdadera, solo necesita modificar v1 y escribir const/4 v1,0x1 en la línea de arriba if-eqz.


El segundo paso es modificar la hora. Debido a que no hay verificación con el servidor back-end, solo necesita modificar la hora cuando se genera el código. Escribí


una clase de herramienta de fecha, como se muestra en la figura.

 

Luego, convierta el código java en código smali, la herramienta utilizada aquí es la herramienta java2smali

 

Luego pegue este código en la clase.

 

El código modificado se cambia a lo siguiente,

 

Luego guarde, compile y empaquete en apk e instálelo.

¡éxito!

 

Supongo que te gusta

Origin blog.csdn.net/2302_76405773/article/details/132067924
Recomendado
Clasificación