-FreeTuT- |VB.NET| Spammer!

03/23/2012 16:00 neils2161#1
Hallo Leute, habe gerade ein bisschen Zeit und wollte euch heute was in VisualBasic beibringen :). Es geht um einen stinknormalen einfachen Spammer.

Inhalt:

1.: Einleitung
2.: Bausteine
3.: Das eigentliche Proggen.
4.: Code Erklärungen
5.: Schlußwort

1.Einleitung:
Jo. Mir ist bewusst, dass der Code übersichtlicher und auch anders vollstatten gehen kann, wie z.B.: mit einem Timer. Wir werden es über ein Integer, SendKeys und einer Do Until Schleife machen ;).



2. Bausteine:
Zum Anfangen brauchen wir folgende Bausteine:

○2 Labels
○1 RichtextBox
○1 Buttons
○1 NummericUpDown
○bei Zusatzfunktionen, ggf. mehr!
Labels für Beschriftungen (Anzahl, Nachricht); Button zum Starten; NummericUpDown für die Anzahl; RichTextBox für die Nachricht.


3. Das eigentliche Proggen:
Jetzt kommen wir zum eigentlichen Teil, dieses Tutorials, dem programmieren.

Am Anfang müssen wir System.Threading importieren, da wir eine kleine Pause mit rein bekommen möchten:
Code:
Imports System.Threading
Danach schreiben wir das in den StartButton:
Code:
        Dim dummy As Integer

        Thread.Sleep("1000")

        Do Until dummy = numAnz.Value
            dummy += 1
            SendKeys.SendWait(DeineTextBox.Text & vbCrLf)


        Loop
        MsgBox("Du hast es wahrscheinlich geschafft, einen Spammer zu proggn.")
Das ist der Hauptteil einen Spammer zu schreiben, man kann natürlich noch Delays (pausen) zwischen dem Senden setzten, dies interessiert uns aber jetzt noch nicht :P.

4. Code-Erklärungen:
Code:
        Dim dummy As Integer
Hier wird unsere Variable als Zahl deklariert.(Integer = Zahl)

Code:
        Thread.Sleep("1000")
Wie die Meisten wahrscheinlich entnehmen können, hier wird das Programm 'eingefriert' für 1000ms = 1Sekunde.

Code:
        Do Until dummy = numAnz.Value
            dummy += 1
            SendKeys.SendWait(txtTxt.Text & vbCrLf & "bla.de" & vbCrLf)


        Loop
        MsgBox("feddich diggah!")
Diesen Teil werden wir Aufteilen:

Code:
        Do Until dummy = numAnz.Value
Das Programm macht die Anweisung solange hintereinander bis unsere Variable Dummy = der Anzahl des NummericUpDown ist.

Code:
            dummy += 1
            SendKeys.SendWait(DeineTextBox.Text & vbCrLf)
        Loop
Dort ist die eigentliche Aufgabe:
- Der Dummy wird plus 1 addiert.
- SendKeys.SendWait sendet den Text aus der RichTextbox, vbCrLf sendet die ENTER-Taste.

Code:
        MsgBox("Du hast es wahrscheinlich geschafft, einen Spammer zu proggn.")
Das ist die MessageBox, wenn Dummy = 10 ist und der Spammer fertig ist.

5. Schlußwort:
In diesem schnellen Tutorial habe ich euch das Thema Spammer näher gebracht. Ich denke, wenn ihr schon fortgeschritten in Vb seit, könnt ihr euren eigenen Spammer mit vielen weiteren Funktionen ausstatten. ;) Mir ist klar, das es auch mit Timern geht, jedoch wollte ich auch mal was anderes zeigen. Für alle die, die jetzt sagen, das das Tutorial mist ist, oder so, brauchen es nicht zu posten, seit froh, dass es wer macht, ich habe auch nicht ewig Zeit!

Ich hoffe ich konnte euch helfen ;):confused::confused:
03/23/2012 20:02 hattabatatta#2
Quote:
'eingefriert'
:facepalm:

zum code:
man merkt, dass du scheinbar nur visual basic kannst, was einem ja das coden sehr leicht macht.
eine variable deklarieren ohne wert zuweisen ist pfui pfui pfui.
bei einer "richtigen" programmiersprache würde nämlich das programm beim start der schleife abschmieren.

und was bringt es, einen code zu "erklären", wenn man nicht mal die forms dahinter hat?
jeder neuling wird sich steine damit auskennen...zumal das ganze "programm" ohnehin recht sinnlos ist.

PS:
Quote:
Danach schreiben wir das in den StartButton
im eventhandler wird kein code geschrieben...da werden methoden aufgerufen. stichwort: schichtentrennung
03/23/2012 22:42 neils2161#3
Quote:
Originally Posted by hattabatatta View Post
:facepalm:

