Обход путем патчей .dll браузеров

Ответить
 

Dicrock

Старожил

Стаж: 12 лет 11 месяцев

Сообщений: 1142

Dicrock · 31-Дек-19 16:20 (5 лет 3 месяца назад, ред. 31-Дек-19 16:20)

Das_Monster, тут только метод перебора. Я так патчил QBittorrent. Можно пропробовать пропатчить всё разом через https://github.com/bol-van/hexreplace но могут вылезти проблемы.
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 12 лет 11 месяцев

Сообщений: 1142

Dicrock · 09-Май-20 07:19 (спустя 4 месяца 8 дней)

Никто не пробовал патчить мобильные браузеры (тот же хром) под андроидом ? Там процесс посложнее и обычным хекс-редактором не обойдёшься
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 810


kx77 · 09-Май-20 09:33 (спустя 2 часа 13 мин., ред. 09-Май-20 09:33)

Dicrock писал(а):
79408391Никто не пробовал патчить мобильные браузеры (тот же хром) под андроидом ? Там процесс посложнее и обычным хекс-редактором не обойдёшься
Броузеры под ведроидом работают через нативный движок, оформленный в виде lib..so файла
libchrome.so
его и надо патчить
на живой системе требуется рут
но после того, как патч будет найден, можно пересобрать apk с измененной DLLкой и подписать своим ключом
только смысла особо не вижу. imho проще взять tpws из zapret и запустить его в хотя бы режиме socks
не будет проблем при смене версий броузера
все, что можно достичь патчем DLLки - сделать другой HoST, возможно еще несколько методов типа отсутствия пробела после Host:,
но все зависит от кода. Если там какой-нибудь sprintf, то можно ограничиться патчем строки, а если навороты в коде вокруг C++ и STL,
то потребуется патчить код.
хоть сколько нибудь серьезная модификация кода броузера требует перекомпиляции. на ассемблере делать такие вставки - безумие
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 12 лет 11 месяцев

Сообщений: 1142

Dicrock · 11-Май-20 08:13 (спустя 1 день 22 часа, ред. 11-Май-20 08:13)

kx77 писал(а):
79408724Броузеры под ведроидом работают через нативный движок, оформленный в виде lib..so файла
libchrome.so
его и надо патчить
на живой системе требуется рут
но после того, как патч будет найден, можно пересобрать apk с измененной DLLкой и подписать своим ключом
Спасибо за указание нужного направления. Займусь на досуге этим вопросом
Цитата:
только смысла особо не вижу. imho проще взять tpws из zapret и запустить его в хотя бы режиме socks
не будет проблем при смене версий броузера
Тут чисто спортивный интерес. При любом раскладе лишним не будет. Подобный опыт может и для других целей потом пригодиться.
Цитата:
все, что можно достичь патчем DLLки - сделать другой HoST, возможно еще несколько методов типа отсутствия пробела после Host:
Мне пока достаточно правки host-заголовка
Цитата:
но все зависит от кода. Если там какой-нибудь sprintf, то можно ограничиться патчем строки, а если навороты в коде вокруг C++ и STL,
то потребуется патчить код.
хоть сколько нибудь серьезная модификация кода броузера требует перекомпиляции. на ассемблере делать такие вставки - безумие
Ну для этого у меня скилл не настолько прокачан. Максимум что я сейчас смогу - разобрать, поправить осмысленный текст и собрать назад
***
Цитата:
на живой системе требуется рут
На живой системе не вышло, причём в 2-х случаях (с рутом). В первом случае хром 5x.x вообще не держал подобных либ
скрытый текст
Код:
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.1847.114.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.1916.122.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.1916.138.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.1916.141.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.1985.122.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.1985.128.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.1985.131.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.1985.135.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.2062.117.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.2125.102.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.2125.114.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.2171.37.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchrome.2171.59.so
-rwxr-xr-x    1 1000     1000           0 Dec 31  1979 libchromeview.so
-rwxr-xr-x    1 1000     1000       85.4K Dec 31  1979 libchromium_android_linker.so
имея оную лишь в потрохах (crazy.libchrome.so), а хром 7x.x хоть и имел оную /lib/ директории приложения на её редактирование, равно как и удаление совершенно не реагировал (приложение замораживалось перед пропатчиванием либы для надёжности), т.е. как и 5x.x грузил её напрямую из apk-ки. В общем, получается надо патчить либу, заменять в апк-ке и переподписывать. Или разбирать в ноль заменять и переподписывать. Я хз. Я не часто таким занимался.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 810


kx77 · 11-Май-20 13:07 (спустя 4 часа, ред. 11-Май-20 13:07)

Верно, с 6 ведроида имеется возможность лоадить SO прямо из APK
https://medium.com/androiddevelopers/smallerapk-part-8-native-libraries-open-from-apk-fc22713861ff
как я понимаю придется менять манифест и перепаковать apk, чтобы появилась возможность править SO как файл
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 12 лет 11 месяцев

Сообщений: 1142

Dicrock · 11-Май-20 21:46 (спустя 8 часов, ред. 11-Май-20 21:46)

kx77, там андроид 5.1 с хромом 5x.x и 4.2 с 7x.x в общем я хз. Попробую пропатчить либу в апк-ке, а там будет видно. Есть подобный опыт ? Помню пытался засунуть пропатченную либу и переподписать приложение, но не прокатило, а при разборке чем то типа apktool там по моему всё разбирается до основания.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 810


kx77 · 15-Май-20 09:54 (спустя 3 дня)

APK пересобирал. подписывал с помощью keytool и jarsigner из JDK.
установка apk с другим ключом поверх существующего невозможна. требуется удаление старой версии
включая ту, что находится в /system
на 5-м ведроиде либы берутся с файловой системы. проверено.
у меня iron (аналог chrome) установлен в /system. для системных apk либы находятся в /data/app-lib
если переименовать там libchrome.so, то броузер не запускается
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 12 лет 11 месяцев

Сообщений: 1142

Dicrock · 15-Май-20 12:48 (спустя 2 часа 53 мин., ред. 15-Май-20 12:48)

kx77 писал(а):
APK пересобирал.
До исходников? Или заменили либу и переподписали ? Если первое, то чем ? Я юзал apk tool, только не помню был ли там возможность редактировать либы или они тоже разбирались до основания. Вроде была отдельная папка с либами. Надо будет перепроверить.
Цитата:
установка apk с другим ключом поверх существующего невозможна. требуется удаление старой версии
включая ту, что находится в /system
Хм, а ведь и правда в /system хром тоже сидит. Его зачищать не хотелось бы. Наверное сделаю клон или возьму какой-нибудь форк на хромиуме.
Цитата:
на 5-м ведроиде либы берутся с файловой системы. проверено.
Ну на 5.1 я пока не проверял, а на 4.2 замена /data/data/com.android.chrome/lib/libchrome.so (она же /data/app-lib/com.android.chrome-2/ibchrome.so) ничего не дала. Перемещение либы никак на браузер не повлияло (естественно проверял с перезапуском приложения) В общем, буду перепаковывать.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 810


kx77 · 15-Май-20 16:42 (спустя 3 часа)

Я не пересобирал apk с либами.
apk без либ распаковывал как зип. Дальше химичил с classes.dex через dex-tools
потом сигнил через jdk
[Профиль]  [ЛС] 

Dicrock

Старожил

Стаж: 12 лет 11 месяцев

Сообщений: 1142

Dicrock · 17-Май-20 01:51 (спустя 1 день 9 часов, ред. 17-Май-20 01:51)

kx77 писал(а):
79446999Я не пересобирал apk с либами.
apk без либ распаковывал как зип. Дальше химичил с classes.dex через dex-tools
потом сигнил через jdk
Если будет время и желание - напишите кратенький гайд и выложите используемый софт. Разобрал через BatchApkTool, получил тысячи файлов общим весом в пару сотен мегабайт, пофиксил либы, но при сборке повалились ошибки, в общем я хз
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 4 месяца

Сообщений: 810


kx77 · 17-Май-20 10:34 (спустя 8 часов)

Этих гайдов на 4pda и в инете как грязи
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error