![]() |
|
|
![]()
|
|
| NiCketT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 10.9.2007 Репутация: нет Всего: нет |
Собственно я написал игрушку. Хочу сделать теперь онлайн статискику (типа лучшие результаты) к этой игре.
Планирую передавать значения рекорда (score) запросом GET на PHP-страничку. Ну тупо открыв окно браузера (через ShellExecute) и ввести в строку адреса что-то типа http://сайт?score=2500&user=Anonim Вопрос. Как зашифровать значение score ведь, если оставить так, юзеру ниче не мешает написать score=10000 :?: P.S. Прога на Делфи ;) |
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
Раскидываете по программе ключ (чтоб при реверсинге его запарились искать). Далее любым алгоритмом вычисляете MAC на строку name+score+случайное_число и отправляете на сервер эту строку и MAC. На сервере проверяете MAC и добавляете присланные значения в вашу табилицу.
|
|||
|
||||
| _Michael |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 23.6.2007 Где: з полонини Репутация: нет Всего: 6 |
Зашифровать количество можно и етот МАС код также можно сгенерить. Но программа-то ведь в юзера и ничто не мешает ему 200 очков в памяти программы изменить на 2000, которые потом будут шифроваться. Есть известная программа ArtMoney например. Да несложно и самому что-то простое навалять для поиска в памяти процесса заданного числа. Толку от шифрования если, мы очки подправим еще до того как они будут шифроваться.
Но конечно юзер тоже разный бывает, не все будут так глубоко копать, хотя с другой стороны ето и не есть очень сложно - просто запустить ArtMoney и все. Так-что смотри сам, но особо извращаться и очень сложное выдумывать я думаю не следует Это сообщение отредактировал(а) _Michael - 26.10.2007, 17:14 -------------------- ...не убивайся ни о чем - все временно, хоть ночь темна но светлым днем беременна... Саади |
|||
|
||||
| NiCketT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 10.9.2007 Репутация: нет Всего: нет |
Сделал через MD5. В PHP есть такая готовая, а на Delphi написал собственную.
Можно ли эту функцию так-же использовать для регистрации самой программы? (password:=MD5(username+key)) Ну пользователь пересылает мне свой юзернейм, я вычисляю его хэш (username+некоторое число) и отсылаю хэш обратно. Он вводит его RegistrationCode и это значение сравнивается с вычисленным в проге. Насколько это надежно? Шивроватся будет вот-эта прога. password:=MD5(username+key) |
|||
|
||||
| NiCketT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 10.9.2007 Репутация: нет Всего: нет |
_Michael
Пробовал я эту прогу, 10 мин пытался поменять score в игре, так ничего не получилось - все время 13-20 переменных. Думаю "взломщику" будет намного проще купить мне бутылку пива, и попросить добавить его ник на страницу с указанием 1000000000 очков |
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
абсолютно не надежо. не правильно подобран механизм. Что мешает пользователю программы cамому вычислить хэш и ввести его в RegistrationCode. Что касается рекорда к игре: тоже неправильно, пользователь точно также может самостоятельно вычислить хэш для сфабрикованных данных. Вам советовали MAC, а не хэш. |
|||
|
||||
| NiCketT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 10.9.2007 Репутация: нет Всего: нет |
Ну там ведь ХЕШ+секретное число. Секретное число знаю только я ЗЫ. Я имелл ввиду что может не каждый то заморачиватся будет. Игра то простенькая (думаю по $9,95 продавать и beerware для наших) |
|||
|
||||
| _Michael |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 23.6.2007 Где: з полонини Репутация: нет Всего: 6 |
Да любая программа если она в руках смышленного парня, и если сам механизм защиты, будь то проверка пароля или кода регистрационного, или серийника, реализован в ней, то сломать его имея умения не составит труда. Но конечно здесь играет роль тот фактор, чтоб копейку рублем не защищать, то-есть поставить такую цену например, чтоб действительно проще было купить программу нежели самому ее ламать.
-------------------- ...не убивайся ни о чем - все временно, хоть ночь темна но светлым днем беременна... Саади |
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Технологии защиты программного обеспечения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |