Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 28.03.2010, 22:30   #1
Nikopal
Оператор ЭВМ
 
Регистрация: 28.03.2010
Сообщений: 34
Написано одно полезное сообщение
Нужна помощь!

Недавно попробовал писать простие но полезные програмки на Мидлет Паскале, и у меня возник вопрос о защите програм
помогите, пришлите пример, фрагмент кода програмы какая бы проверяла введённый "код активации".
И как зделать чтобы передача "рабочей" програмы приводила к сбросу параметров, т.е. код активации нужно вводить ещё раз????
ПРЕЖДЕВРЕМЕННОЕ СПАСИБО

Последний раз редактировалось Nikopal, 29.03.2010 в 00:31.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (29.07.2010)
Старый 29.03.2010, 09:54   #2
Roman_V
Оператор ЭВМ
 
Регистрация: 24.02.2010
Сообщений: 29
Написано одно полезное сообщение
Ответ: Нужна помощь!

Привет!
ну дело это творческое. Способов много разных. И придуманное тобой будет возможно даже лучше шаблонов. Но некоторые примеры далее.
Попробуй при запуске проги опросить возможности телефона, наличие той или иной периферии. Потом из этих данных можешь математическими или логическими функциями получить какое-то число. Это число и будет некой контрольной суммой или иди дальше и сделай хэш-функцию. Это число должно быть уникальным для конкретного телефона. Чтобы следующий раз твоя программа уже не спрашивала кода активации, то его надо записать на диск телефона. При первом запуске программа не найдет этот файл поэтому запросит код активации. Когда сформирует число или хэш и запишет его на диск, то при следующем запуске снова опросит периферию, сформирует хэш и сравнит его с записанным на диск ранее. Если совпало, то запускается. Если нет, то GoodBye. При переносе на другой телефон как мидлета так и хэш файла, данные проверки периферии не сойдутся и снова GoodBye.
Для формирования этого контрольного числа если сможешь получить что-либо с серийным номером, то проще. Иначе можно привязаться к размеру флэшки, наличия BT, COM портов и прочей периферии. Собственно если надо подробнее, то пиши.
Это один из способов.
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 11:25   #3
Nikopal
Оператор ЭВМ
 
Регистрация: 28.03.2010
Сообщений: 34
Написано одно полезное сообщение
Ответ: Нужна помощь!

Приблезительно мысль понял, но как это зделать?
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 12:03   #4
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Нужна помощь!

самый надежный способ - проверка ключа сервером.

короч делаешь базу ключей на сервере (длина 32 знака, кол-во 1000 штук - ломать такое можно вечно).
юзер вводит в текстбокс ключ и отсылает скрипту который проверяет на достоверность, после чего телефон записывает свою активацию в рмс (подделать трудно - никто возиться не станет) и ключ с серва удаляется.

100% безопасности ты не добьешься никак, потому что прогу можно декомпильнуть и всю проверку удалить (опытные даже черех НЕХ могут без декомпиляции). для этого советую вставлять побольше массивов в проверку и работу со строками (мешает нормально декомпилиться)
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 12:12   #5
Nikopal
Оператор ЭВМ
 
Регистрация: 28.03.2010
Сообщений: 34
Написано одно полезное сообщение
Ответ: Нужна помощь!

Сообщение от cherepets Посмотреть сообщение
телефон записывает свою активацию в рмс
как єто зделать???
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 12:26   #6
Roman_V
Оператор ЭВМ
 
Регистрация: 24.02.2010
Сообщений: 29
Написано одно полезное сообщение
Ответ: Нужна помощь!

