Ярослав
я понял Благодарю
Mike
Если там все закрыли, то никак
невозможно «всё закрыть», это миф
Egor
невозможно «всё закрыть», это миф
Я не шарю в хорошой защищенности прилки от декомпиляции. Просто попробовал один раз через онлайн сервис декомпилить прилку и там переменные и классы были abc123
Ярослав
а можно ссылку
Egor
а можно ссылку
Google в помощь
Egor
а можно ссылку
Decompile apk online
Egor
ну да, ничего страшного :)
А есть ссылка как правильно скрыть так прилку? Слышал что то про про гуард? Оно?
Ярослав
ага благодарю
Paladin
ага благодарю
тоже может пригодиться http://apk-deguard.com/
Egor
Оно
Пасиба
Egor
Оно
А вообще оно как работает? Я пишу условно "Поменять все переменные на 123"?
Alexey
Угу, так примерно и работает. Почитай доки про прогвард
Egor
А что дает минификация?
И в чем разница между обфускацией? Киньте в меня ссылкой, если можете. Я вообще 0 в этой теме
Paladin
А что дает минификация?
была у тебя функция superLongFunction() стала a()
Anonymous
интересно есть ли нормальные отладчики, коль уж такая тема)
Alexey
Под определение вполне подходит
Alexey
Но вообще у прогварда и правда не так много возможностей
Paladin
Чем это не обфускация?
Нет обфускация это жесть вместо a()
Alexey
Нет обфускация это жесть вместо a()
Ты можешь свои списки в прогварде указать
Mike
А есть ссылка как правильно скрыть так прилку? Слышал что то про про гуард? Оно?
нет, я не держу тыщу закладок на каждый случай :) есть baksmali, есть jadx и ещё море инструментов
Alexey
И будет жесть вместо а()
Paladin
И будет жесть вместо а()
Посмотри ридми того обфускатора там все наглядно
Mike
Нет обфускация это жесть вместо a()
задаёшь свой словарь — получаешь жесть, но зачем? троллейбус_из_буханки.жпг
Alexey
Paladin
задаёшь свой словарь — получаешь жесть, но зачем? троллейбус_из_буханки.жпг
Хз зачем обфусцировать жабу все равно не особо помогает
Mike
Хз зачем обфусцировать жабу все равно не особо помогает
Ну не существует надёжного способа спрятать код, который отдаёшь наружу. Переименование someFunc -> a полезно тем, что уменьшает размер выходного байт-кода.
Anonymous
Хз зачем обфусцировать жабу все равно не особо помогает
обычно разобраться что делает приложение после обфускации , всё же заметно медленее для приличной части людей) так что немного замедляет проявление ненунжного интереса к приложению (мне так кажеться)
Egor
Ну не существует надёжного способа спрятать код, который отдаёшь наружу. Переименование someFunc -> a полезно тем, что уменьшает размер выходного байт-кода.
Еще я хотел спросить по поводу хранения ссылок в прилке. Как скрыть ссылку на апи и енд поинты в каком нибудь ретрофит сервисе? Надо также обфусцировать и скрывать классы?
Egor
Никак.
Только обфускация?
Mike
Любой способ работает плохо. Правильно поставленный брейкпоинт сдаёт мамкиного обфускатора с потрохами.
Mike
Только обфускация?
https://t.me/android_ru/747134
Alexey
Только обфускация?
Вообще никак
Egor
Конечно.
Че за бред, какой то тролинг)
Mike
Че за бред, какой то тролинг)
Ну если нет базовых навыков реверса, тогда бред)
Александр
Че за бред, какой то тролинг)
Никакого троллинга. Действительно можешь "открыть" его прилку и поюзать его апи.
Egor
Конечно.
А в яндексе, гугле? Взял у ютуба апи их и удалил все нахрен видосы?
Mike
А в яндексе, гугле? Взял у ютуба апи их и удалил все нахрен видосы?
Для этого тебе нужен токен пользователя, которому видосы принадлежат. Токен можно получить по логину-паролю.
Astar
Подскажите плиз, с чем может быть связана ошибка "A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution"? Она у меня происходит когда я прописываю вот эти два свойства в XML для ViewPager: https://hatebin.com/cgwawnyrqq Сами переменные выглядят вот так: https://hatebin.com/mghqjfduac Ну и инициализация в Activity: https://hatebin.com/uvmkqurkfq
Anonymous
На сети. Всякий Socket там.
я про то какие есть хорошие отладчики то есть либо найти немогу (что вероятно) либо что-то непонятное с ними для android)
Anonymous
IntelliJ / Android Studio
то есть только родной?
Anonymous
мда) где те времена когда были отладчики всех видов и типов))
Egor
Для этого тебе нужен токен пользователя, которому видосы принадлежат. Токен можно получить по логину-паролю.
Ну пускай так не выйдет. Но общий токен для использования апи все равно же лежит в стринге какой то в каком то классе. И можно спокойно догадать енд поинт и удалить что то?
Astar
hatebin.com
отредактировал
Egor
Да
apply plugin: 'kotlin-kapt' на месте? В градле
Mike
то есть только родной?
Не только, но родной — лучший.
Egor
Нет такого «общего токена», по которому можно было бы выпилить контент какого-то пользователя.
Ну походу только я тупой, который в своих проектах обращался к апи без никаких токенов и ключей)
Astar
apply plugin: 'kotlin-kapt' на месте? В градле
Ну так да. Синтаксических ошибок нет. Только во время сборки эта ошибка появляется
Astar
А в мейн активити что красным подчеркивает?
Ну это то что я сначала от DatabindingActivity наследовался
Astar
binding() не найден
Astar
А в мейн активити что красным подчеркивает?
DatabindingActivity https://hatebin.com/rdetmlsbcf Хотя он тут не при делах
Astar
В градле биндинг подключил?
Ну даа. Вот мой градле апп https://hatebin.com/wpkjudyehp
Egor
Ну это то что я сначала от DatabindingActivity наследовался
А если навести на binding() что пишет студия?
Egor
Ну даа. Вот мой градле апп https://hatebin.com/wpkjudyehp
И попробуй это вставить dataBinding { enabled = true } в градл