@android_ru

Страница 881 из 3205
Илья
25.01.2017
17:13:22
Или они не одновременно на экране?

Dmitriy
25.01.2017
17:13:31
Конечно не одновременно

Они переключаются

И только стандартный интерфейс фрагмента!)

Google
@
25.01.2017
17:14:25
proguard'ом хех

Dmitriy
25.01.2017
17:14:55
Ну так кастование может подтянуть падение с ошибкой)

Илья
25.01.2017
17:15:05
Так есть же instanceof

Александр
25.01.2017
17:15:25
Так. А что если написать метод на C++ с шифрованием?

Его же не задекомпилить нормально

Dmitriy
25.01.2017
17:15:32
Ты же ищешь стандартный фрагмент. Ну вот я и говорю кастуешь)

Александр
25.01.2017
17:15:58
@grishka как думаешь?

Илья
25.01.2017
17:15:58
Ты же ищешь стандартный фрагмент. Ну вот я и говорю кастуешь)
Ну проверяешь перед кастованием, что это именно тот

Dmitriy
25.01.2017
17:16:34
Ну и если что то изменилось. Это он но уже метод убрали след разраб не знал что так надо) И ?

Gregory
25.01.2017
17:16:54
Dmitriy
25.01.2017
17:16:54
То что ты предлагаешь не совсем решение. Вернее не совсем верное

Илья
25.01.2017
17:16:56
Интерфейс сделай

Google
Илья
25.01.2017
17:17:10
Александр
25.01.2017
17:17:19
о чём?
Как лучше генерить ключ алгоритмом, который нельзя при декомпиляции увидить?

Александр
25.01.2017
17:17:54
это технически невозможно
А как лучше поступить, чтобы это было максимально тяжело?

Gregory
25.01.2017
17:17:58
всё можно увидеть при декомпиляции, и JNI-библиотеки не панацея

@
25.01.2017
17:18:01
Кому нужно декомплить ьвою программу, алё))

Gregory
25.01.2017
17:18:03
Dmitriy
25.01.2017
17:18:12
А вообще компиляция не пройдет в таком случае, лол
Такой подход у меня был 2+ года назад)

Gregory
25.01.2017
17:18:33
я вот помню, как в приложении ask.fm была сделана за-shit-а от реверс-инжиниринга

там короче ключ для апи получался через нативную библиотеку

Александр
25.01.2017
17:18:58
Это нужно, чтобы АПИ защитить, чтобы его не юзали ВНЕ нашего приложения

хз как

Илья
25.01.2017
17:18:59
Такой подход у меня был 2+ года назад)
Я бы onActivityResult заюзал, или там даггер

Dmitriy
25.01.2017
17:19:08
Со временем начинаешь переосмысливать

Gregory
25.01.2017
17:19:12
я создал проект, засунул туда эту библиотеку, вызвал метод, получил ключ

Gregory
25.01.2017
17:19:24
хз как
правильно что хз как, потому что никак

@
25.01.2017
17:19:34
Пиздос, так трафик то посмотреть можно и реверсить не нужно)

Dmitriy
25.01.2017
17:19:35
Я бы onActivityResult заюзал, или там даггер
Я и польщую дагер для активити скоуп интерактора

Александр
25.01.2017
17:19:43
правильно что хз как, потому что никак
Ну как вариант - менять ключ из версии в версию)) Так отрубится хотя бы часть

Google
Gregory
25.01.2017
17:19:47
ну они могли бы проверять там подпись пакета, но ведь это твоё устройство, это не то, что нельзя обойти при помощи какого-нибудь xposed

Ну как вариант - менять ключ из версии в версию)) Так отрубится хотя бы часть
а пользователи со старыми версиями пусть страдают?

Илья
25.01.2017
17:20:07
Ага, и люди, которые не обновились, будут ставить 1 звезду

Александр
25.01.2017
17:20:14
Anton
25.01.2017
17:20:32
у инстаграма такое раз в год

что старая версия нерабочей становится

Александр
25.01.2017
17:20:53
Они как-то там тоже хитро делают

Gregory
25.01.2017
17:21:11
А как инстаграм делает?
я его не декомпилил, это имеет смысл спросить у @avsievich

@
25.01.2017
17:22:05
Погляди как гугл делает, там же у них проверка на чексумму и имя пакета