Как сделать...
для этого надо найти на этом форуме про то как посмотреть возможности конкретного телефона. Не помню как называется, но есть. Потом попробовать библиотеку работы с файлами. Поищи что нибудь по определению серийного номера телефона или СИМ карты. Допустим ты хочешь привязать свою программу к IMEI телефона. Тогда при запуске программы ты пытаешься найти на диске файл по пути с:\mydata\key.bin (ну это как пример). Если файла нет, то очевидно программа твоя запускается первый раз и в этом случае программа запросит код.
Немного про коды... Итак программа может выдать некий код, и запросит ответный. Тот код который выдала программа пользователь должен прислать тебе и ты сгенеруруешь ответный и вышлешь пользователю. Он его введет в программе и программа легально запустится. Это если код будет каждый раз разный. Если же ты хочешь приязывать к одному коду все копии программы, то выводить на экран не надо. Только поле для запроса.
Так вот самый простой случай когда при первом запуске программа выводи на экран IMEI телефона и просит ввести ответный. допустим IMEI 12345678. Я присылаю этот код тебе. Ты должен сгенерировать ответный код. Как ты это делаешь это твое творчество. Но например ты попарно сделаешь исключающее ИЛИ (XOR). То есть
a=1 xor 2
b=3 xor 4
c=5 xor 6
d=7 xor 8
тогда ответный код что ты мне пришлешь будет равен: abcd, а именно если проксоришь примеры выше, то 373F
Я ввожу 373F в программу и она у себя проделывает с IMEI своего телефона тоже самое. И получает эти числа. Если они совпадают, то я получил легальный код и программа может работать.
Теперь необходимо записать в с:\mydata\key.bin какие-то идентификационные данные. Что это за данные решать опять же тебе. Но к примеру мы запишем в него тот же IMEI, но не в чистом виде, а в измененном. Допустим по следующей формуле:
abcdefgh
где a-h это цифры IMEI телефона проксорены с обратной записью IMEI
Пример: IMEI телефона как и раньше равен 12345678. Тогда
a=1 xor 8 =9
b=2 xor 7 =5
c=3 xor 6 =5
d=4 xor 5 =1
e=5 xor 4 =1
f=6 xor 3 =5
g=7 xor 2 =5
h=8 xor 1 =9
То что запишем в файл с:\mydata\key.bin будет содержать: 95511559

При следующем запуске твоя программа посмотрит файл на с:\mydata\key.bin и сделает вычисления своего IMEI. Если результаты сойдутся, то значит программа легально уставнолена. Если же легальную программу перенесли на другой телефон то расчеты IMEI не сойдутся с тем что в файле. И программа не запустится, а выведет сообщение что КОСЯК!

Вообще на основе этого можно вычислять данные по любым твоим формулам. XOR это простейший пример. Можно брать добавлять к тому же IMEI кол-во COM портов, размер флэшки и прочее. Но эти данные не должны меняться в телефоне несмотря ни на что. А то программа перестанет работать.
Удачи!
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 13:10   #7
Nikopal
Оператор ЭВМ
 
Регистрация: 28.03.2010
Сообщений: 34
Написано одно полезное сообщение
Ответ: Нужна помощь!

я думаю не стоит ещё генерацию сюда приписывать, код буду знать только я, придумаю несколько, і вводить сам буду, мне только нада придумать, как приввязать код к телефону телефону??
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 13:19   #8
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Нужна помощь!

в хелпе читай хранилище записей
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 19:51   #9
Nikopal
Оператор ЭВМ
 
Регистрация: 28.03.2010
Сообщений: 34
Написано одно полезное сообщение
Ответ: Нужна помощь!

как узнать IMEI для нокии, перепробовал варианти какие расматривались на форуме, неработают(((
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 20:38   #10
Roman_V
Оператор ЭВМ
 
Регистрация: 24.02.2010
Сообщений: 29
Написано одно полезное сообщение
Ответ: Нужна помощь!

http://forum.boolean.name/showthread.php?t=7690

попробуй поставь на телефон и что он выдаст. Хотя наверняка ты уже это видел... Не могу помочь, т.к. поставил когда то какую то мидлетину и она выдала возможности. за ненадобностью я успешно забыл что это было.
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 20:48   #11
LIDERSERVIS
Оператор ЭВМ
 
Регистрация: 20.10.2009
Сообщений: 49
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Нужна помощь!

что то похоже я уже искал http://forum.boolean.name/showthread.php?t=12068
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 20:53   #12
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Нужна помощь!

В том то и проблема, что IMEI читается не на всех телефонах, но вот онлайн регистрация и хранение кода на удаленном сервере довольно надежный способ защиты.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (30.07.2010)
Старый 29.03.2010, 20:59   #13
Roman_V
Оператор ЭВМ
 
Регистрация: 24.02.2010
Сообщений: 29
Написано одно полезное сообщение
Ответ: Нужна помощь!

Это хорошо когда есть сервер и интернету не жалко и он подключен и прочее. Поэтому раз нет IMEI, то можно взять кучу других параметров...
(Offline)
 
Ответить с цитированием
Старый 29.03.2010, 21:44   #14
GRAY_WOLF
Разработчик
 
Аватар для GRAY_WOLF
 
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений
(для 93 пользователей)
Ответ: Нужна помощь!

Сообщение от Nikopal Посмотреть сообщение
как узнать IMEI для нокии, перепробовал варианти какие расматривались на форуме, неработают(((
На S40 ни как. Возможно поможет только подписание мидлета сертификатом.
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
(Offline)
 
Ответить с цитированием
Старый 30.03.2010, 14:58   #15
Nikopal
Оператор ЭВМ
 
Регистрация: 28.03.2010
Сообщений: 34
Написано одно полезное сообщение
Ответ: Нужна помощь!

к чему ещё можно привязать програму???
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 17:29.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com