Еще один способ удаления предустановленных приложений, android 12

У меня телефон Vivo Y31 и производитель решил добавить vivo.uninstall.compatibility.not_adbUninstall в некоторые свои приложения, из-за чего их стало нельзя удалять через adb командой

pm uninstall -k --user 0

Выдается ошибка

Failure [DELETE_FAILED_USER_RESTRICTED]

Покопавшись в службах нашел интересную команду(на других телефонах номер может быть другим)

TRANSACTION_setSystemAppInstallState = 134

setSystemAppInstallState(String var1, boolean var2, int var3)

По логике тут сначала название пакета, 0/1 - состояние, а потом номер пользователя.

И с её помощью получилось удалить неудаляемый и неотключаемый Jovi

adb shell service call package 134 s16 com.vivo.hiboard i32 0 i32 0

package - название службы, 134 - номер команды, s16 для строки, i32 для boolean и int

На выходе получил

Result: Parcel(00000000 00000001 '........')

Программа удалена!

Для получения номера команды для вашего телефона нужно декомпилировать JAR файл /system/framework/framework.jar и открыть файл IPackageManager.java

На телефоне я это смог сделать установив эмулятор консоли termux, в нем установил и обновил archlinux, далее там установил java (pacman -S jdk-openjdk). Скачал архив dex2jar, закинул его в папку termux вместе с framework.jar, а потом получил промежуточный файл fw

sh d2j-dex2jar.sh -f -o fw framework.jar

Его я закинул на сайт http://www.javadecompilers.com/ и там уже получил нужный код. (На телефоне не хватает памяти).

10
17 комментариев

Комментарий недоступен

Ответить

У меня на телефоне нет возможности получить рут или разблокировать загрузчик. Поэтому ради твиков пришлось декомпилировать файлы и смотреть, что там вообще можно изменять. Эти файлы легко достаются простым тоталкомандером или каким еще файловым менеджером.

Так я смог починить кривой сырой андроид 12, в котором забыли отключить фишки для старших телефонов с олед экраном. Также я научился повышать частоту процессора через службу Qualcomm. Вот так примерно
service call vendor.perfservice 3 i32 4233 s16 "" i32 11000 i32 -1

На планшете леново p11 я сделал тоже самое. Получил java файлы, далее слелал поиск по ним и вытащил все команды, которые можно выполнить через service call и там даже накопал возможность менять prop без рута, только правда persist.sys.* и sys.*

1
Ответить

Огромное тебе спасибо! У меня тоже Vivo и я никак не мог полностью удалить всё дерьмо, что с ним идет по умолчанию. Теперь телефон абсолютно чистый)

Ответить

Здравствуйте, не могли бы вы сделать мне одолжение, дав мне руководство, чтобы помочь в расследовании?Я хотел бы присоединиться к этим великим расследованиям.

Ответить

Boss
Can u explain little more about
How we can change persist.sys and sys and which command we need to inter to change this
I appreciate if u help me 🥺🙏

Ответить

D u find the way to uninstall on android 14 on vivo and iqoo phones?

Ответить

без рут не удаляет.

Ответить