2016-04-12 5 views
0

Ich erstelle ein Programm, mit dem Sie eine Textdatei für Benutzernamen und Kennwörter analysieren und dann gegen eine Datenbank ausführen können, um ihren Vornamen, Nachnamen und Abteilungsname zurückzugeben. Ich habe das Programm bekommen, um eine Textdatei Zeile für Zeile zu analysieren und ich habe erstellt und wenn sonst Anweisung zu prüfen, ob diese Zeile "[email]" oder "[password]" enthält. Was ich versuche zu tun ist, wenn die Zeile eines davon enthält, kopiere die gesamte Zeile in eine Zeichenfolge, mit der ich arbeiten kann. Das ist mein Code soweit, was ich zugeben muss, ist nicht der Beste, da ich noch lerne.Stuck versucht Eingabe in Zeichenfolge aus Textdatei

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data.SqlClient; 
using System.Configuration; 
using System.IO; 
using System.Windows.Forms; 

namespace trevorsenior 
{ 
    public partial class Form1 : Form 
    { 
     SqlConnection connection; 
     string connectionString; 
     public Form1() 
     { 
      InitializeComponent(); 
     connectionString = ConfigurationManager.ConnectionStrings["trevorsenior.Properties.Settings.trevordatabaseConnectionString"].ConnectionString; 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 

    } 
    private void parsetextfile() 
    { 
     string filepath = string.Format(textBox1.Text); 
     int count = 0; 
     int sum = 0; 
     foreach (var line in File.ReadAllLines(filepath)) 
     { 
      if (line.Contains("[email]")||line.Contains("[password]")) 
      { 
       string email2="msue0001"; 
       string password2; 
       password2 = "msuepassword"; 
       populateusername(email2, password2); 
       count++; 
      } 
      else 
      { 
       sum++; 
      } 
     } 
     if (sum>0&&count==0) 
     { 
      MessageBox.Show("There are no usernames or passwords in this file"); 
     } 
    } 
    private void populateusername(string email2, string password2) 
    { 
     string usernamein = email2; 
     string passwordin = password2; 
     string query = string.Format("SELECT * FROM [Table] WHERE username='" + usernamein + "' AND password='" + passwordin + "'"); 
     using (connection = new SqlConnection(connectionString)) 
     using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection)) 
     { 
      DataTable userstable = new DataTable(); 
      adapter.Fill(userstable); 
      lister.DisplayMember = "firstname"; 
      lister.ValueMember = "userId"; 
      lister.DataSource = userstable; 
     } 
     using (connection = new SqlConnection(connectionString)) 
     using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection)) 
     { 
      DataTable userstable = new DataTable(); 
      adapter.Fill(userstable); 
      lister2.DisplayMember = "lastname"; 
      lister2.ValueMember = "userId"; 
      lister2.DataSource = userstable; 
     } 
     using (connection = new SqlConnection(connectionString)) 
     using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection)) 
     { 
      DataTable userstable = new DataTable(); 
      adapter.Fill(userstable); 
      lister3.DisplayMember = "deptname"; 
      lister3.ValueMember = "userId"; 
      lister3.DataSource = userstable; 
     } 
    } 

    private void lister_SelectedIndexChanged(object sender, EventArgs e) 
    { 

    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     //populateusername(); 
     parsetextfile(); 
    } 

    private void browse_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog fdlg = new OpenFileDialog(); 
     fdlg.Title = "Open Phishing Textfile"; 
     fdlg.InitialDirectory = @"c:\"; 
     fdlg.Filter = "TXT files| *.txt"; 
     fdlg.FilterIndex = 2; 
     fdlg.RestoreDirectory = true; 
     if (fdlg.ShowDialog() == DialogResult.OK) 
     { 
      textBox1.Text = fdlg.FileName; 
     } 
    } 
} 

Dies ist die Textdatei ive zu analysieren versucht:

Array 
(

[lsd] => AVp4gWh_ 

[display] => 

[enable_profile_selector] => 

[isprivate] => 

[legacy_return] => 1 

[profile_selector_ids] => 

[skip_api_login] => 

[signed_next] => 

[trynum] => 1 

[timezone] => 240 

[lgndim] => eyJ3IjoxMDI0LCJoIjo3NjgsImF3IjoxMDI0LCJhaCI6NzQxLCJjIjoyNH0= 

[lgnrnd] => 170514_OoLu 

[lgnjs] => 1460333318 

[email] => jsmith0001 

[pass] => jpassword 

[persistent] => 

[default_persistent] => 1 

[qsstamp] => W1tbMCwxNiwyOCwzMSw4MSw4OCw5MSw5NiwxMDAsMTUzLDE3MCwxOTAsMTk1LDIxNywyNDIsMjQ3LDI4OCwzMDgsMzE1LDMyNSwzMzUsMzY0LDM4MiwzODQsMzg1LDQxNSw0MzUsNDQ2LDQ2NSw0NzUsNDkzLDUwMSw1MjcsNTM3LDU0Miw1NTgsNTYxLDU3NSw1ODMsNjM0LDY0Myw3MzFdXSwiQVpsSTJqeGJ3Ul9RLXZzSEtYNk5EVE80LVNOdUhMOE1PbzdUeDJ2MWV6THc0dE11Wk5NOFNSMzEtZUJ2dnUya0tlNGpKdm9sVENmV0ZXRUx0YmtKZmlzSHRudUdMd201MFkwNm5oMFplb295OXZBa25JXzJZVnNxZDlZTE5SMUhEeVhtQkJyaXF2VlFaWElTNlVfZ3lwRlVnX2huSFhXWXlFZEQ5YUZabTMxaHg5NDBqOWE1d0d0TTFFQlNLQ0NTM3lYVVlSQl9rTjVLN0ZqOFdRUmxPa3hQazJoMC1mNkpyX0FrdXBSZzB5YmpOQSJd 

) 


Array 
(

[lsd] => AVp4gWh_ 

[display] => 

[enable_profile_selector] => 

[isprivate] => 

[legacy_return] => 1 

[profile_selector_ids] => 

[skip_api_login] => 

[signed_next] => 

[trynum] => 1 

[timezone] => 240 

[lgndim] => eyJ3IjoxMDI0LCJoIjo3NjgsImF3IjoxMDI0LCJhaCI6NzQxLCJjIjoyNH0= 

[lgnrnd] => 170514_OoLu 

[lgnjs] => 1460333337 

[email] => msue0001 

[pass] => mspassword 

[persistent] => 

[default_persistent] => 1 

[qsstamp] => W1tbMCwxNiwyOCwzMSw4MSw4OCw5MSw5NiwxMDAsMTUzLDE3MCwxOTAsMTk1LDIxNywyNDIsMjQ3LDI4OCwzMDgsMzE1LDMyNSwzMzUsMzY0LDM4MiwzODQsMzg1LDQxNSw0MzUsNDQ2LDQ2NSw0NzUsNDkzLDUwMSw1MjcsNTM3LDU0Miw1NTgsNTYxLDU3NSw1ODMsNjM0LDY0Myw3MzFdXSwiQVpsSTJqeGJ3Ul9RLXZzSEtYNk5EVE80LVNOdUhMOE1PbzdUeDJ2MWV6THc0dE11Wk5NOFNSMzEtZUJ2dnUya0tlNGpKdm9sVENmV0ZXRUx0YmtKZmlzSHRudUdMd201MFkwNm5oMFplb295OXZBa25JXzJZVnNxZDlZTE5SMUhEeVhtQkJyaXF2VlFaWElTNlVfZ3lwRlVnX2huSFhXWXlFZEQ5YUZabTMxaHg5NDBqOWE1d0d0TTFFQlNLQ0NTM3lYVVlSQl9rTjVLN0ZqOFdRUmxPa3hQazJoMC1mNkpyX0FrdXBSZzB5YmpOQSJd 

) 

Wer weiß, ob dies getan werden kann? Ich entschuldige mich, wenn ich nicht viel Sinn, ich bin ziemlich neu zu C#

+0

Ich nehme an, dass Ihr Programm nicht funktioniert. Können Sie genauer sagen, welcher Teil nicht funktioniert? – Hendry

+0

Nun, erstens bin ich mir nicht sicher, ob es ein Tippfehler ist oder nicht, aber du verpasst eine schließende geschweifte Klammer auf deiner 'public Form_1' Methode ... – Ben

+0

move' DataTable usersable = new DataTable(); 'zum Klassenumfang . und verschiebe die 3 Zeilen nach 'Fill' in Form load. – bansi

Antwort

0

In der Nähe, wie ich Ihnen sagen kann, haben Sie bereits Ihr Ziel erreicht. File.ReadAllLines gibt ein Array von Strings zurück, eine Zeichenfolge für jede Zeile. Deshalb an dieser Stelle im Code ...

 foreach (var line in File.ReadAllLines(filepath)) 
     { 
      if (line.Contains("[email]") || line.Contains("[password]")) 
      { 
       // ** RIGHT HERE, BABY ** 

line ist genau das, was Sie wollen: eine Zeichenfolge, die die gesamte Zeile aus der Datei für Sie enthält zu „arbeiten mit“.

Verwandte Themen