- Сообщения
- 470
- Реакции
- 32
1. Компилятор C#, я советую Microsoft Visual Studio 2015
2. Хостинг с поддержкой php
2. Хостинг с поддержкой php
3. Базовые знание по СиШарпу
4. Точные действия по гайду
5. И как всегда руки (желательно прямые) и конечно серое вещество.
6. Добавить следующие библиотеки:
Код:
using System.IO;[/COLOR][/I][/CENTER]
[I][COLOR=#bfbfbf]
[CENTER]using System.Net;[/CENTER]
[CENTER]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.
Для этого добавим после:
Код:
private string Crypt(string text)[/COLOR][/I][/CENTER][/COLOR][/I][/CENTER]
[I][COLOR=#bfbfbf][CENTER]
[CENTER] { string rtnStr = string.Empty; foreach (char c in text) // Цикл, которым мы и криптуем "текст" { rtnStr += (char)((int)c ^ 1); //Число можно взять любое. } return rtnStr; //Возвращаем уже закриптованную строку. }
3. Теперь на эвент: Form_Load, добавим код:
Код:
try { string drive = Environment.GetFolderPath(Environment.SpecialFolder.System).Substring(0, 1); ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + drive + ":\""); disk.Get(); string diskLetter = (disk["VolumeSerialNumber"].ToString()); string lol1 = (Crypt(diskLetter.ToString())); textBox1.Text = lol1; } catch (Exception) { textBox1.Text = "Error to generate SYS code!"; }
Генерируем ключ и выводим в текстБокс1.
4. Теперь, создадим файл db.php, и воткнём в него код:
Код:
<?[/COLOR][/I][/CENTER][/COLOR][/I][/CENTER]
[I][COLOR=#bfbfbf][CENTER][I][COLOR=#ffffff]
[CENTER]
?>
ТЕПЕРЬ! Каждый раз когда вам надо добавить нового юзера вы должны открыть db.php через FTP и ввести инфо юзера таким образом:
Код:
<?[/COLOR][/I][/CENTER][/COLOR][/I][/CENTER]
[I][COLOR=#bfbfbf][CENTER][I][COLOR=#ffffff]
[CENTER]UserName|SYS-KEY
UserName2|SYS-KEY
?>
И так далее...
5. Теперь зальём файл login.php на наш хост с таким содержанием:
Код:
<?php[/COLOR][/I][/CENTER][/COLOR][/I][/CENTER]
[I][COLOR=#bfbfbf][CENTER][I][COLOR=#ffffff]
[CENTER]
$login = $_POST['log'];
$password = $_POST['pas'];
if($login == 'Вписываем логин' && $password == 'пароль' && !empty($login) && !empty($password))
{ $lines = file('db.php'); foreach($lines as $single_line) echo $single_line . "<br />\n";
}
else
{
$URL="http://www.google.com";
header ("Location: $URL");
}
?>
В поля логин и пароль вписываем значения, при которых юзер при запросе, ответ получт db.php, если юзер прийдёт на login.php без post параметра log,pass то его перенаправит на гугл
6. Теперь добавим на буттон код:
Код:
Код:
String password = "log=ЛогинКоторыйЛежитВLogin.php&pas=АналогичноПасВLogin.php";[/COLOR][/I][/CENTER][/COLOR][/I][/CENTER]
[I][COLOR=#bfbfbf][CENTER][I][COLOR=#ffffff]
[CENTER] HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://сайт.hut2.ru/login.php"); request.UserAgent = "Opera/9.80"; request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; byte[] EncodedPostParams = Encoding.ASCII.GetBytes(password); request.ContentLength = EncodedPostParams.Length; request.GetRequestStream().Write(EncodedPostParams, 0, EncodedPostParams.Length); request.GetRequestStream().Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string html = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("windows-1251")).ReadToEnd(); string[] stringSeparators = new string[] { "\n" }; string[] result = html.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries); string PolucheniiNomer = ""; foreach (string stroka in result) { if (stroka.IndexOf(textBox2.Text) != -1) { string[] NashaStroka = stroka.ToString().Split((Convert.ToChar("|"))); string reLoL0 = (Crypt(NashaStroka[1].ToString())); PolucheniiNomer = reLoL0.ToString(); } } string HoldingAdress = ""; try { string drive = Environment.GetFolderPath(Environment.SpecialFolder.System).Substring(0, 1); ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + drive + ":\""); disk.Get(); string diskLetter = (disk["VolumeSerialNumber"].ToString()); HoldingAdress = diskLetter; } catch (Exception) { MessageBox.Show("Critical error, application automatically exit", "", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } if (PolucheniiNomer == HoldingAdress) { MessageBox.Show("Loging Succefull!"); } else { MessageBox.Show("Loging Fail!"); }
7. Запускаем, получаем SYS-KEY, на фтп в db.php добавляем строку в теги
Код:
<?[/COLOR][/I][/CENTER]
[I][COLOR=#bfbfbf]
[CENTER]?>
Код:
UserName|SYSKEY
8. Накрываем прогу, пользуемся.