1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
|
|
1 | |
Борьба с халявщиками11.04.2018, 15:40. Показов 914. Ответов 14
Метки нет (Все метки)
Кто как борется с возвратами платежей в гугл плей? Человек может купить приложение и сделать копию, которую потом установит в обход приложения. Может купить и вернуть через браузер деньги, на телефоне приложение не удалится при этом, как я понял
0
|
11.04.2018, 15:40 | |
Ответы с готовыми решениями:
14
Борьба с IE Борьба Со Spam -ом Борьба с session Борьба с помехами |
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
|
|
11.04.2018, 15:56 [ТС] | 2 |
Вот печальная статистика. Дело не в приложении, оно топовое
1
|
Заблокирован
|
|
11.04.2018, 16:28 | 3 |
А как вы узнаете о том, что он сделал копию? В вашем приложении есть серверная часть?
0
|
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
|
|
11.04.2018, 21:44 [ТС] | 4 |
student8102, Я не знаю, но такой вариант есть и надо найти решение, как с этим бороться
Добавлено через 5 часов 14 минут student8102, Серверная часть есть
0
|
Заблокирован
|
|
11.04.2018, 21:54 | 5 |
На сколько я знаю, чтобы загрузить приложение из "google play" требуется аккаунт. Вы можете с помощью этих аккаунтов отслеживать какие пользователи купили приложение, а какие вернули? А что за приложение?
0
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
11.04.2018, 23:21 | 6 |
Сделать прям супер топовое приложение. Да никак, это чисто гугловская фича (как две недели в магазине), человек мог искать похожее приложение и не найти нужной функции в этом и тому подобные расклады. Всех денег не заработаешь, а юзер всегда прав.
По поводу копии, у гугла есть либа для проверки подлинности приложения, данные о платеже также можно получить/сохранить.
0
|
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
|
|
12.04.2018, 09:53 | 7 |
Пусть мое решение не идеальное, но я сделал так.
Приложение получает ID устройства и гугл-аккаунт пользователя (хотя он больше для отображения статистики). При запуске, определенном действии (интересном для меня, как разработчика) и выходе, на сервер отправляется строка, где пишется в лог файл. Можно, конечно, писать в БД, но у меня нет своего сервера, а бесплатного хостинга с мускулом я не нашел, но мне хватает и поддержка PHP. При удачной оплате, в лог пишется, плюс ко всему, номер платежной транзакции. Здесь еще сделал плюху, сервер отправляет письмо на мыло, там оно попадает в свою папку, откуда мне приходит СМС, типа "хозяин, копейка капнула". Так вот, теперь к главному. При запуске, приложение запрашивает с сервера "черный список". Если не удалось - продолжает периодически запрашивать, до победного. Далее, сверяется со списком и, если нашел там свой ID или гугл аккаунт, переключает приложение в демо-режим. А черный список - простой текстовый файл, в который ты сам вручную вписываешь негодяев. Как урезать свое приложение до демо - тут каждый решает сам. Защита от переустановки приложения: Я сделал, что при установке, запускается именно демо. Потом юзер оплачивает лицензию и получает доступ к полному функционалу. Далее, после переустановки, он заходит на страницу покупки, где гугл сообщит о наличии оплаченной лицензии. Либо о её отсутствии и необходимости оплаты. Типа так.
1
|
145 / 134 / 22
Регистрация: 28.06.2015
Сообщений: 659
|
||||||
12.04.2018, 11:06 | 8 | |||||
В принципе, защита от хакеров - конпкодавов. Т.е. тех кто используется исключительно приложения, и не очень разбирается в коде. А таких 90%.
Добавляем в приложение проверку откуда установлено, и если не плей- то делаем что надо.
Плюс шифруем, некоторые переменные. Даём не очевидные имена переменным. В итоге 95% "хакеров - кнопкодавов" - отсеяться. А те кто могу сломать - оно им скорей сего не понадобиться.
2
|
Заблокирован
|
|
12.04.2018, 11:27 | 9 |
1
|
145 / 134 / 22
Регистрация: 28.06.2015
Сообщений: 659
|
|
12.04.2018, 11:35 | 10 |
И чего? Там же в гугле найдете как это все распаковать и прочитать.
А вот расшифровать переменную зафаршированную методом aes 256 - это совсем другой уровень.
0
|
2 / 2 / 2
Регистрация: 29.09.2012
Сообщений: 444
|
|
12.04.2018, 15:40 | 11 |
Разве на сайте модов по андроиду не все можно взломать? Версии Pro, а также убирают рекламу там на ура..
0
|
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
|
|
12.04.2018, 16:04 | 12 |
Мало того, имена переменных и функций в исходном виде поставляются пользователю (хакеру).
Хорошо хоть комментарии скрываются. А я не знал про эти инструменты, вручную делал автозамену текстов (имен функций), например, ReadFileFromDisk -> fRfFd/*ReadFileFromDisk */
0
|
2 / 2 / 2
Регистрация: 29.09.2012
Сообщений: 444
|
|
12.04.2018, 19:47 | 13 |
+1
А разве нет программ, которые переделают все имена на a, aa, b, ab и тд ?
0
|
91 / 86 / 12
Регистрация: 08.08.2013
Сообщений: 667
|
|
12.04.2018, 21:30 | 14 |
Cannon1,
достаточно в gradle поставить minifyEnabled true. Взломать можно всё, на андроид написать хорошую защиту сложно, зачастую невозможно, но надо понимать что делать когда вы (ваше приложение) узнаете о взломе. Очень советую прочитать статью на хабре о взломе игры и злом пирате, очень поучительно, так нужно действовать. Можно сколь угодно писать сложные формулы но результат вы будете всегда писать If(license)... тут то и нужно заменить на true. Более того, обфускация нужна, но она ничуть не мешает ребятам потрошить внутр. органы вашей программы на smali, они smali код читают так как вы этот форум. Я считаю наиболее правильным для проверки на взлом проверять подписана ли эта копия ВАШИМ ключом или нет, при этом проверку надо делать на C\C++ и не забывать про игру с пиратом. Добавлено через 9 минут В кратце об игре с пиратом: как только игра узнавала что она ломанная, появлялся пират который очень мешал прохождению игры и пользователи жаловались на этого пирата) (ссылку к сожалению на статью не дам, давно было).
1
|
349 / 240 / 34
Регистрация: 16.01.2010
Сообщений: 766
|
|
12.04.2018, 22:13 | 15 |
Если есть проверка подписи в коде приложения, с шифрованием, то после такой замены, приложение невозможно будет подписать. Точнее подписать можно, но подпись верификацию не пройдет.
А для этого что бы это ломануть нужно будет лез в код, смотреть чего там с чем сравнивается, плюс это будет зашифровано. В общем гемор очень существенный. При цене приложение около 1-3 долларов - мотивация нулевая. Программы патчат стандартные решения, а нестандартные нужно ручками и мозгом.
0
|
12.04.2018, 22:13 | |
12.04.2018, 22:13 | |
Помогаю со студенческими работами здесь
15
Борьба за ресурсы Борьба с помехой. Борьба за рынок Борьба с опечатками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|