Здравствуйте.
У меня есть небольшое затруднение в автоматизации регистрации в программе.
Сама авторизация:
Заходит через 1 ReadOnly текстбокс с генерирующимся кодом на основе харда(зашифрованным)
+
2 текстбокс в котором вводится логин.
На сервере в login.php идёт защита логом и пассом, в db.php прописаны данные в виде <?Логин|ключ?>
нужно сделать программу, которая при вводе в текстбокс 1 и 2
будет записывать их в файл db в виде Логин|ключ
Исходный код авторизатора:
C# |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
| using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Management;
namespace Avtorizaci
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private string Crypt(string text)
{
string rtnStr = string.Empty;
foreach (char c in text) // Цикл, которым мы и криптуем "текст"
{
rtnStr += (char)((int)c ^ 5); //Число можно взять любое.
}
return rtnStr; //Возвращаем уже закриптованную строку.
}
private void Form1_Load(object sender, EventArgs e)
{
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!";
}
}
private void button1_Click(object sender, EventArgs e)
{
String password = "log=qwerty&pas=qwertyqwertyqwerty";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.evilteam.net/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!");
}
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
}
} |
|