![]() |
Нужна помощь!
Недавно попробовал писать простие но полезные програмки на Мидлет Паскале, и у меня возник вопрос о защите програм
помогите, пришлите пример, фрагмент кода програмы какая бы проверяла введённый "код активации". И как зделать чтобы передача "рабочей" програмы приводила к сбросу параметров, т.е. код активации нужно вводить ещё раз???? ПРЕЖДЕВРЕМЕННОЕ СПАСИБО |
Ответ: Нужна помощь!
Привет!
ну дело это творческое. Способов много разных. И придуманное тобой будет возможно даже лучше шаблонов. Но некоторые примеры далее. Попробуй при запуске проги опросить возможности телефона, наличие той или иной периферии. Потом из этих данных можешь математическими или логическими функциями получить какое-то число. Это число и будет некой контрольной суммой или иди дальше и сделай хэш-функцию. Это число должно быть уникальным для конкретного телефона. Чтобы следующий раз твоя программа уже не спрашивала кода активации, то его надо записать на диск телефона. При первом запуске программа не найдет этот файл поэтому запросит код активации. Когда сформирует число или хэш и запишет его на диск, то при следующем запуске снова опросит периферию, сформирует хэш и сравнит его с записанным на диск ранее. Если совпало, то запускается. Если нет, то GoodBye. При переносе на другой телефон как мидлета так и хэш файла, данные проверки периферии не сойдутся и снова GoodBye. Для формирования этого контрольного числа если сможешь получить что-либо с серийным номером, то проще. Иначе можно привязаться к размеру флэшки, наличия BT, COM портов и прочей периферии. Собственно если надо подробнее, то пиши. Это один из способов. |
Ответ: Нужна помощь!
Приблезительно мысль понял, но как это зделать?
|
Ответ: Нужна помощь!
самый надежный способ - проверка ключа сервером.
короч делаешь базу ключей на сервере (длина 32 знака, кол-во 1000 штук - ломать такое можно вечно). юзер вводит в текстбокс ключ и отсылает скрипту который проверяет на достоверность, после чего телефон записывает свою активацию в рмс (подделать трудно - никто возиться не станет) и ключ с серва удаляется. 100% безопасности ты не добьешься никак, потому что прогу можно декомпильнуть и всю проверку удалить (опытные даже черех НЕХ могут без декомпиляции). для этого советую вставлять побольше массивов в проверку и работу со строками (мешает нормально декомпилиться) |
Ответ: Нужна помощь!
Цитата:
|
Ответ: Нужна помощь!
Как сделать...
для этого надо найти на этом форуме про то как посмотреть возможности конкретного телефона. Не помню как называется, но есть. Потом попробовать библиотеку работы с файлами. Поищи что нибудь по определению серийного номера телефона или СИМ карты. Допустим ты хочешь привязать свою программу к 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 портов, размер флэшки и прочее. Но эти данные не должны меняться в телефоне несмотря ни на что. А то программа перестанет работать. Удачи! |
Ответ: Нужна помощь!
я думаю не стоит ещё генерацию сюда приписывать, код буду знать только я, придумаю несколько, і вводить сам буду, мне только нада придумать, как приввязать код к телефону телефону??
|
Ответ: Нужна помощь!
в хелпе читай хранилище записей
|
Ответ: Нужна помощь!
как узнать IMEI для нокии, перепробовал варианти какие расматривались на форуме, неработают(((
|
Ответ: Нужна помощь!
http://forum.boolean.name/showthread.php?t=7690
попробуй поставь на телефон и что он выдаст. Хотя наверняка ты уже это видел... Не могу помочь, т.к. поставил когда то какую то мидлетину и она выдала возможности. за ненадобностью я успешно забыл что это было. |
Ответ: Нужна помощь!
что то похоже я уже искал http://forum.boolean.name/showthread.php?t=12068
|
Ответ: Нужна помощь!
В том то и проблема, что IMEI читается не на всех телефонах, но вот онлайн регистрация и хранение кода на удаленном сервере довольно надежный способ защиты.
|
Ответ: Нужна помощь!
Это хорошо когда есть сервер и интернету не жалко и он подключен и прочее. Поэтому раз нет IMEI, то можно взять кучу других параметров...
|
Ответ: Нужна помощь!
Цитата:
|
Ответ: Нужна помощь!
к чему ещё можно привязать програму???
|
Часовой пояс GMT +4, время: 19:21. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot