![]() |
Нужна помощь!
Недавно попробовал писать простие но полезные програмки на Мидлет Паскале, и у меня возник вопрос о защите програм
помогите, пришлите пример, фрагмент кода програмы какая бы проверяла введённый "код активации". И как зделать чтобы передача "рабочей" програмы приводила к сбросу параметров, т.е. код активации нужно вводить ещё раз???? ПРЕЖДЕВРЕМЕННОЕ СПАСИБО |
Ответ: Нужна помощь!
Привет!
ну дело это творческое. Способов много разных. И придуманное тобой будет возможно даже лучше шаблонов. Но некоторые примеры далее. Попробуй при запуске проги опросить возможности телефона, наличие той или иной периферии. Потом из этих данных можешь математическими или логическими функциями получить какое-то число. Это число и будет некой контрольной суммой или иди дальше и сделай хэш-функцию. Это число должно быть уникальным для конкретного телефона. Чтобы следующий раз твоя программа уже не спрашивала кода активации, то его надо записать на диск телефона. При первом запуске программа не найдет этот файл поэтому запросит код активации. Когда сформирует число или хэш и запишет его на диск, то при следующем запуске снова опросит периферию, сформирует хэш и сравнит его с записанным на диск ранее. Если совпало, то запускается. Если нет, то 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, то можно взять кучу других параметров...
|
Ответ: Нужна помощь!
Цитата:
|
Ответ: Нужна помощь!
к чему ещё можно привязать програму???
|
Ответ: Нужна помощь!
Ну к чему угодно. я ж писал. Вот в ветке где ты искал про IMEI написали программу тестирования возможностей телефона. Вот что угодно из того набора хотя бы. Например разрешение экрана, кол-во цветов, кол-во портов, типы проигрываемых файлов, объем памяти, кол-во логических дисков и прочее. Вот эз этих данных как угодно получи какую-то сумму. Она, конечно, не серийный уникальный номер, но все же привязка. А уж если хочется привязки, то либо ищи как найти IMEI или еще какой-то уникательный номер, либо как ребята тебе предлагали с онлайн проверкой...
|
Ответ: Нужна помощь!
так, проехали с имеем,
я создам сервак, и запишу туда коды, но как мне зделать чтобы програма проверяла присудствие того или другого кода, т.е как мне подключитса к интернету? |
Ответ: Нужна помощь!
одд недавно в разделе опен сорс про связь с пхп чет писал, почитай - мож поможет
|
Ответ: Нужна помощь!
Зря сразу отказываешься от идеи ресурсов. Инет, как я писал, есть не всегда. И затраты лишние.
Для доступа к сети есть библиотека binsock. http://www.forum.boolean.name/showthread.php?t=8960 Вообще бы неплохо изучить весь форум, библиотеки. Вопросы сами собой отпадут. Там ребята с примерами все выкладывают. Сокет если надо обращаться не к 80 порту. Иначе другую библиотеку надо. Мне кажется что программа не настолько заслуживает таких защит. Ты взвесь плюсы и минусы. Для тех пользователей кто вообще ноль, то им пофиг какую защиту ты сделаешь, они ее никогда и не будут пытаться взломать. А те кто шарит, то скорее всего ему будет проще написать такую же программу или если лень, то декомпильнуть и посмотреть что и как ты делаешь. В основном всегда хочется быстро, дешево и навсегда, но получается что надо взвешивать затраты прежде чем реализовывать. Удачи! |
Ответ: Нужна помощь!
я понемаю, что з ресурсами попроще, но я не могу ничего подобрать для нокии, я все параметры для гетпроперти перепробовал что виложеные на форуме и ничего не подошло(
|
Ответ: Нужна помощь!
ты вот этот пример ставил на телефон?
http://forum.boolean.name/showthread.php?t=7690 Что нибудь показывает? Если да, то пользуй эту библиотеку. не может быть что она ничего не показывает. |
Ответ: Нужна помощь!
да ставил, показивает, но как это витянуть от туда???
|
Ответ: Нужна помощь!
Цитата:
|
Ответ: Нужна помощь!
у меня опять вопрос по защите с помощью сервера, прочитал статтю одда, возникли проблемы со скриптом, посмотрите или правильно зделано, скрипт должен удалять код который введён с телефона, но как прислать сообщение на телефон, и как записать код в рмс??
PHP код:
|
Ответ: Нужна помощь!
Удалять нужно лучше по ID номеру, а то у некоторых пользователей может быть и одинаковое имя. Тогда и всех тезок удалит тоже. Но если хочешь удалить по имени, то делай так:
PHP код:
PHP код:
|
Ответ: Нужна помощь!
Цитата:
|
Ответ: Нужна помощь!
перечитал много статей по РМС нашол только для Java, а для MP ничего, помогите пожалуйста
|
Ответ: Нужна помощь!
см в проге хелп
|
Ответ: Нужна помощь!
ааа, я та думал...
я не могу понять, как должна работать защита, рмс файл очищаетса при перемещении?? |
Нужна помощь!
Помогите
вот такая фигня, летят метеориты, и в это время спрайты метеоритов меняются создовая эфект кручения. но как сделать чтобы для каждого метеорита был свой набор спрайтов определяемый случайно. Код:
var |
Ответ: Нужна помощь!
дайте плиз FAQ по lib_keys.
|
Ответ: Нужна помощь!
У меня только такое:
Цитата:
|
Ответ: Нужна помощь!
это всем и так известно. а как правильно узнавать потом из каких кодов результат состоит? я делаю так:
сравниваю результат с кодами в порядке убывания. если результат больше - код в массив пишем, а от результата его отнимаем. когда результат станет равен 0, то все коды будут у нас в массиве. |
Ответ: Нужна помощь!
В яве это делается примерно так (цитата из доков):
Код:
// Check user input and update positions if necessary Код:
javax.microedition.lcdui.game.GameCanvas |
Ответ: Нужна помощь!
Вот для тебя пример сделал
PHP код:
|
Ответ: Нужна помощь!
чето у меня библа какя-то косячная чтоли, ошибки сыплются на примере от psih1
брал здесь: http://forum.boolean.name/showthread.php?t=7438 |
Ответ: Нужна помощь!
у меня все робит без проблем
|
Ответ: Нужна помощь!
у меня ни одну функцию не признает
psih1 кинь плиз свою lib_keys |
Ответ: Нужна помощь!
Вложений: 1
Вот либа и пример
|
Ответ: Нужна помощь!
psih1 благодарю теперь рубит :)
только для моего проекта не катит, неприятные глюки от keys.refresh :( |
Ответ: Нужна помощь!
как реализовать графическую форму при нажатии на которую вводится текс в обычной форме showTextBox и при нажатии ок выводится в канавасе
(drawText) |
Ответ: Нужна помощь!
алармы в КАНАВАСЕ наступают!
а в чем проблема то? если в переносах, то lib_text в помощь. если в коммандах, то хелп->туториал->работа с формами |
Ответ: Нужна помощь!
мне теорию я сам сделаю хотябы переход между конвасом в форму и наоборот
|
Часовой пояс GMT +4, время: 16:56. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot