rockernaxo
04/10/13, 11:03:11
¿Qué vamos a necesitar?
APKTool/Smali yBaksmali
Notepad++
Dispositivo rooteado
ADB
Sentido común
Archivos a modificar:
Android.policy.jar
Pasos a seguir
1. Extraemos el archivo android.policy.jar de la carpeta system/framework en nuestro dispositivo. Podemos hacerlo mediante Root Explorer (o cualquier explorador de archivos root) o con ADB.
2. Vamos a decompilar el archivo. Para ello ejecutamos uno de estos dos comandos, según usemos apktool ó baksmali.
apktool d android.policy.jar nombrecarpetadestino
java -jar baksmali.jar android.policy.jar nombrecarpetadestino
3. Entramos en la carpeta decompilada, buscamos y abrimos con Notepad++ KeyguardViewMediator.smali. Lo encontraremos en nombrecarpetadestino\smali\com\android\internal\po licy\impl\
4. Pulsamos Ctrl+F para buscar "0x18" (sin las comillas). Deberíamos ver el siguiente código (puede variar según el dispositivo):
.sparse-switch
0x18 -> :sswitch_0
0x19 -> :sswitch_0
0x1b -> :sswitch_1
0x4f -> :sswitch_1
0x55 -> :sswitch_1
0x56 -> :sswitch_1
0x57 -> :sswitch_1
0x58 -> :sswitch_1
0x59 -> :sswitch_1
0x5a -> :sswitch_1
0x5b -> :sswitch_1
0x7e -> :sswitch_1
0x7f -> :sswitch_1
0x82 -> :sswitch_1
0xa4 -> :sswitch_0
.end sparse-switch
5. Solamente tenemos que borrar las entradas que corresponden al 0x18 y 0x19, con lo que nos quedará:
.sparse-switch
0x1b -> :sswitch_1
0x4f -> :sswitch_1
0x55 -> :sswitch_1
0x56 -> :sswitch_1
0x57 -> :sswitch_1
0x58 -> :sswitch_1
0x59 -> :sswitch_1
0x5a -> :sswitch_1
0x5b -> :sswitch_1
0x7e -> :sswitch_1
0x7f -> :sswitch_1
0x82 -> :sswitch_1
0xa4 -> :sswitch_0
.end sparse-switch
6. Recompilamos android.policy.jar
apktool b nombrecarpetadestino
java -jar smali.jar nombrecarpetadestino
Como resultado tendremos un archivo out.dex que tenemos que renombrar a classes.dex.
Abrimos el archivo android.policy.jar original con 7zip/Winrar/WinZip y arrastramos el nuevo classes.dex dentro para sustituir al existente.
Volvemos a meter el archivo en el dispositivo /system/framework con permisos 644. Mirad los permisos que tienen el resto de archivos y le dais los mismos.
Si hay alguna parte que no se entiende comentadlo. Espero haberme explicado bienhttp://proyectoandroidlibre.com/images/smilies/peaceful.png
APKTool/Smali yBaksmali
Notepad++
Dispositivo rooteado
ADB
Sentido común
Archivos a modificar:
Android.policy.jar
Pasos a seguir
1. Extraemos el archivo android.policy.jar de la carpeta system/framework en nuestro dispositivo. Podemos hacerlo mediante Root Explorer (o cualquier explorador de archivos root) o con ADB.
2. Vamos a decompilar el archivo. Para ello ejecutamos uno de estos dos comandos, según usemos apktool ó baksmali.
apktool d android.policy.jar nombrecarpetadestino
java -jar baksmali.jar android.policy.jar nombrecarpetadestino
3. Entramos en la carpeta decompilada, buscamos y abrimos con Notepad++ KeyguardViewMediator.smali. Lo encontraremos en nombrecarpetadestino\smali\com\android\internal\po licy\impl\
4. Pulsamos Ctrl+F para buscar "0x18" (sin las comillas). Deberíamos ver el siguiente código (puede variar según el dispositivo):
.sparse-switch
0x18 -> :sswitch_0
0x19 -> :sswitch_0
0x1b -> :sswitch_1
0x4f -> :sswitch_1
0x55 -> :sswitch_1
0x56 -> :sswitch_1
0x57 -> :sswitch_1
0x58 -> :sswitch_1
0x59 -> :sswitch_1
0x5a -> :sswitch_1
0x5b -> :sswitch_1
0x7e -> :sswitch_1
0x7f -> :sswitch_1
0x82 -> :sswitch_1
0xa4 -> :sswitch_0
.end sparse-switch
5. Solamente tenemos que borrar las entradas que corresponden al 0x18 y 0x19, con lo que nos quedará:
.sparse-switch
0x1b -> :sswitch_1
0x4f -> :sswitch_1
0x55 -> :sswitch_1
0x56 -> :sswitch_1
0x57 -> :sswitch_1
0x58 -> :sswitch_1
0x59 -> :sswitch_1
0x5a -> :sswitch_1
0x5b -> :sswitch_1
0x7e -> :sswitch_1
0x7f -> :sswitch_1
0x82 -> :sswitch_1
0xa4 -> :sswitch_0
.end sparse-switch
6. Recompilamos android.policy.jar
apktool b nombrecarpetadestino
java -jar smali.jar nombrecarpetadestino
Como resultado tendremos un archivo out.dex que tenemos que renombrar a classes.dex.
Abrimos el archivo android.policy.jar original con 7zip/Winrar/WinZip y arrastramos el nuevo classes.dex dentro para sustituir al existente.
Volvemos a meter el archivo en el dispositivo /system/framework con permisos 644. Mirad los permisos que tienen el resto de archivos y le dais los mismos.
Si hay alguna parte que no se entiende comentadlo. Espero haberme explicado bienhttp://proyectoandroidlibre.com/images/smilies/peaceful.png