Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Как защищать мидлет при продаже?


Автор: OlegJ 15.2.2007, 14:46
Пишу один мидлет,хотел бы попрадавать его.
Как бы измудриться,чтобы немогли его друг другу передавать.
ИЛи это утопия?
Хотел было привязать каждый мидлет к emei коду покупателя..но он может телефон сменить,как тогда?Нехорошо получается..
Есть варианты,мысли?

Автор: Dancer 15.2.2007, 17:45
Как мидлет планируешь распростронять? (выложить в тырнете JAD/JAR или ещё как?)

Автор: OlegJ 16.2.2007, 06:18
Да, выложу на сайте. И думаю, еще на других,где продаются программки.

Автор: Dancer 16.2.2007, 11:13
Ну, если так, то можно сделать механизм следующего рода. Чел заходит на страницу, ему генерится какой-то ключ, на странице пишется, что он должен запомнить этот ключ и потом ввести его при первом запуске мидлета. Если он тыкает, что ОК, давайте закачаем мидлет, то ты быстренько пересобираешь мидлет на стороне сервера с использованием того ключа с которым пользователь согласился (ну или как нибудь этот ключ туда передаёшь). Потом в мидлете при первом запуске спрашиваешь ввод этого ключа, если проходит проверка, то пиешь в RMS что всё зашибись, мидлет активирован и больше ключик не спрашиваешь. 

Но это так, в первом приближении, на вскидку. Ещё лучше сделать цифровую подпись (но это высший пилотаж и требует много денюжков smile )

Автор: mr.DUDA 18.2.2007, 15:44
Цитата(Dancer @  16.2.2007,  10:13 Найти цитируемый пост)
Если он тыкает, что ОК, давайте закачаем мидлет, то ты быстренько пересобираешь мидлет на стороне сервера с использованием того ключа с которым пользователь согласился (ну или как нибудь этот ключ туда передаёшь). Потом в мидлете при первом запуске спрашиваешь ввод этого ключа, если проходит проверка, то пиешь в RMS что всё зашибись, мидлет активирован и больше ключик не спрашиваешь. 

А потом один умный юзерь выкладывает скачанный мидлет на варезном сайте вместе с ключиком smile

Автор: LSD 18.2.2007, 16:04
А что, это так проблематично IMEI телефона узнать?

Автор: OlegJ 19.2.2007, 06:31
Цитата(LSD @ 18.2.2007,  16:04)
А что, это так проблематично IMEI телефона узнать?

а если человек через неделю после покупки моего мидлета,привязанного к imei купит себе другую сотку,ему опять покупать мидлет? не пойдет наверно.

Автор: nerezus 19.2.2007, 09:44
LSD, если можно узнать IMEI - то можно и найти это место в коде, и заменить его. Чтобы выдавало постоянный IMEI.

Автор: javastic 19.2.2007, 11:16
Я использую очень удобный и надежно защищенный способ. При первом запуске мидлет предлагает соединиться с сервером куда передается e-mail указанный при регистрации. Сервер отвечает что на указанный e-mail отослан ключ активации. Пользователь проверяет почту и вводит ключ в мидлет, затем повторно соединяется с сервером и сервер проверяет пару ключа и e-mail на валидность, после этого передает мидлету недостающие метаданные (картинки, музыку, тексты пунктов меню и пр. информацию без которой мидлет не будет нормально работать), затем на сервере в базе проставляется признак того что инсталяция прошла успешно.

Автор: LSD 19.2.2007, 12:48
Цитата(nerezus @  19.2.2007,  09:44 Найти цитируемый пост)
LSD, если можно узнать IMEI - то можно и найти это место в коде, и заменить его. Чтобы выдавало постоянный IMEI.

Любой код можно взломать, и что с того?

Цитата(OlegJ @  19.2.2007,  06:31 Найти цитируемый пост)
а если человек через неделю после покупки моего мидлета,привязанного к imei купит себе другую сотку,ему опять покупать мидлет? не пойдет наверно.

Вести на серверу БД зарегистрированных пользователей, и если человек сменил телефон, то просто выдавать ему новую сборку мидлета.

Цитата(javastic @  19.2.2007,  11:16 Найти цитируемый пост)
При первом запуске мидлет предлагает соединиться с сервером куда передается e-mail указанный при регистрации. Сервер отвечает что на указанный e-mail отослан ключ активации. Пользователь проверяет почту и вводит ключ в мидлет, затем повторно соединяется с сервером и сервер проверяет пару ключа и e-mail на валидность, после этого передает мидлету недостающие метаданные (картинки, музыку, тексты пунктов меню и пр. информацию без которой мидлет не будет нормально работать), затем на сервере в базе проставляется признак того что инсталяция прошла успешно.

Зачем нужен e-mail, почему нельзя на сервере просто проверять серийник?

Автор: javastic 19.2.2007, 13:46
Цитата

Зачем нужен e-mail, почему нельзя на сервере просто проверять серийник? 


e-mail это один из уникальных идентификаторов ( если ты даже себе заведешь другой, то всё равно будешь вынужден купить ещё раз программу), а сирийник может распространяться в Инете. А так один и-мейл <-> один покупатель. Например твой e-mail доступен только тебе, а если ты начнёшь 10 раз подряд запрашивать ключи, то это на сервере можно распознать как что-то странное, например генерацию ключей для друзей, а это уже несанкционированное копирование и я просто заблокирую твой e-mail в своей базе, вышлю письмо что так делать не хорошо.

Автор: LSD 19.2.2007, 14:15
Майкрософт, обходится одним серийником. Просто нельзя слишком часто активировать Windows, вот и все. И тут можно так же - одна активация в месяц. Если надо чаще, то пишите письма в службу техподдержки.

Автор: javastic 19.2.2007, 14:24
Да, можно и так. Можно вообще на кол-во инсталяций сделать. Главное то, что мидлет не полный пока не активируешь его. Даже не поможет ситуация с эмулятором, потому что руками всё равно в rms телефона ничего не запихаешь. smile

Автор: Dancer 20.2.2007, 12:06
http://forum.vingrad.ru/topic-15556/hl/j2me/15.html
здесь обсуждалось кое-что подобное

Автор: kapi 15.3.2007, 19:15
любая защита на J2me - до одного места. smile  Декомпилят , получат исходник и  всей защите Вашей пипец . . .
А насчет IMEI - вообще глупость, как по мне.

Автор: javastic 16.3.2007, 09:48
kapi, ты не понял. Ргистрацию делаешь через сеть, оттуда же выкачиваются метаданные для мидлета. Если под твоей учётной записью будет частое и многократное скачивание то я просто твою учётную запись заблокирую как нарушающую пункт лицензии о нераспространение программного продукта. А там хоть декомпилируй, хоть заново собирай все одно - будет голый мидлет. А вообще практика показывает что лучше мидлет делать бесплатным, а сервис который он предоставляет платным.

Автор: kapi 19.3.2007, 17:45
Может я действительно несовсем понял. Смотри : допустим  я один раз заплачу за твой мидлет но скачаю его не телефоном , а на комп wap браузером. И смогу его распространять бесплатно. . . . Я єто имел ввиду.  

Автор: javastic 20.3.2007, 12:08
Распространяй пожалуйста, но на компе будет "голая" версия мидлета. Например без текста и графики, который скачивается и хранится в rms при активации. Ты можешь только передать другим людям свои данные для регистрации e-mail и ключ который ты получил во время покупки. Но многократная и частая активация будет рассмотрена сервером как то что ты передал свою копию 3-м лицам и заблокирует твою учётную запись (об этом нужно сообщать в лицензии).

