Size: a a a

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

2019 December 17

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
Можно почитать на досуге
источник

M

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

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
А кому нужны функции твоего игрового движка?
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
И второй вопрос как по твоему работает вызов функции из динамической библиотеки?
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
В либе есть набор символов, которые она экспортирует. Если им поменять имена - ты их не сможешь вызвать.
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Да, я понимаю, что идёт вызов по имени, но 99% функций не экспортируются и вызываются только внутри либы.
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
Во время сборки под андроид и так стрипаются символы.
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
Ты проверь когда соберёшь so файлы что там за имена останутся.
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
Тут немного инфы как помочь компилеру почистить ненужное:
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Остались все имена функций (ну или процентов 90) из движка.
источник

M

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

M

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

o

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

M

Max in Android NDK (C++) — русскоговорящее сообщество
Что за упаковщики?
источник

o

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

o

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

M

Max in Android NDK (C++) — русскоговорящее сообщество
А как это спасает от банального копирования?
источник

M

Max in Android NDK (C++) — русскоговорящее сообщество
Evgen Bodunov
Тут немного инфы как помочь компилеру почистить ненужное:
Большое спасибо! Это как раз то что нужно. Компилятор оставил только те функции, которые экспортируются. =)
Флаг -fvisibility=hidden
источник