Александр
25.01.2017
17:22:54
Где?

покаж

ну имя пакета это фигня, а вот чексумма мб мб

@
25.01.2017
17:24:29
да любой проект где юзаишь их апи они выдают json под твою конкретную сборку, а на их серверной части указываешь типа ежели пакет другой то на апи не отвечать

sha1 вот ее неподделать

Илья
25.01.2017
17:25:40
Дык читаешь в исходниках, как она считается, и считаешь сам

И айди пакета отправляешь, какой нужно

@
25.01.2017
17:26:06
чего?

Gregory
25.01.2017
17:26:27
ну смотри, это твоё устройство, ты имеешь абсолютно полный доступ к нему

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

Google
Gregory
25.01.2017
17:27:10
это не фантазия, это реально возможно, например, с помощью xposed framework

@
25.01.2017
17:27:11
бля, братишь, невозможно сбилдить и подписать пакеты схожей sha1

это типа имя ключа которым ты подписал

Gregory
25.01.2017
17:27:38
бля, братишь, невозможно сбилдить и подписать пакеты схожей sha1
какой ты умный, только вот откуда берётся этот sha1, как он попадает в приложение, м?

@
25.01.2017
17:27:38
разве только ключ похитят

Илья
25.01.2017
17:27:42
Так ты отправляй на сервак нужный хэш и всё

Gregory
25.01.2017
17:27:46
правильно, приложение вызывает метод в системе

а ты имеешь полный доступ к системе, ты просто возвращаешь из этого метода правильный ключ

и как бы всё, game over

@
25.01.2017
17:28:20
Сука, sha1 это ключ которым ты подписываешь, невозможно сгенерировать похожий ключ

Admin
ERROR: S client not available

Илья
25.01.2017
17:29:06
Сука, sha1 это ключ которым ты подписываешь, невозможно сгенерировать похожий ключ
Как сервак отличит, ты реальный хэш отправляешь или просто скопировал подходящий?

Anton
25.01.2017
17:29:13
Битва

Gregory
25.01.2017
17:29:45
@
25.01.2017
17:29:51
Как варик, залить беспалевный пакет локально, скажем android.google.gms и в него вшить защиту, а потом прогуардом

Gregory
25.01.2017
17:29:54
любой DRM сломан ещё до своего появления

если код можно выполнить, его можно отреверсить, это аксиома

я понимаю, что некоторым очень сложно понять эту концепцию, но всё же

@
25.01.2017
17:31:23
И того на выходе пару сотен непонятных классов, главно имена типа password маскировать под стандартную либу гугла, ее реверсить не станут

Google
@
25.01.2017
17:32:15
Ты пробовал реверсить чужой код?

Gregory
25.01.2017
17:32:29
да

Илья
25.01.2017
17:32:36
Это не так сложно, как ты думаешь

Gregory
25.01.2017
17:32:41
я вот выше писал, как я отреверсил апи аск.фм

ещё реверсил апи в одном приложении для знакомств

Александр
25.01.2017
17:32:55
А способ с прописью ключа в gradle как переменной

я у авто.ру АПИ реверсил тож

всё у них херово там)

@
25.01.2017
17:33:16
переменная будет в R классе

Илья
25.01.2017
17:33:16
Gregory
25.01.2017
17:33:19
у аска тоже так себе

ну вот да, нет способа что-то спратать на рутованном устройстве

а у тех, кто реверс-инжинирит, такие устройства всегда есть

Илья
25.01.2017
17:34:13
Да можно даже без него, просто с 4пда)

Александр
25.01.2017
17:34:17
Gregory
25.01.2017
17:34:37
А если нет рута, то как можно?
да элеменратно в папку приложения в /data/data

Александр
25.01.2017
17:35:06
да элеменратно в папку приложения в /data/data
так а ты дебагеров типа Charles ключ не увидишь в отправке?

Gregory
25.01.2017
17:35:14
увижу

ну так нет, данные, которые глобальны для всех пользователей, спратать невозможно

типа того же секрета для апи

в данные приложения можно класть сессии всякие и прочее такое

@
25.01.2017
17:38:59
А если так https://stackoverflow.com/questions/9293019/get-certificate-fingerprint-from-android-app

Страница 881 из 3205