
Илья
25.01.2017
17:13:22
Или они не одновременно на экране?

Dmitriy
25.01.2017
17:13:31
Конечно не одновременно
Они переключаются
И только стандартный интерфейс фрагмента!)

Google

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

Илья
25.01.2017
17:14:28

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
о чём?
Как лучше генерить ключ алгоритмом, который нельзя при декомпиляции увидить?

Gregory
25.01.2017
17:17:39

Александр
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

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

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

Илья
25.01.2017
17:18:59

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

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

Александр
25.01.2017
17:19:22

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

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

Dmitriy
25.01.2017
17:19:35

Александр
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

@
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
Дык читаешь в исходниках, как она считается, и считаешь сам
И айди пакета отправляешь, какой нужно

Gregory
25.01.2017
17:25:59

@
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

@
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

Gregory
25.01.2017
17:28:31

Илья
25.01.2017
17:29:06

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

Gregory
25.01.2017
17:31:38

@
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

Александр
25.01.2017
17:35:06

Gregory
25.01.2017
17:35:14
увижу
ну так нет, данные, которые глобальны для всех пользователей, спратать невозможно
типа того же секрета для апи
в данные приложения можно класть сессии всякие и прочее такое

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