Привет, сегодня решил написать довольно таки "hard" гайд по привязке к железу, кому то он покажется сложным, кому-то нет - не важно! Принцип прост - при запуске генерируется уникальный ключ, который после высвечивается в текст боксе, юзер отправляет вам ключ, вы добавляете в базу его Ник(логин) и сам ключ. Тобишь кроме него никто не сможет зайти по этому логину.
Что нам потребуется:
1. Компилятор C#, я советую Microsoft Visual Studio 2008/2010
2. Хостинг с поддержкой php, для начала советую h u t 2 . r u (удалить пробелы)
3. Базовые знание по СиШарпу
4. Точные действия по гайду
5. И как всегда руки (желательно прямые) и конечно серое вещство.
6. Добавить следующие библеотеки:
Код:
using System.IO;
using System.Net;
using System.Management;
7. Добавить Management, Кликаем на References(Ссылки) правой кнопкой, Add Reference(Добавить Ссылку), Там выбрать .NET и найти System.Management и нажать ОК.
Поехали...
1. Создадим формочку с 2 group box, 1 label, 2 textBox-a, 1 button.
[Ссылки могут видеть только зарегистрированные пользователи. ]
2. Теперь нам надо сгенерировать SYS-KEY, для этого получим HDD Serial Number где установлена Windows и закпритуем самым обычным способом, который я взял у TBX1n.
Для этого добавим после:
Код:
public Autorization() //Имя вашей формы
{
InitializeComponent();
}
Следующее:
Код:
private string Crypt(string text)
{
string rtnStr = string.Empty;
foreach (char c in text) // Цикл, которым мы и криптуем "текст"
{
rtnStr += (char)((int)c ^ 1); //Число можно взять любое.
}
return rtnStr; //Возвращаем уже закриптованную строку.
}
В поля логин и пароль вписываем значения, при которых юзер при запросе, ответ получт db.php, если юзер прийдёт на login.php без post параметра log,pass то его перенаправит на гугл .
6. Теперь добавим на буттон код:
7. Запускаем, получаем SYS-KEY, на фтп в db.php добавляем строку в теги
Код:
<?
?>
Код:
UserName|SYSKEY
8. Всё, если вы всё правильно сделали, у вас должны было появиться такое окошко:
[Ссылки могут видеть только зарегистрированные пользователи. ]
9. Гуглим: DotNetReactor 4.0.0.0 + *****, качаем, защищаем код проги.
10. PROFIT!
С вами был Nickitee Права на гайд принадлежат Nickitee By Nickitee for Zhyk.ru
Добавлено через 21 час 58 минут
Если кто-то, чего-то не понял, задавайте вопросы в ацку или в теме.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
Последний раз редактировалось Nickitee; 18.08.2012 в 18:35.
Причина: Добавлено сообщение
Попрошу не писать посты не несущие смысла...
Если кто-то что-то не понял, можно описать это в теме, думаю смогу помочь.
Добавлено через 5 минут
Так же некоторым человеком было описано как сменить серийник диска.
Могу слить свой код на привязку, тем, у кого есть нормальная репутация на форуме.
Привязка идёт к cpu + серийник. Дальше через немного математических вычислений, выводится ключ, вам останется только запаковать от деббага и защитить код программы.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
Последний раз редактировалось Nickitee; 09.05.2011 в 11:31.
Причина: Добавлено сообщение
7. Добавить Management, Кликаем на References(Ссылки) правой кнопкой, Add Reference(Добавить Ссылку), Там выбрать .NET и найти System.Management и нажать ОК.
Сделал свой вариант , на базе этого , юзеры/hardwareid(cpu + bios + base) хранятся в БД MySQL , для верификации на скрипт отсылается логин и сгенерированный hardwareid , скрипт ищет в бд и отсылает обратно ид , или нечего не отсылает логин/ид для отправки шифрую base64 , посмотрим что получится
Ид такого вида - 2F5B-CD47-E86B-8583-D92D-F53A-1B26-5580 .
Да , огромный =)
Сомневаюсь , нужен ли вообще логин *_*
Или отсылать только логин , в ответ придет ид , который сравнится с ид железа .
________________
B a l l i n U n c o n t r o l l a b l y
[Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось Relapsein; 25.05.2011 в 22:56.
Ну, тема эта уже не актуальна, я давно уже юзаю MySQL для хранения ключей, логинов и делаю привязку к серийнику диска где установлена винда, к фулл инфе о мониторе, к серийнику материнской платы, и Cpu id, всё это криптую XOR-ом.
Добавлено через 32 минуты
Цитата:
Сообщение от Relapsein
Сделал свой вариант , на базе этого , юзеры/hardwareid(cpu + bios + base) хранятся в БД MySQL , для верификации на скрипт отсылается логин и сгенерированный hardwareid , скрипт ищет в бд и отсылает обратно ид , или нечего не отсылает логин/ид для отправки шифрую base64 , посмотрим что получится
Ид такого вида - 2F5B-CD47-E86B-8583-D92D-F53A-1B26-5580 .
Да , огромный =)
Сомневаюсь , нужен ли вообще логин *_*
Или отсылать только логин , в ответ придет ид , который сравнится с ид железа .
А зачем шифровать для отправки если ты юзаешь MySQL?
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
Последний раз редактировалось Nickitee; 08.10.2011 в 14:45.
Причина: Добавлено сообщение
ну допустим я к какой нибудь программе привязку эту сделаю, продам ее, он через чарлик словит и будет добавлять в базу акки друзей
ну допустим добавит... кроме лога пасса надо еще собственно "код железа" который он не знает (верней не знает как тот формируется). И на чужой акк не сможет зайти, поскольку не пройдет проверку по железу...
а вот когда нажимаеш войти и форма логина не заполнена выскаквает ошибка приложения, а как сделать, чтоб появлялся MessageBox о том, что надо заполнить форму логина?
А как сделать что бы когда ввёл всё правильно открылась 2 форма.
Если не правильно то прога написало не правильный пас.
А если не чего не вписал, прога бы сказала заполните требуемые поля.
А как сделать что бы когда ввёл всё правильно открылась 2 форма.
Если не правильно то прога написало не правильный пас.
А если не чего не вписал, прога бы сказала заполните требуемые поля.
Все же объяснили выше...
Цитата:
if (textBox1.Text.Length == 0)
{
MessageBox.Show("А, циферки и буковки....");
}
else
{
if (textBox1.Text == "111")
{
Form2 m = new Form2();
m.Show();
}
else
{
MessageBox.Show("Не правильный пороль");
}
}
________________
-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!