Як захистити свій додаток stack overflow російською
Яку б МЕГАЗАХИСТ ви не робили, в кінці-кінців всерівно буде те місце, де є if, який перевірять і пускає / непускает далі.
Тому зробити ідеальний захист можна тільки одним способом - не випускати додаток взагалі. Тоді його точно не поламають. Але раз додаток поламали, значить воно хоч трошки, а популярно.
відповідь дан 16 дек '13 в 10:28
@KoVadim пише правильно, що злом справа техніки. Тут треба дивитися наскільки ускладнює захист саму прогу - в загальному дотримати правильний баланс між кількістю зусиль на захист і необхідністю захисту.
З досить простих способів захисту згадаю:
- Використання JNI вставок для перевірки захисту, це просто, а разом з тим на порядок піднімає рівень захисту - одна справа реверс інжнірінг байткода, а зовсім інше плюс до цьому дизасемблювання JNI вставок
- Горезвісний if перевірки ліцензії розкидати по коду в декількох неочевидних місцях - намагаючись не використовувати 1 функцію перевірки ліцензії, а використовувати вставки коду замість цього.
- Впровадити механізм in-app purchase - IAP для покупки будь-яких рівнів та ін. нісенітниці.
- У IAP є така штука звана developer payload - це такий механізм захисту правильності покупок. Якщо його правильно застосувати, то можна за допомогою нього перевіряти чи вірна покупка. Більш детально тут
відповідь дан 16 дек '13 об 11:20
@Barmaley ♦, 1) Щоб це використовувати, треба все одно робити перевірку в Java, а результат потім відправляти в C ++. Ось якби чекнуть ліцензію можна б було в С ++ коді, тоді б це мало сенс. - Suvitruf 16 дек '13 о 11:22
@Suvitruf ну можна ж чекнуть ліцензію в С коді і там же намалювати UI діалог з попередженням без виходу на Java і там же зробити аварійне завершення проги - Barmaley 16 дек '13 о 11:45