zum code:
man merkt, dass du scheinbar nur visual basic kannst, was einem ja das coden sehr leicht macht.
eine variable deklarieren ohne wert zuweisen ist pfui pfui pfui.
bei einer "richtigen" programmiersprache würde nämlich das programm beim start der schleife abschmieren.

und was bringt es, einen code zu "erklären", wenn man nicht mal die forms dahinter hat?
jeder neuling wird sich steine damit auskennen...zumal das ganze "programm" ohnehin recht sinnlos ist.

PS:

im eventhandler wird kein code geschrieben...da werden methoden aufgerufen. stichwort: schichtentrennung
Kannst du nicht lesen? Ich habe es doch vorher gesagt. Es ist nicht perfekt. LESEN! Und das Programm ist nicht sinnlos, wenn du es sinnlos findest, les es nicht? Wo liegt das Problem?
03/23/2012 23:10 coladose#4
Quote:
Originally Posted by neils2161 View Post
Kannst du nicht lesen? Ich habe es doch vorher gesagt. Es ist nicht perfekt. LESEN! Und das Programm ist nicht sinnlos, wenn du es sinnlos findest, les es nicht? Wo liegt das Problem?
Und genau deswegen sollte man erst dann versuchen anderen etwas beizubringen, wenn man selbst Ahnung von dem hat, was man macht ;)

Du solltest deinen Thread ansehnlicher gestalten. Ist erstens nicht sonderlich übersichtlich und auch einfach nicht schön, da alles viel zu groß ist. :pimp:
03/23/2012 23:30 Al Kappaccino#5
Quote:
eine variable deklarieren ohne wert zuweisen
Nennt man auch initialisieren ;o

Naja, der Code ist wie gesagt unsauber, es wurde kaum etwas sinnvolles erklärt und die Formatierung des Threads ist einfach sehr Augenkrebs fördernt.

Wenn man anderen helfen will, sollte man sich schon etwas Mühe geben und das vermittelte auch selbst beherrschen damit man es korrekt weitergeben kann ;)
03/24/2012 14:23 hattabatatta#6
coladose hat es auf den Punkt gebracht.
Das Tutorial ist sinnlos, weil du offensichtlich nur wenig Ahnung von der Materie hast.

Gehen wir davon aus, dass man ein Anfänger ist...wo würde der sich wohl eher etwas "beibringen" lassen?
A) Von einem, der das gelernt hat und schon jahrelang praktiziert
B) Von einem, der womöglich nur ein paar Internet Tutorials durch hat, und glaubt, dass er programmieren kann?
C) Ich hasse es, wenn neben mir ein Wal explodiert.

Und zu deinem "Kannst du nicht lesen?" Geschwafel.
Sobald du etwas veröffentlichst, musst du damit rechnen, dass es auch negative Kritik dazu gibt. Wenn du das nicht ab kannst, dann darfst du nichts veröffentlichen.
Nur darauf zu hoffen, dass alle dir zujubeln, dich für den besten Programmierer der Welt halten und womöglich noch ein Kind von dir wollen, wirds eben nicht spielen.
Lerne, damit umzugehen.
Vor allem, wenn man das "gute" Tut auch noch unter jenem Argument bestärken will, dass wir doch froh sein sollen, dass du dir die Mühe gemacht, und dir die Zeit genommen hast.
Das wäre, als wenn ich ein Tutorial übers Kinder kriegen schreibe. Theoretisch weiß ich was passiert...aber praktisch werd ichs als Mann nie erleben. Soll ich dann auch sagen, dass mich die Leute bitte nur loben sollen, weil ich mir voll viel Mühe gegeben habe und mir die Zeit genommen habe?
Jede Frau mit Kind würde mein Tutorial wahrscheinlich in der Luft zerfetzen, weil ich als Mann bestimmt keine Ahnung habe, was da abgeht.

PS:
Das Wort lautet übrigens "eingefroren" und nicht "eingefriert"

@JakeFrost77:
Initialisieren wäre es, wenn ein Wert zugewiesen würde. Da er es aber nur bekannt macht (leider erlaubt VB ohne Option Strict On diesen Mist...wobei ich mir nicht mal mehr sicher bin, ob es nicht auch mit Option Strict On erlaubt ist...zu lange schon nix mehr in VB gemacht), is es deklarieren :)
Man kann aber auch zu sehr auf dem i-tüpfelchen herumreiten ;)
03/24/2012 14:32 Zatam#7
Hat sicher jeder Anfänger schon mal gecodet! :)
03/25/2012 23:53 GotDamned#8
Zum einen kann ich nur meinen Vorrednern zustimmen, dass es ziemlich sinnlos ist, dass Tut und zum anderen würde das wenn eher in den Coders Bereich gehören (auch wenn die Daseinsberechtigung dort auch nicht gegeben wäre)