Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
S4nchez
4 / 4 / 1
Регистрация: 25.08.2015
Сообщений: 56
#1

Защита apk - Программирование Android

22.09.2016, 15:34. Просмотров 921. Ответов 24
Метки нет (Все метки)

Есть игра, которую хочу выложить в плей маркет. В игре реализованы рекорды, которые хранятся на сервере. Что, если злоумышленник вытащит apk, из него прочитает код, найдёт адреса скриптов для взаимодействия с сервером для отправки рекордов и их получения и отправит напрямую свои рекорды без прохождения игры. Как этого избежать?
http://www.cyberforum.ru/android-dev/thread1209173.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2016, 15:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Защита apk (Программирование Android):

Обфускация APK
Здравствуйте, подскажите как мне обфусцировать готовый apk, проекта нет....

Apk в exe
существуют ли подобные конвертеры? чтобы преобразовать apk в файл работающий...

Компиляция в APK
привет. есть исходник программы, выглядят вот так, ishodnik.sh и папка с...

Редактирование apk
Здравствуйте. Скажите пожалуйста программа используемая в HTC evo 3d для работы...

проверка apk
Я извиняюсь за столь глупый вопрос, т.к являюсь молодым и зеленым в этом...

24
ILNAR_93
Android
236 / 236 / 49
Регистрация: 19.01.2013
Сообщений: 1,850
Записей в блоге: 3
22.09.2016, 15:54 #2
Шифровать отправляемые рекорды известным только вам ключем и расшифровывать их на сервере.

Если расшифровка прошла успешно то все гуд и добавляете рекорд.

Принцип шифрования Winrar
0
S4nchez
4 / 4 / 1
Регистрация: 25.08.2015
Сообщений: 56
22.09.2016, 15:59  [ТС] #3
А если я буду шифровать в приложении при помощи алгоритма, злоумышленник может повторить этот алгоритм, зашифровать свой рекорд и отправить свой зашифрованный рекорд на сервер
0
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
22.09.2016, 16:00 #4
Цитата Сообщение от S4nchez Посмотреть сообщение
Как этого избежать?
никак, тему можно закрывать
0
S4nchez
4 / 4 / 1
Регистрация: 25.08.2015
Сообщений: 56
22.09.2016, 16:02  [ТС] #5
лучший ответ. всё супер аргументировано и понятно, побольше бы таких людей)
0
Lumber
295 / 100 / 41
Регистрация: 02.12.2015
Сообщений: 241
22.09.2016, 16:59 #6
от этого действительно полностью никак не защититься - если есть apk, то можно посмотреть как реализована отправка результатов, если там шифрование или цифровая подпись, то ключ всё равно на устройстве будет.

Можно только усложнять всю процедуру, в расчёте на то что злоумышленник не разберется как это работает. И обфускацию включить для затруднения восстановления кода.

Если нужна серьёзная защита, то придётся с сервером в процессе игры соединятся и отправлять какие-то промежуточные результаты и данные хода игры, а на сервере проверять их корректность и согласованность (в том числе и по времени каждого события). Такое будет относительно сложно подделать.
0
S4nchez
4 / 4 / 1
Регистрация: 25.08.2015
Сообщений: 56
22.09.2016, 17:49  [ТС] #7
спасибо, есть над чем подумать.. грустно как-то, что так просто могут взломать или получить доступ к программе
0
androbro
340 / 301 / 67
Регистрация: 17.10.2014
Сообщений: 887
22.09.2016, 17:54 #8
Цитата Сообщение от S4nchez Посмотреть сообщение
спасибо, есть над чем подумать.. грустно как-то, что так просто могут взломать или получить доступ к программе
имхо : грустно будет если будете месяц парится с защитой, выложите в google play, а скачает всего 100 человек...
вот наберете хотя бы пару тысяч установок(активных пользователей), тогда и заморачивайтесь защитой, а так пока "овчинка выделки не стоит"
0
R0
17 / 17 / 13
Регистрация: 06.08.2015
Сообщений: 73
22.09.2016, 20:42 #9
Помоему можно написать алгоритм шифрования на Си, скомпилировать в статическую библиотеку, и подключить к проекту. Компилированный Си не вскроется.
0
S4nchez
4 / 4 / 1
Регистрация: 25.08.2015
Сообщений: 56
22.09.2016, 22:07  [ТС] #10
а саму это библиотеку злоумышленник стырить не сможет?
0
Alexvp
111 / 75 / 8
Регистрация: 03.08.2014
Сообщений: 380
22.09.2016, 22:33 #11
Только алгоритмическим путем, через взаимодействие между приложением и сервером в режиме онлайн. Тогда можешь даже в открытый доступ выкладывать код приложения. Злоумышленник не будет знать определенных параметров, которые для каждого сеанса игры будет генерировать сервер. И еще проверка времени игры по часам сервера и сравнение с часами приложения.
0
S4nchez
4 / 4 / 1
Регистрация: 25.08.2015
Сообщений: 56
22.09.2016, 22:35  [ТС] #12
Окей. Может, если у тебя есть какой-то опыт в этом деле, посоветуешь, как правильно загуглить всю эту тему с библиотекой на С или может какую-то статью, если знаешь
0
Lumber
295 / 100 / 41
Регистрация: 02.12.2015
Сообщений: 241
22.09.2016, 23:44 #13
Библиотека на Си ничего принципиально не изменит. В ней всего лишь несколько сложнее разобраться. Но можно и не разбираться, а просто вызвать экспортируемую функцию и получить нужный результат.
0
S4nchez
4 / 4 / 1
Регистрация: 25.08.2015
Сообщений: 56
23.09.2016, 00:11  [ТС] #14
а точно никак нельзя код С или С++ функции получить?
0
Lumber
295 / 100 / 41
Регистрация: 02.12.2015
Сообщений: 241
23.09.2016, 00:13 #15
Можно конечно. На ассемблере. (наверное и декомпиляторы какие-то есть, но и ассемблера достаточно).
0
S4nchez
4 / 4 / 1
Регистрация: 25.08.2015
Сообщений: 56
23.09.2016, 00:18  [ТС] #16
просто реально какие-то ключевые моменты можно проводить на С или вызывать из них ключи, к примеру
0
klim76
20 / 14 / 2
Регистрация: 10.06.2016
Сообщений: 144
23.09.2016, 02:05 #17
почему бы во время запуска игры не запросить с сервера "сеансовый" ключ, и заявку на рекорд принимать в паре с ним?
0
S4nchez
4 / 4 / 1
Регистрация: 25.08.2015
Сообщений: 56
23.09.2016, 02:50  [ТС] #18
Очень не хочу делать игру, чтобы она зависела от интернета. А сами рекорды не очень важны, просто как дополнительный игровой элемент
0
Alexvp
111 / 75 / 8
Регистрация: 03.08.2014
Сообщений: 380
23.09.2016, 06:58 #19
Цитата Сообщение от S4nchez Посмотреть сообщение
Очень не хочу делать игру, чтобы она зависела от интернета. А сами рекорды не очень важны, просто как дополнительный игровой элемент
Вы уж определитесь в своих желаниях
В стартовом топике говорите о сервере, что подразумевает зависимость от интернета, и о важности защиты рекордов от мошенничества.
1
S4nchez
4 / 4 / 1
Регистрация: 25.08.2015
Сообщений: 56
23.09.2016, 13:36  [ТС] #20
не, смотри: на сервер я посылаю только рекорды, когда это нужно. к примеру, когда пользователь захотел выложить свой рекорд
0
23.09.2016, 13:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2016, 13:36
Привет! Вот еще темы с решениями:

APK Android
Вот добрался аж до этого раздела, после долгих ожиданий ответа в ветке по...

Переупаковка APK
Гуру, подскажите! Насколько я понял, APK - это обычный ZIP файл. Вопрос:...

exe to apk
Здравствуйте форумчане!Интересует один вопрос,в программировании под андроид я...

Уменьшить размер APK
Готовый APK весит 6 МБ, хотя должен намного меньше. Декомпилировав приложение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru