Size: a a a

2020 August 07

A

Anymy in Android Guards
Можно попробовать запросы из натива делать (asio или boost) но и то перехватывается
источник

m

main in Android Guards
Понятно, по всей вероятности проблема фундаментальная, гуглу в очередной раз не до нее
источник

m

main in Android Guards
Anymy
Можно попробовать запросы из натива делать (asio или boost) но и то перехватывается
Есть масса вариантов
источник

m

main in Android Guards
Anymy
Можно попробовать запросы из натива делать (asio или boost) но и то перехватывается
И я так полагаю, всевозможные детекторы Фриды, xposed, проверка на рут тоже идут мимо?
источник

A

Anymy in Android Guards
main
И я так полагаю, всевозможные детекторы Фриды, xposed, проверка на рут тоже идут мимо?
Да. Обходятся той же фридой и хпосетом)
источник

m

main in Android Guards
Anymy
Да. Обходятся той же фридой и хпосетом)
А по какому тогда пути следует идти чтобы усложнить задачу взлома? Понятно что рано или поздно взлом будет
источник

A

Anymy in Android Guards
Выноси все на сервер
источник

A

Anymy in Android Guards
И мультиплатформенность и защита)
источник

R

Rtem in Android Guards
main
А по какому тогда пути следует идти чтобы усложнить задачу взлома? Понятно что рано или поздно взлом будет
Если хочется на девайсе, то можно загнаться по whitebox реализации aes в нативной либе.
источник

m

main in Android Guards
Rtem
Если хочется на девайсе, то можно загнаться по whitebox реализации aes в нативной либе.
Я наверное не уточнил, у нас так и реализовано:
Шифрованный контент отправляется в нативную либу, далее нативный aes делает расшифку и возвращает обратно в java

Выходит, sqlite базу шифровать бесполезно, ключ нигде не спрячешь. Единственное, это шифровать данные базы и производить расшифровку внутри либы
источник

R

Rtem in Android Guards
main
Я наверное не уточнил, у нас так и реализовано:
Шифрованный контент отправляется в нативную либу, далее нативный aes делает расшифку и возвращает обратно в java

Выходит, sqlite базу шифровать бесполезно, ключ нигде не спрячешь. Единственное, это шифровать данные базы и производить расшифровку внутри либы
нативный aes c ключем в том же нативе != whitebox aes
источник

R

Rtem in Android Guards
ну это для справки
источник

R

Rtem in Android Guards
Ребята выше верно писали - если ключ в натива, даже если он размешен там, его можно достать фридой или дебагером нативного кода
источник

m

main in Android Guards
Rtem
Ребята выше верно писали - если ключ в натива, даже если он размешен там, его можно достать фридой или дебагером нативного кода
Даже если этот ключ не светится наружу?
источник

R

Rtem in Android Guards
Яркий пример этой истории - API key инстаграмма. Который лежал в нативе и тоже был “хитро” размешен )
источник

R

Rtem in Android Guards
main
Даже если этот ключ не светится наружу?
Конечно. Он же у тебя статический. Я запущу приложение под фридой и хукну функцию которая твой ключ собирает
источник

R

Rtem in Android Guards
почитай как ломали инстаграм и доставали api key. Вот так и твое приложение разломают =)
источник

m

main in Android Guards
Rtem
Конечно. Он же у тебя статический. Я запущу приложение под фридой и хукну функцию которая твой ключ собирает
Ключ вроде собирается динамически, но посыл понятен, что это тоже не защищает
источник

R

Rtem in Android Guards
Угу. Его сборка ничего не дает в случае с хуком
источник

R

Rtem in Android Guards
Гораздо адекватнее тут будет не баловаться с нативом, а просто хранить ключ в кейсторе. И сделать его уникальным для каждого пользователя. Т.е. генерить при первом запуске приложения например
источник