Автор: kapi 20.3.2007, 18:30
javastic, графику в rms? smile  а памяти где возьмеш столько ?. Вообще интиресный подход smile 

Автор: nerezus 20.3.2007, 18:32
На сименсе, к примеру, легко можно будет скопировать эти rms, засунуть в ресурсы и немного подправить прогу, чтобы читала из ресурсов.

Автор: kapi 20.3.2007, 18:34
как по мне, - это не способ, хотя бы из-за ограничений размера RMS

Автор: javastic 21.3.2007, 13:44
nerezus, я сделаю тестовую версию того что я описываю и попрошу тебя потом собрать такой джарик.

Цитата

как по мне, - это не способ, хотя бы из-за ограничений размера RMS 


Вообще-то не такая уж и большая графика идёт для мобилы, да и вообще если есть желание засунуть картинку к примеру на пару мегов, нужно понимать что это будет для ограниченного числа телефонов.


Автор: W0LF 22.3.2007, 14:49
А разве есть ограничение на РМС(ну кроме физической памяти телефона)?

Автор: kapi 22.3.2007, 19:13
W0LF,  да, есть. 

Автор: _LEM_ 23.3.2007, 09:22
Цитата(javastic @  19.2.2007,  11:16 Найти цитируемый пост)
Я использую очень удобный и надежно защищенный способ. При первом запуске мидлет предлагает соединиться с сервером куда передается e-mail указанный при регистрации. Сервер отвечает что на указанный e-mail отослан ключ активации. Пользователь проверяет почту и вводит ключ в мидлет, затем повторно соединяется с сервером и сервер проверяет пару ключа и e-mail на валидность, после этого передает мидлету недостающие метаданные (картинки, музыку, тексты пунктов меню и пр. информацию без которой мидлет не будет нормально работать), затем на сервере в базе проставляется признак того что инсталяция прошла успешно.
Цитата(mr.DUDA @  18.2.2007,  15:44 Найти цитируемый пост)
А потом один умный юзерь выкладывает скачанный мидлет на варезном сайте вместе с >> 
недостающими метаданными (картинки, музыку, тексты пунктов меню и пр. информацию без которой мидлет не будет нормально работать) гг
Чем он удобный?, не хуже других тока ресурсоёмкий. 

Автор: javastic 26.3.2007, 10:09
_LEM_, да тем удобен, что не несет рабочую информацию с собой это первое, а второе это то что можно легко отследить несанкционированное использование т.к. данные хранятся на серваке.
Можешь предложить свою версию?

Автор: valerchi 3.7.2008, 19:04
Цитата(kapi @  15.3.2007,  19:15 Найти цитируемый пост)
любая защита на J2me - до одного места.   Декомпилят , получат исходник и  всей защите Вашей пипец . . .

А если программа обработана обфускатором?

Автор: eugine_s 3.7.2008, 20:34
Цитата(valerchi @  3.7.2008,  19:04 Найти цитируемый пост)
А если программа обработана обфускатором? 


То тоже самое, только чуть больше времени потратиться.

Автор: MoZy 18.8.2008, 14:20
Мое имхо: делать софт бесплатным, а платными услуги сервера.
Мало кому симпатично платить за картинку или серию скриншотов.
Вжно пощупать! Восхититься, влюбиться (или нет) и оплатить (или нет).
Очень честно зато. И не вызовет отвращения, если вдруг окажется, что это не то, что надо. Ведь можно скачать и другое, потому что бесплатно!

Ну или другой вариант: на многих телефонах, при скачке, jar сразу устанавливается - исходников нету (чисто визуально) и передать не получится.
Сделать оплату через СМС сервис, с опознаванием телефона при попытке скачать...

Автор: Firexel 18.8.2008, 17:05
Еще вариант. Если программа сложная, сделать мануал на сайте. Туда повесить рекламу и чуть-чуть заработать =)
Но это уже дополнительный зароботок. А кроме DRM ничто не защитит мидлет. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)