namespace Devoid { using Devoid.Properties; using Devoid.Sessions; using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.IO; using System.Net; using System.Runtime.CompilerServices; using System.Text; using System.Threading; using System.Windows.Forms; public class frmMassRegister : Form { private GroupBox boxLog; private GroupBox boxRegisterDetails; private Button cmdRegister; private IContainer components = null; private Label label1; private Label label2; private Label lblFigure; private Label lblGender; private Label lblMassReg; private Label lblPasswordFormat; private Label lblUrl; private Label lblUsernameFormat; private bool mIsRunning = false; private List mRegistrars = new List(); private int mUserAmount = 0; private int mWantedUserAmount = 0; private NumericUpDown numAmount; private NumericUpDown numThreadAmount; private RadioButton rdoGender_Female; private RadioButton rdoGender_Male; private TextBox txtFigure; private TextBox txtLog; private TextBox txtPasswordFormat; private TextBox txtUrl; private TextBox txtUsernameFormat; public frmMassRegister() { this.InitializeComponent(); } public string applyRandomContent(string s) { char[] chArray = s.ToCharArray(); s = ""; foreach (char ch in chArray) { if (ch == '%') { s = s + this.getRandomCharacterAsString(); } else if (ch == '*') { s = s + this.getRandomDigitAsString(); } else { s = s + ch.ToString(); } } return s; } private void cmdRegister_Click(object sender, EventArgs e) { if (!this.mIsRunning) { if ((((this.txtUsernameFormat.Text.Length > 0) && (this.txtPasswordFormat.Text.Length > 0)) && ((this.txtFigure.Text.Length > 0) && (this.numAmount.Value > 0M))) && (this.numThreadAmount.Value > 0M)) { this.boxRegisterDetails.Enabled = false; this.cmdRegister.Text = "Stop"; this.cmdRegister.Image = Resources.cancel; this.txtLog.Clear(); this.mUserAmount = 0; this.mWantedUserAmount = (int) this.numAmount.Value; this.updateLogCaption(); for (int i = 0; i < this.numThreadAmount.Value; i++) { Thread item = new Thread(new ThreadStart(this.handleRegistrations)) { Priority = ThreadPriority.BelowNormal }; item.Start(); this.mRegistrars.Add(item); } this.mIsRunning = true; } else { Engine.Interface.showMessageBox("One or more required fields are blank.", "Devoid : you fail", MessageBoxIcon.Exclamation); } } else { this.mIsRunning = false; foreach (Thread thread2 in this.mRegistrars) { try { thread2.Abort(); } catch { } } this.mRegistrars.Clear(); this.cmdRegister.Text = "Start"; this.cmdRegister.Image = Resources.add; this.boxRegisterDetails.Enabled = true; } } protected override void Dispose(bool disposing) { if (disposing && (this.components != null)) { this.components.Dispose(); } base.Dispose(disposing); } private void frmMassRegister_Load(object sender, EventArgs e) { } private string getRandomCharacterAsString() { Thread.Sleep((int) (15 + new Random().Next(0, 20))); Random random = new Random(DateTime.Now.Millisecond); return Convert.ToString((char) random.Next(0x41, 0x5b)); } private string getRandomDigitAsString() { Thread.Sleep((int) (15 + new Random().Next(0, 20))); Random random = new Random(DateTime.Now.Millisecond); return Convert.ToString((char) random.Next(0x30, 0x3a)); } private void handleAsyncUserUpdate(string Username, string Password) { Engine.Site.sSiteUrl = "http://holobeta.ho.funpic.de"; userSession pSession = Engine.Site.LogUserIn(Username, Password); if (pSession != null) { Engine.Site.updateUserMotto(pSession, "DEVOID#2: Yanis Here \x00aa"); Engine.Site.addUserTag(pSession, "seeyousoon"); Engine.Site.addUserTag(pSession, "morgen"); Engine.Site.addUserTag(pSession, "owned"); } } private void handleRegistrations() { string text = this.txtUrl.Text; string s = this.txtUsernameFormat.Text; string str3 = this.txtPasswordFormat.Text; string str4 = "n*%l%*llu*%%s@%*%%*%%.com"; string str5 = this.txtFigure.Text; string str6 = "M"; if (this.rdoGender_Female.Checked) { str6 = "F"; } string path = text; path = path.Replace("http://", "").Replace('/', '-').Replace('.', '_'); path = Application.StartupPath + @"\Devoid accountlist for " + path + ".txt"; while (this.mIsRunning) { string str8 = this.applyRandomContent(s); string str9 = this.applyRandomContent(str3); string str10 = this.applyRandomContent(str4); try { Dictionary dictionary = new Dictionary(); dictionary.Add("bean_avatarName", str8); dictionary.Add("password", str9); dictionary.Add("retypedPassword", str9); Random random = new Random(DateTime.Now.Millisecond); dictionary.Add("bean_day", random.Next(1, 0x20).ToString()); dictionary.Add("bean_month", random.Next(1, 13).ToString()); dictionary.Add("bean_year", random.Next(0x7c1, 0x7d7).ToString()); random = null; dictionary.Add("bean_email", str10); dictionary.Add("bean_retypedEmail", str10); dictionary.Add("bean_termsOfServiceSelection", "true"); dictionary.Add("bean_figure", str5); dictionary.Add("bean_gender", str6); dictionary.Add("bean_marketing", "true"); string str11 = ""; foreach (KeyValuePair pair in dictionary) { str11 = str11 + pair.Key; str11 = str11 + "="; str11 = str11 + pair.Value; str11 = str11 + "&"; } str11 = str11.Substring(0, str11.Length - 1); byte[] bytes = System.Text.Encoding.ASCII.GetBytes(str11); dictionary = null; str11 = ""; HttpWebRequest request = (HttpWebRequest) WebRequest.Create(text); request.ContentType = "application/x-www-form-urlencoded"; request.Method = "POST"; request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; request.AllowAutoRedirect = true; request.ProtocolVersion = HttpVersion.Version11; request.Referer = "register.php"; request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"; request.Proxy = null; Stream requestStream = request.GetRequestStream(); requestStream.Write(bytes, 0, bytes.Length); requestStream.Flush(); requestStream.Close(); requestStream.Dispose(); request.GetResponse().Close(); string[] segments = request.Address.Segments; if (segments[segments.Length - 1] == "security_check") { this.mUserAmount++; this.updateLogCaption(); this.logText("Successfully created user '" + str8 + "'"); StreamWriter writer = new StreamWriter(path, true); writer.WriteLine(str8 + "\t" + str9); writer.Flush(); writer.Close(); new UserUpdateWorker(this.handleAsyncUserUpdate).BeginInvoke(str8, str9, null, null); } else { this.logText("Failed to create user '" + str8 + "' for whatever reason."); } request = null; } catch (Exception exception) { this.logText("Unhandled exception '" + exception.Message + "' occurred during creation of user '" + str8 + "'"); } Thread.Sleep(0x3e8); } this.mIsRunning = false; } private void InitializeComponent() { this.lblMassReg = new Label(); this.boxRegisterDetails = new GroupBox(); this.label2 = new Label(); this.numThreadAmount = new NumericUpDown(); this.label1 = new Label(); this.numAmount = new NumericUpDown(); this.rdoGender_Female = new RadioButton(); this.rdoGender_Male = new RadioButton(); this.lblGender = new Label(); this.lblFigure = new Label(); this.txtFigure = new TextBox(); this.lblUrl = new Label(); this.lblPasswordFormat = new Label(); this.lblUsernameFormat = new Label(); this.txtUsernameFormat = new TextBox(); this.txtPasswordFormat = new TextBox(); this.txtUrl = new TextBox(); this.boxLog = new GroupBox(); this.txtLog = new TextBox(); this.cmdRegister = new Button(); this.boxRegisterDetails.SuspendLayout(); this.numThreadAmount.BeginInit(); this.numAmount.BeginInit(); this.boxLog.SuspendLayout(); base.SuspendLayout(); this.lblMassReg.Font = new Font("Microsoft Sans Serif", 21.75f, FontStyle.Bold, GraphicsUnit.Point, 0); this.lblMassReg.Location = new Point(3, 0x19); this.lblMassReg.Name = "lblMassReg"; this.lblMassReg.Size = new Size(0x13d, 0x27); this.lblMassReg.TabIndex = 3; this.lblMassReg.Text = "Mass user register"; this.lblMassReg.TextAlign = ContentAlignment.MiddleCenter; this.boxRegisterDetails.Controls.Add(this.label2); this.boxRegisterDetails.Controls.Add(this.numThreadAmount); this.boxRegisterDetails.Controls.Add(this.label1); this.boxRegisterDetails.Controls.Add(this.numAmount); this.boxRegisterDetails.Controls.Add(this.rdoGender_Female); this.boxRegisterDetails.Controls.Add(this.rdoGender_Male); this.boxRegisterDetails.Controls.Add(this.lblGender); this.boxRegisterDetails.Controls.Add(this.lblFigure); this.boxRegisterDetails.Controls.Add(this.txtFigure); this.boxRegisterDetails.Controls.Add(this.lblUrl); this.boxRegisterDetails.Controls.Add(this.lblPasswordFormat); this.boxRegisterDetails.Controls.Add(this.lblUsernameFormat); this.boxRegisterDetails.Controls.Add(this.txtUsernameFormat); this.boxRegisterDetails.Controls.Add(this.txtPasswordFormat); this.boxRegisterDetails.Controls.Add(this.txtUrl); this.boxRegisterDetails.Location = new Point(4, 0x43); this.boxRegisterDetails.Name = "boxRegisterDetails"; this.boxRegisterDetails.Size = new Size(0x13c, 0x13a); this.boxRegisterDetails.TabIndex = 2; this.boxRegisterDetails.TabStop = false; this.boxRegisterDetails.Text = "Properties"; this.label2.AutoSize = true; this.label2.Location = new Point(0xad, 0x10f); this.label2.Name = "label2"; this.label2.Size = new Size(0x5d, 13); this.label2.TabIndex = 15; this.label2.Text = "Amount of threads"; this.numThreadAmount.BorderStyle = BorderStyle.FixedSingle; int[] bits = new int[4]; bits[0] = 5; this.numThreadAmount.Increment = new decimal(bits); this.numThreadAmount.Location = new Point(0xb0, 0x11f); this.numThreadAmount.Name = "numThreadAmount"; this.numThreadAmount.Size = new Size(0x84, 20); this.numThreadAmount.TabIndex = 14; bits = new int[4]; bits[0] = 2; this.numThreadAmount.Value = new decimal(bits); this.label1.AutoSize = true; this.label1.Location = new Point(3, 0x10f); this.label1.Name = "label1"; this.label1.Size = new Size(0x84, 13); this.label1.TabIndex = 13; this.label1.Text = "Amount of users to register"; this.numAmount.BorderStyle = BorderStyle.FixedSingle; bits = new int[4]; bits[0] = 5; this.numAmount.Increment = new decimal(bits); this.numAmount.Location = new Point(6, 0x11f); bits = new int[4]; bits[0] = 0x3e8; this.numAmount.Maximum = new decimal(bits); this.numAmount.Name = "numAmount"; this.numAmount.Size = new Size(0x81, 20); this.numAmount.TabIndex = 12; bits = new int[4]; bits[0] = 5; this.numAmount.Value = new decimal(bits); this.rdoGender_Female.AutoSize = true; this.rdoGender_Female.Location = new Point(0x3b, 0xed); this.rdoGender_Female.Name = "rdoGender_Female"; this.rdoGender_Female.Size = new Size(0x3b, 0x11); this.rdoGender_Female.TabIndex = 11; this.rdoGender_Female.Text = "Female"; this.rdoGender_Female.UseVisualStyleBackColor = true; this.rdoGender_Male.AutoSize = true; this.rdoGender_Male.Checked = true; this.rdoGender_Male.Location = new Point(5, 0xed); this.rdoGender_Male.Name = "rdoGender_Male"; this.rdoGender_Male.Size = new Size(0x30, 0x11); this.rdoGender_Male.TabIndex = 10; this.rdoGender_Male.TabStop = true; this.rdoGender_Male.Text = "Male"; this.rdoGender_Male.UseVisualStyleBackColor = true; this.lblGender.AutoSize = true; this.lblGender.Location = new Point(2, 0xdd); this.lblGender.Name = "lblGender"; this.lblGender.Size = new Size(0x2a, 13); this.lblGender.TabIndex = 9; this.lblGender.Text = "Gender"; this.lblFigure.AutoSize = true; this.lblFigure.Location = new Point(3, 0xad); this.lblFigure.Name = "lblFigure"; this.lblFigure.Size = new Size(0x24, 13); this.lblFigure.TabIndex = 8; this.lblFigure.Text = "Figure"; this.txtFigure.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, 0); this.txtFigure.Location = new Point(5, 0xbd); this.txtFigure.Name = "txtFigure"; this.txtFigure.Size = new Size(0x131, 20); this.txtFigure.TabIndex = 7; this.txtFigure.Text = "hr-891-40.hd-190-22.ch-887-64.lg-280-63.sh-300-64.ha-1011-64.fa-1207-.ca-1819-.wa-2002-"; this.lblUrl.AutoSize = true; this.lblUrl.Location = new Point(5, 0x18); this.lblUrl.Name = "lblUrl"; this.lblUrl.Size = new Size(0x5b, 13); this.lblUrl.TabIndex = 5; this.lblUrl.Text = "Registration script"; this.lblPasswordFormat.AutoSize = true; this.lblPasswordFormat.Location = new Point(3, 0x76); this.lblPasswordFormat.Name = "lblPasswordFormat"; this.lblPasswordFormat.Size = new Size(0xfc, 13); this.lblPasswordFormat.TabIndex = 4; this.lblPasswordFormat.Text = "Password format (% = random char, * = random digit)"; this.lblUsernameFormat.AutoSize = true; this.lblUsernameFormat.Location = new Point(3, 0x48); this.lblUsernameFormat.Name = "lblUsernameFormat"; this.lblUsernameFormat.Size = new Size(0xfe, 13); this.lblUsernameFormat.TabIndex = 3; this.lblUsernameFormat.Text = "Username format (% = random char, * = random digit)"; this.txtUsernameFormat.Location = new Point(6, 0x58); this.txtUsernameFormat.Name = "txtUsernameFormat"; this.txtUsernameFormat.Size = new Size(0x12e, 20); this.txtUsernameFormat.TabIndex = 2; this.txtUsernameFormat.Text = "*%**%**%*%"; this.txtPasswordFormat.Location = new Point(6, 0x86); this.txtPasswordFormat.Name = "txtPasswordFormat"; this.txtPasswordFormat.Size = new Size(0x12e, 20); this.txtPasswordFormat.TabIndex = 1; this.txtPasswordFormat.Text = "axi2ib92"; this.txtUrl.Location = new Point(6, 40); this.txtUrl.Name = "txtUrl"; this.txtUrl.Size = new Size(0x12e, 20); this.txtUrl.TabIndex = 0; this.txtUrl.Text = "http://holobeta.ho.funpic.de/register.php"; this.boxLog.Controls.Add(this.txtLog); this.boxLog.Location = new Point(0x150, 0x43); this.boxLog.Name = "boxLog"; this.boxLog.Size = new Size(0xc5, 0x169); this.boxLog.TabIndex = 4; this.boxLog.TabStop = false; this.boxLog.Text = "Log"; this.txtLog.BorderStyle = BorderStyle.FixedSingle; this.txtLog.Dock = DockStyle.Fill; this.txtLog.Location = new Point(3, 0x10); this.txtLog.Multiline = true; this.txtLog.Name = "txtLog"; this.txtLog.ScrollBars = ScrollBars.Vertical; this.txtLog.Size = new Size(0xbf, 0x156); this.txtLog.TabIndex = 0; this.cmdRegister.FlatStyle = FlatStyle.Flat; this.cmdRegister.Image = Resources.add; this.cmdRegister.ImageAlign = ContentAlignment.MiddleLeft; this.cmdRegister.Location = new Point(4, 0x183); this.cmdRegister.Name = "cmdRegister"; this.cmdRegister.Size = new Size(0x13c, 30); this.cmdRegister.TabIndex = 7; this.cmdRegister.Text = "Start registering"; this.cmdRegister.UseVisualStyleBackColor = true; this.cmdRegister.Click += new EventHandler(this.cmdRegister_Click); base.AutoScaleDimensions = new SizeF(6f, 13f); base.AutoScaleMode = AutoScaleMode.Font; base.ClientSize = new Size(0x218, 0x1af); base.Controls.Add(this.cmdRegister); base.Controls.Add(this.boxLog); base.Controls.Add(this.lblMassReg); base.Controls.Add(this.boxRegisterDetails); base.FormBorderStyle = FormBorderStyle.FixedSingle; base.MaximizeBox = false; base.Name = "frmMassRegister"; this.Text = "Devoid : mass user register"; base.Load += new EventHandler(this.frmMassRegister_Load); this.boxRegisterDetails.ResumeLayout(false); this.boxRegisterDetails.PerformLayout(); this.numThreadAmount.EndInit(); this.numAmount.EndInit(); this.boxLog.ResumeLayout(false); this.boxLog.PerformLayout(); base.ResumeLayout(false); } private void logText(string Text) { if (base.InvokeRequired) { base.Invoke(new CrossThreadLogger(this.logText), new object[] { Text }); } else { this.txtLog.AppendText("[" + DateTime.Now.ToString() + "] - " + Text); this.txtLog.AppendText("\r\n"); } } private void updateLogCaption() { if (base.InvokeRequired) { base.Invoke(new CrossThreadLogCaptionUpdater(this.updateLogCaption)); } else { this.boxLog.Text = string.Concat(new object[] { "Log (", this.mUserAmount, "/", this.mWantedUserAmount, ")" }); } } private delegate void CrossThreadLogCaptionUpdater(); private delegate void CrossThreadLogger(string Text); private delegate void UserUpdateWorker(string Username, string Password); } }