Загрузка...

Binding to iron. C#

Thread in C# created by Alex_inactive Mar 18, 2013. 3503 views

  1. Alex_inactive
    Alex_inactive Topic starter Mar 18, 2013 14 Mar 18, 2013
    Привязка к железу. C#.






    Привет, сегодня решил написать довольно таки "hard" гайд по привязке к железу, кому то он покажется сложным, кому-то нет - не важно! Принцип прост - при запуске генерируется уникальный ключ, который после высвечивается в текст боксе, юзер отправляет вам ключ, вы добавляете в базу его Ник(логин) и сам ключ. Тобишь кроме него никто не сможет зайти по этому логину.

    Что нам потребуется:






    1. Компилятор C#, я советую Microsoft Visual Studio 2008/2010


    2. Хостинг с поддержкой php, для начала советую h u t 2 . r u (удалить пробелы)


    3. Базовые знание по СиШарпу


    4. Точные действия по гайду


    5. И как всегда руки (желательно прямые) и конечно серое вещство.


    6. Добавить следующие библеотеки:



    Code
    using System.IO;

    using System.Net;

    using System.Management;


    7. Добавить Management, Кликаем на References(Ссылки) правой кнопкой, Add Reference(Добавить Ссылку), Там выбрать .NET и найти System.Management и нажать ОК.


    [IMG]2. Теперь нам надо сгенерировать SYS-KEY, для этого получим HDD Serial Number где установлена Windows и закпритуем самым обычным способом, который я взял у TBX1n.

    Для этого добавим после:



    Code
    public Autorization() //Имя вашей формы

    {

    InitializeComponent();

    }
    Следующее:



    Code
    private string Crypt(string text)

    {

    string rtnStr = string.Empty;

    foreach (char c in text) // Цикл, которым мы и криптуем "текст"

    {

    rtnStr += (char)((int)c ^ 1); //Число можно взять любое.

    }

    return rtnStr; //Возвращаем уже закриптованную строку.

    }
    3. Теперь на эвент: Form_Load, добавим код:



    Code
    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, и воткнём в него код:



    Code
    <?



    ?>
    ТЕПЕРЬ! Каждый раз когда вам надо добавить нового юзера вы должны открыть db.php через FTP и ввести инфо юзера таким образом:



    Code
    <?

    UserName|SYS-KEY

    UserName2|SYS-KEY

    ?>
    И так далее...

    5. Теперь зальём файл login.php на наш хост с таким содержанием:



    Code
    <?php



    $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 то его перенаправит на гугл :D.

    6. Теперь добавим на буттон код:



    Code
    String password = "log=ЛогинКоторыйЛежитВLogin.php&pas=АналогичноПасВLogin.php";

    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 добавляем строку в теги



    Code
    <?

    ?>



    Code
    UserName|SYSKEY
    [/CODE]

    [/color]


    8. Всё, если вы всё правильно сделали, у вас должны было появиться такое окошко:


    [IMG]


    9. Гуглим: DotNetReactor 4.0.0.0 + Crack, качаем, защищаем код проги.





    10. PROFIT!

    Поехали...





    1. Создадим формочку с 2 group box, 1 label, 2 textBox-a, 1 button.
     
  2. Tuborg_inactive
    Tuborg_inactive Sep 24, 2013 Забанен 3 Sep 4, 2013
    Слабоватая Привязка :facepalm:
     
  3. NeonEye_inactive1025
    NeonEye_inactive1025 Sep 24, 2013 Banned 496 Jun 1, 2013
    Ну хоть что то, верно? Или выложи сам какую нибудь привязку, которая оказалась бы не слабой.
     
  4. cR0NuS
    cR0NuS May 3, 2016 Banned 218 May 3, 2016
    Не знаю как вам,но для новичков топик во:good:
    Всё хорошо объяснил,сам кое что воспринял!
    В общем молодец!
     
Loading...
Top