Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2019 December 25

M

Max in Android NDK (C++) — русскоговорящее сообщество
Ну а мой вопрос следующий:
Я узнал, как будут ломать мою защиту. Путём перехвата функций стандартной библиотеки. Насколько я понял, для этого к проекту им придётся подключить свою либу, которая и будет перехватывать. Обязательно ли все библиотеки, используемые приложением, должны находиться в папке libs? Мои библиотеки загружаются подобным образом. Может, есть ещё способы?
источник

o

oles in Android NDK (C++) — русскоговорящее сообщество
Max
Ну а мой вопрос следующий:
Я узнал, как будут ломать мою защиту. Путём перехвата функций стандартной библиотеки. Насколько я понял, для этого к проекту им придётся подключить свою либу, которая и будет перехватывать. Обязательно ли все библиотеки, используемые приложением, должны находиться в папке libs? Мои библиотеки загружаются подобным образом. Может, есть ещё способы?
Можно из ресурсов грузить
источник

o

oles in Android NDK (C++) — русскоговорящее сообщество
Хотя не уверен что нестандартным спосрбам будет рад гуглплей
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
oles
Хотя не уверен что нестандартным спосрбам будет рад гуглплей
Главное, чтобы они все в памяти светились
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
в /proc/self/maps. И чтобы не было возможности сделать так, чтобы не отображались там.
источник

o

oles in Android NDK (C++) — русскоговорящее сообщество
Тогда хоть с интернетов качать можно
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Я думаю, проверка на загружаемые либы должна помочь   убрать возможность подгружать свои либы.
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
k1ceargy
Это означает что джава уровень не хукается? чуток не могу понять
Да всё вроде хукается. Если уж в нативе вызовы перехватывают, чего уж говорить про java.
источник

ZS

Zhanat Suleimenov in Android NDK (C++) — русскоговорящее сообщество
oles
Можно из ресурсов грузить
Можно с ресурсов. Можно дексом и уже с ресурсов матрёшки. Но не совсем понятно как это поможет защите. Что мешает людям запустить и скачать уже с files через ADB?
источник

o

oles in Android NDK (C++) — русскоговорящее сообщество
Загрузить расшифровать и удалить сразу
источник

o

oles in Android NDK (C++) — русскоговорящее сообщество
Ну от мамкинвх хакеров которым надо зачет сдавать может и спасет
источник

ZS

Zhanat Suleimenov in Android NDK (C++) — русскоговорящее сообщество
Несколько месяцев назад тут вроде было обсуждение что невозможно в либе подтвердить достоверность вызова методов
источник

o

oles in Android NDK (C++) — русскоговорящее сообщество
Похорошему расшифровка в памяти должна идти
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Zhanat Suleimenov
Несколько месяцев назад тут вроде было обсуждение что невозможно в либе подтвердить достоверность вызова методов
Да, мне тоже так кажется. Поэтому и смотрим память. Опять же поможет только при запуске. Если есть возможность подгружать либы в процессе работы приложения, то такой способ не спасёт. Но и наплевать. Им ведь нужно получить взломанное работающее приложение. Поэтому они встраивают либу в APK. Делать проверку на загружаемые либы в APK, естественно, не имеет смысла.
источник

ZS

Zhanat Suleimenov in Android NDK (C++) — русскоговорящее сообщество
Max
Да, мне тоже так кажется. Поэтому и смотрим память. Опять же поможет только при запуске. Если есть возможность подгружать либы в процессе работы приложения, то такой способ не спасёт. Но и наплевать. Им ведь нужно получить взломанное работающее приложение. Поэтому они встраивают либу в APK. Делать проверку на загружаемые либы в APK, естественно, не имеет смысла.
Я к тому что даже если либу в сети положить, как  определить что приложение сейчас не лежит на столе у реверсера? Нужно понимать что приложение находится во враждебном окружении. И варианты загрузки в сеть и скачивании это не решение так как невозможно определить кто сейчас скачивает его
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Zhanat Suleimenov
Я к тому что даже если либу в сети положить, как  определить что приложение сейчас не лежит на столе у реверсера? Нужно понимать что приложение находится во враждебном окружении. И варианты загрузки в сеть и скачивании это не решение так как невозможно определить кто сейчас скачивает его
Нет хороших способов, спасающих от отладки. Пусть лежит у реверсера, что тут такого? Главное, чтобы во взломанной версии не подгружались левые либы.
Из сети я точно ничего качать не буду. Приложение должно запускаться без интернета.
источник

k

k1ceargy in Android NDK (C++) — русскоговорящее сообщество
Max
Да всё вроде хукается. Если уж в нативе вызовы перехватывают, чего уж говорить про java.
это хорошо, но доков и примеров вообще нет(
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
k1ceargy
это хорошо, но доков и примеров вообще нет(
Может быть, стоит поискать другие решения?
источник

k

k1ceargy in Android NDK (C++) — русскоговорящее сообщество
Я где-то видел Yahfa/Sandhook, это короче ART Runtime hooker
источник

k

k1ceargy in Android NDK (C++) — русскоговорящее сообщество
Есть EdXposed
источник