Почитав тему я понял что тут щитают её так сказать нубской
Но т.к я в шарпе нуб ещё то щитаю что тема очень даже ничего)
Лично я много чего усвоил после прочтения темы автору онромное спасибо)
Почитав тему я понял что тут щитают её так сказать нубской
Но т.к я в шарпе нуб ещё то щитаю что тема очень даже ничего)
Лично я много чего усвоил после прочтения темы автору онромное спасибо)
Ну кто-то тут распинался, что любую привязку через инет можно крякнуть подменой, но никто пока ничего не сделал, да и не сделает. (Ибо те же переводы WebMoney, YandexMoney и т.п. можно было подменять, как угодно)
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
Ну кто-то тут распинался, что любую привязку через инет можно крякнуть подменой, но никто пока ничего не сделал, да и не сделает. (Ибо те же переводы WebMoney, YandexMoney и т.п. можно было подменять, как угодно)
Я сделал - http://zhyk.ru/forum/showthread.php?p=4977282
Правда там совсем другой алгоритм, и написана на делфи... но сути не меняет. Зачем ты пишешь о подмене денег? Нет, если ты можешь в ОФЛАЙН режиме покупать что то - то вопросов нет
Цитата:
Сообщение от Nickitee
Окей, объясню.
Мы шлём на скрипт закриптованный токен и не закриптованный hwid.
Ответ получаем в таком формате:
В коде мы в первую очередь проверяем license=1, далее мы проверяем HWID, чтобы нельзя было зная чужой HWID работать с программой, далее идут CT - текущее время, которое выводит сервер и ET - время окончания взятое с БД, дальше идёт закриптованный токен, он декриптуеся по случайно сгенерированому ключу и сверяется так же с токеном в программе, и в конце всё подписывается RSA-2048 и через паблик ключ проверяется подпись.
печально это все Дата окончания в открытом формате, ее легко подменить. Шлем запрос, получаем токен и тд., далее подменяем даты и отсылаем программе - и вуаля
Может я конечно не прав, но... собрались такие знатоки. Каждый постит "умную" идею взлома данного метода "защиты". Помнится мне автор в конце статьи написал :
Цитата:
Я сделал лишь основу, дальше вы можете модернизировать, как вам захочется
Если у Вас есть идеи лучше - предложите. Напиши статью. Все бросают камни, какая слабая защита и как все перехватывается и подменяется в трафике...
Конечно .Net не может похвастаться nativ'ом, что определенно минус. И любой протектор\обфускатор снимается. Конечно снимается. Вопрос только в уровне человека, который будет этим заниматься. Ведь если захотят - снимут в любом случае. Взламывают софт Microsoft, Adobe, а тут не снимут пакер или не разберут "обфусцированный" код ? Тут важна реализация метода. Лично я для себя вынес некоторые интересные моменты.
Автор старался, написал статью, причем довольно подробно.
Отличная статься на мой взгляд, автору - Большое спасибо.
Последний раз редактировалось ResidentEvil2; 08.10.2013 в 13:00.
печально это все Дата окончания в открытом формате, ее легко подменить. Шлем запрос, получаем токен и тд., далее подменяем даты и отсылаем программе - и вуаля
Я потратил приличное количество времени, чтобы найти все возможные уязвимости в подмене данных.
При измене даты = > должна смениться подпись.
Всё, дальнейшие проверки уже не нужны, ибо тут уже есть ошибка.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
5. Теперь этот проект понадобится только для генерации ключей.
Я так понял, что ключи, сколько не тыкай на батон, будут одни и те же. Подскажите, пожалуйста, как сменить пару?
Вопрос снят. Спасибо, что никто не ответил :-)
Пришлось покопаться... Узнал много полезного.
Дабы сменить пару ключей, нужно изменить имя ключа в "CONTAINER_NAME".
Последний раз редактировалось Zizipuza; 20.10.2013 в 14:44.
Причина: Сам нашел ответ
Я так понял, что ключи, сколько не тыкай на батон, будут одни и те же. Подскажите, пожалуйста, как сменить пару?
Вопрос снят. Спасибо, что никто не ответил :-)
Пришлось покопаться... Узнал много полезного.
Дабы сменить пару ключей, нужно изменить имя ключа в "CONTAINER_NAME".
Странно, я вызвал несколько раз функцию генерации ключей, и они всегда разные были.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
1) Зачем использовать статик CspParameters, если ключи всегда должны быть разными?
Код:
RSACryptoServiceProvider RsaKey = new RSACryptoServiceProvider(2048);
string publickey = RsaKey.ToXmlString(false); //получим открытый ключ
string privatekey = RsaKey.ToXmlString(true); //получим закрытый ключ
2) Все очень плохо в плане кодировок, где-то ASCII, где-то Unicode, а что делать, если на сервере установлен UTF-8 и собственно скрипты будут именно в UTF-8 и нужно подписать русский текст? Не проще ли перевести все в UTF-8?
3) Непонятно что за соль и откуда она взялась или ее можно хоть рандомно генерировать? Если так, то какое число символов? Ограничения на кодировки и символы?
а мне так ни кто и не помог у мя получается что то типо ошибки соединения с бд
Что-то типа? Это как?
Конкретный код ошибки и описание лучше бы приложили и вообще, если все настроено правильно, то никаких ошибок не возникает, особенно с БД
Что-то типа? Это как?
Конкретный код ошибки и описание лучше бы приложили и вообще, если все настроено правильно, то никаких ошибок не возникает, особенно с БД
вроде всё правильно сделал. Как я понял это толь ошибка коннекта с бд или с чекером оно мне кидает такое [Ссылки могут видеть только зарегистрированные пользователи. ]
вроде всё правильно сделал. Как я понял это толь ошибка коннекта с бд или с чекером оно мне кидает такое [Ссылки могут видеть только зарегистрированные пользователи. ]
Брякай exception, нету другого выхода.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.