MPatcher | Запуск shell-скриптов на Android



Реп: (2786)
MPatcher
Версия: 5.1

Последнее обновление программы в шапке: 08.02.2024

Прикрепленное изображение

Скриншоты
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Краткое описание:
Запуск, создание, импорт, экспорт скриптов и патчей, написанных на shell

Описание:
Возможности:
-Выполнение shell-скриптов
-Выполнение shell-скриптов от root
-Выполнение скриптов с возможностью передать путь к файлу/директории как аргумент
-Создание скриптов/патчей прямо в программе
-Импорт/экспорт скриптов
-Вывод результатов работы скрипта в реальном времени

Внимание!
1. Приложение полностью бесплатное. Не содержит рекламы, трекеров, логеров и тому подобных вещей. Просьба с уважением относится к работе над проектом и помнить о "дареном коне"! :)
2. Разработчик, ресурс 4PDA и его администрация, какие-либо другие физические и/или юридические лица не несут ответственности за последствия (положительные или отрицательные) использования данного софта!
3. Решение использовать это приложение или нет принимаете именно Вы!
4. Использование некоторых скриптов/патчей может привести к потере данных и/или поломке устройства!
5. Патчи и скрипты под сабж не подлежат обсуждению в этой теме >>

Полезное


Требуется Android: 4.0 и выше
Русский интерфейс: Да

Разработчик: Maximoff 
Имя пакета: ru.maximoff.sheller
Домашняя страница: https://maximoff.su/mpatcher/


Скачать:
Версия: 5.1 MPatcher (Maximoff⁠)
Версия: 5.0 MPatcher (Maximoff⁠)
Версия: 4.9 MPatcher (Maximoff⁠)
Версия: 4.8 MPatcher (Maximoff⁠)
Версия: 4.7 MPatcher (Maximoff⁠)

Прошлые версии
Версия: 4.6 MPatcher (Maximoff⁠)
Версия: 4.5 MPatcher (Maximoff⁠)
Версия: 4.4 MPatcher (Maximoff⁠)
Версия: 4.3 MPatcher (Maximoff )
Версия: 4.2 MPatcher (Maximoff )
Версия: 4.1 MPatcher (Maximoff )
Версия: 4.0 MPatcher (Maximoff )
Версия: 3.9 MPatcher (Maximoff )
Версия: 3.8 MPatcher (Maximoff )
Версия: 3.7 MPatcher (Maximoff )
Версия: 3.6 MPatcher (Maximoff )
Версия: 3.5 MPatcher (Maximoff )
Версия: 3.4 MPatcher (Maximoff )
Версия: 3.3 MPatcher (Maximoff )
Версия: 3.2 MPatcher (Maximoff )
Версия: 3.1 MPatcher (Maximoff )
Версия: 3.0 MPatcher (Zilllot)
Версия: 2.9 MPatcher (Zilllot)
Версия: 2.8 MPatcher (Zilllot)
Версия: 1.9 MPatcher (Идите Лесом)
Версия: 1.8.1 MPatcher (Идите Лесом)
Версия: 1.8 MPatcher (Идите Лесом)
Версия: 1.6 Прикрепленный файлMPatcher v1.6(9).apk ( 1.63 МБ )
Полезные дополнения


Сообщение отредактировал iMiKED - 08.02.24, 21:10
Причина редактирования: Обновление: новая версия 5.1 MPatcher



Реп: (2786)
Описания к патчам пока нет. Думаем, как оформить удобнее для пишущих патч и для его пользователей.
Сделано √
Скрипты в основном (но не все) - мои. Вопросы о их работе можно задать мне в QMS.
Вопросы о работе приложения можно задать в этой теме.
Работы ещё хватает. По сему - предложения "ракеты на Марс запускать" пока рассматриваться не будут.
Набор утилит в составе пакета пока только для arm/arm64 устройств! Т.е. патчи "из комплекта" на x86/mips работать не будут!
Собственноручно написанные без привязки к вложенным утилитам конечно же отработают.

Сообщение отредактировал Идите Лесом - 19.02.21, 16:20



Реп: (4439)
Затестил и оценил разбитие по библиотекам, по аналогии с версией для ПК:
Скрин
Прикрепленное изображение



Реп: (2288)
Как говорится идея хорошая, но будут ли пользователи. :D Здесь по всей сути всё заточено и делается ради * Идите Лесом. Это как было с моими патчером:) Один -два пару человек лишь поняли всё, остальные дай готовое. Надеюсь здесь ситуация будет лучше. Время покажет. Удачи в разработке Maximoff  и главному вдохновителю Идите Лесом.



Реп: (2786)
* Mr Ikso,
Mr Ikso @ 17.02.21, 15:16 *
будут ли пользователи

Не важно :)
Паре-тройке человеков руки развяжет (как мне вот) - уже хорошо. Есть (и будут ещё) уникальные вещи.
Тут реально разработчику благодарен, что не послал меня, а выпилил такое чудо.
Буду стараться какие-никакие полезности под него писать :yes:



Реп: (1050)
* Идите Лесом, а вот я переделал немного no debug. взял регулярку из патча антианилитика от Vergil ...это хоть правильно сделано ? и как например должно быть чтобы одно заменяло на другое ...а вобще интересно придумано ,но скрипты замысловаты очень ,даже с теми же патчами апкэдитора
main_func() {
echo "
NoDebug works...";
local util_dir="${0%/*}/bin";
local un_bb="${util_dir}/busybox";
local F="$(pwd)";
local start_at="$("${un_bb}" date +%H:%M:%S)";
local f_name="${F##*/}";
echo " App: ${f_name%_src}

Patching smali...";
"${un_bb}" find ./smali*/ -type f -exec "${un_bb}" sed -i '/^\.source /d
/^ *\"(audience_network|com.google.analytics|com.google.android.gms.analytics|com.google.firebase.analytics|com.google.firebase.firebase_analytics|com.yandex.metrica.IMetricaService).*"/d
/^ *\"http.*://.*(61.145.124.238|ad.api.kaffnet|ad.mail.ru|adc3-launch|adbuddiz|adcolony|addapptr|adincube|adjust|adkmob|adknowledge|admarvel|admob|Admob|admost|adsafeprotected|adsdk|adsert|adserver|adservice|advertising|adview|adz.wattpad|aerserv|airpush|altamob|alta.eqmob|amazon-adsystem|amazonaws|analytics|appAdForce|appboy|appbrain|appenda|appia|applifier.com|applovin|applvn|appnext|appnexus|appodeal|apprupt|apsalar|appsdt|appsflyer|avocarrot|azure|boxdigital/sdk/ad|branch|ca-app-pub|certificate.mobile.yandex.net|chartboost|cloudfront|code.google.com/p/android/issues/detail|crashlytics|csi.gstatic.com|doubleclick.net|dsp.batmobil|duapps|firebaseapp|flurry|fyber|g.doubleclick|google/android/gms/internal|google.com/safebrowsing/clientreport|googleapis.com/auth/games|googleads|googlesyndication|graph.facebook|greystripe|heyzap|hockeyapp|hyprmx|InlineAd|inmobi|inneractive|instreamatic|integralads|ironsource|jirbo|jumptap|kochava|Leadbolt|localytics|loopme|madnet.ru|mdotm|measurement|mediabrix|metrica|millennialmedia|mngads|moat|mobclix|mobfox|mobvista|montexi|moolah|mopub|mp.mydas.mobi|my/target|NativeInterstitial|net.rayjump|nexage|onelouder/adlib|openx|pagead/ads|plus1.wapstart.ru|pubmatic|pubnative|r.my.com/mobile|revmob|sb.scorecardresearch|smaato/SOMA|startapp|startup.mobile.yandex.net|supersonicads|tagmanager|tapas|tapjoy|udm.scorecardresearch|unity3d/ads|unityads|vdopia|vungle|www.dummy|wzrkt|xtify|yandexadexchange|zestadz).*" /d
echo "
Done!

Results:
Start time: ${start_at}
End time: $("${un_bb}" date +%H:%M:%S)";
}
ab_ort() {
local tx_t="$@";
echo "
${tx_t}
";
exit
}
[ -z "$@" ] && ab_ort "No arguments passed!";
[ -e "$@" ] || ab_ort "Object
\"${@}\"
does not exist!";
[ -d "$@" ] || ab_ort "Object
\"${@}\"
is not a directory!";
[ -d "${@}/smali" ] || ab_ort "Directory
\"${@}\"
does not contain smali!";
cd "${@}" >/dev/null 2>&1 || ab_ort "Can not 'cd' to
\"${@}\"!";
main_func
cd - >/dev/null 2>&1;
exit


Сообщение отредактировал myname1981 - 17.02.21, 20:56



Реп: (1050)
* Идите Лесом, а как тут вообще регулярный поиск по названиям должен выглядеть ..пример небольшой хотя бы ?



Реп: (2786)
* myname1981
В корне неправильно воспринимаешь патчи под это приложение - они не имеют ничего общего с патчами Apk Editor.
Там очень узкий профиль,что позволяет клипать вполне работоспособные патчи под подобные запросы/хотения даже без вникания в происходящее.
Здесь же каждый патч - shell скрипт.
Пост * Mr Ikso не все поняли :)
Путь к файлу/директории - это всё, что даёт скрипту MPatcher. Дальше начинается обработка программы (не побоюсь так выразиться) в shell-оболочке ОС на основе полученных данных.
Да, этот патчер будет ну ооочень не для всех :)



Реп: (1050)
* Идите Лесом, ну тут же busybox задействован ,а тем есть grep или find ..их же можно задействовать для поиска текста в файлах и замене



Реп: (6320)
Идите Лесом @ 17.02.21, 21:36 *
Да, этот патчер будет ну ооочень не для всех

это точно :D



Реп: (2394)
Идите Лесом @ 18.02.21, 20:36 *
Apksigner из патчера как раз делает zipalign + подпись v1+v2. Т.е. он и есть "лекарство".
Можете подсказать какая подпись применяется у вас в скрипте? :thank_you:
Прикрепленное изображение



Реп: (95)
* Идите Лесом, Сценарий удаления разрешений, он будет напрямую применяться к apk manifest.xml B)



Реп: (6320)
* Идите Лесом,
наверно будет лучше все файлы и скрипты помещать в шапке темы, как например сделано в теме АЕ
и ещё вопрос - можно ли сделать так чтобы названия патчей
были на русском , чтобы понимать для чего они предназначены
вопрос - нажимаю на нужный патч (например на удаление языков) указываю на Арк в котором это надо сделать и пишет вроде бы все сделано, смотрю а языки то на месте, что я старый делаю не так? Нужна небольшая инструкция по применению 🤭

Сообщение отредактировал papasha55 - 19.02.21, 01:12



Реп: (2394)
papasha55 @ 18.02.21, 23:28 *
пишет вроде бы все сделано, смотрю а языки то на месте, что я старый делаю не так?

Я сначала декомпилировал нужный apk через Apktool M. Потом выбрал проект в котором нужно было удалить языки при запуске скрипта через > "Применить к файлу/папке"
До скрипта:
Прикрепленное изображение

После скрипта:
Прикрепленное изображение
Прикрепленное изображение

Скрипт удалил ненужные папки с string.
Собрал проект после скрипта и декомпилировал снова, чтобы убедиться что они больше не существуют.
Прикрепленное изображение

До скрипта в проекте были ненужные языки, а после скрипта их нет :4PDA:

Сообщение отредактировал CallMeAio - 19.02.21, 10:41



Реп: (372)
* Aidos Zhaqyp, Я тупо скрипт глянул, а потм ещё вспомнил что шелл не умеет напрямую работать с resources.arsc...

papasha55 @ 19.02.21, 0:28 *
на Арк в котором это надо сделать и пишет вроде бы все
Дед, ну блин! Ну ты...! :D
Именно апкашки местным патчам указывать логично если патч тупо добавляет/удаляет/заменяет/ что-то типа либасиков или в assets/ чё нить захерачит, или в res/raw, и то это скрипт мейкера зависит. Можно и то и то по ситуации, но как напишет мейкер только он и и знает.

В конце концов ApkEditor тоже сначала дэкомпилит а потом патчишь.

Не забывай, это условный плагин для Apktool M (ибо не прикручен к интерфейсу Apktool M но написан сами-знаете-кем...) и аналогичных тулз. Да чё там, апкэдитор же может дэкомпилить проекты куда хошь, только путь к нужной директории укажи и всё. Структура его и апктуловских проектов то в принципе одинаковая, только файлы yml и иже с ними разнится могут.

Сообщение отредактировал Метабот - 19.02.21, 11:35



Реп: (2786)
Тип: Новая версия
Версия: 1.7
Краткое описание: MPatcher
Что нового:
-Добавлена возможность экспорта/импорта патчей формата *.mpatch.zip для более удобной выгрузки на ресурс
-Добавлены описания к патчам, которые можно редактировать собственноручно и просматривать во время импорта
-Заменены некоторые утилиты в составе пакета (теперь все они static)
-Изменён первоначальный набор патчей
-Некоторые доработки в пользу удобства использования

Внимание! Рекомендуется установка "начисто"!
И не забываем, что разработчик Maximoff , а не я!

Прикрепленный файлMPatcher v1.7(10).apk ( 1.64 МБ )


Сообщение отредактировал Идите Лесом - 22.02.21, 16:18



Реп: (4439)
Будет супер если удастся реализовать удаление дубликатов графики по аналогии плагина AlinOne из проекта BatchApkTool.



Реп: (372)
* Dymonyxx, Прочти описание к патчу DrawableClean...

думаю, если в скрипте заменить все xxxhdpi на hdpi, удалит все дубли, кроме hdpi, проверяю...



Реп: (4439)
* Бот_0001, думаю не будет такой же логики как в AlinOne.... проверил?

Сообщение отредактировал Dymonyxx - 19.02.21, 17:39



Реп: (372)
* Dymonyxx, Да, замена xxxdpi не робит, но я думаю это временно.

Добавлено 19.02.2021, 17:46:

* Идите Лесом, Аааха! Так и знал что эти xxxh неспроста, но в спешке не всмотрелся))

У меня смарт с hdpi, но я с недавних пор оставляю только mdpi :))))

То что считает размер удалённых файлов тхе бест, ожидаем увеличение числа лайт модов от неизвестных ранее мододелов... :)))

Первый попавшийся апк очистил на 1mB и как-то даже ещё захотелось... :D

Этот патчер при развитии станет крут, ооочень, уже сейчас жутко интересно выглядит. В бизибоксе кстати есть же hexedit, если это то что я подумал, hex-маньяки могут проявить любопытство... :D

Сообщение отредактировал Метабот - 19.02.21, 17:55
Причина редактирования: дополнил пост



Реп: (372)
Идите Лесом @ 19.02.21, 21:39 *
он умеет up/downscale'ить изображения
Ага, а сколько озу уйдёт на xxxhdpi? А у меня ramfs, андроид виснет, если озу им заполняется, а я туда апкашки разбираю, флеху берегу, одна она у меня)))

Сообщение отредактировал Метабот - 19.02.21, 18:01


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 09:49