Captcha überpfüfen, Patcher

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von xArva.

    Captcha überpfüfen, Patcher

    Hallo Community,

    Ich habe einen Patcher programmiert, und möchte, dass bevor die eigentliche Patcher/Login Form erscheint, eine Form kommt, in der man in einem Webbrowser einen Captcha eigeben muss, und für das Tool votet.
    Und mein Ziel ist es, dass wenn der Captcha richtig eingegeben wurde, dass die nächste Form erscheint. (Launcher, Patcher)
    Und das soll nur alle 24 Stunden so sein^^
    Nur habe ich keinen blassen Schimmer wie es geht.

    Ich währe euch sehr dankbar, wenn ihr mir Tipps dazu geben könntet, da ich in dem Gebiet sogut wie neu bin. o:

    Lg
    Wenn du reCaptcha benutzt:
    Das Image und den namen des "challange" feldes lassen sich leicht ermitteln. du könntest also auch ganz auf den webbrowser verzichten, dir die daten wie "challange-field" und/oder "vote-session-id" von nem php script abfragen was die daten via json zurück gibt. und dann beim absenden der daten einfach wieder dein php script aufrufen, was, wenn alles richtig verlaufen ist, etwas bestimmtes an dein prog, zb webclient, zurückgibt, worauf du die nächste form anzeigst.

    das alles ist allerdings wiederum ein bisschen mit knobeln verbunden ;)
    Du musst das Event abonnieren und kannst dann die Form instanziieren und anzeigen.

    Sowas:

    VB.NET-Quellcode

    1. Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As DocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    2. Dim frm As New Form2
    3. frm.Show()
    4. End Sub
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    ThuCommix schrieb:

    @Agita: Es wird wohl irgendein Captcha von einer PServer Topliste sein ;) Tippe mal stark auf Metin2.
    Nein^^

    Naja es soll so ablaufen:

    Programm startet, und ein Webbrowser ist zu sehen, wo verlangt wird, dass man einen Captcha eingeben muss. wenn dieser richtig ist, öffnet sich der Patcher usw^^

    Wie gesagt, ich bin ein Anfänger, der nicht sonderlich Plan hat e.e
    Naja, tatsache ist, dass wenn er nur aufs navigieren seines webbrowsers reagiert, man auch irgend nen schmarn ins captcha feld eintragen kann und nicht mal voten brauch. dann einfach absenden und das navigate event wird, trotz fehleingabe, gefeuert

    Agita schrieb:

    Naja, tatsache ist, dass wenn er nur aufs navigieren seines webbrowsers reagiert, man auch irgend nen schmarn ins captcha feld eintragen kann und nicht mal voten brauch. dann einfach absenden und das navigate event wird, trotz fehleingabe, gefeuert
    Man könnte es doch eig. auch so machen, wenn man auf der Voting Seite ist (z.B test.de/Vote123, und der Link verändert wird (test.de/index.php), dass der Patcher dann startet.
    Der Link bleibt immer gleich, nur bei einer Fehlerfreien Eingabe wird die url verändert.
    sag doch einfach um welche voteseite es sich handelt :P dann wissen wir mehr.
    ich denke mal, keiner würde das hier dann als werbung ansehen, da es für die lösung relevant sein könnte...

    ist es denn eine voteseite eines drittanbieters? also einer toplist? besitzt du evtl nen eigenen webspace auf dem du nen php-script laden kannst, das als "vermittler" zwischen dem patcher und der voteseite dienen kann ?
    Hmz, hab nun bei 2 Servern testweise versucht zu voten, aber der spuckt immer nen Fehler aus...
    Aber wenn du denkst, dass sich die url nach erfolgreichem voten ändert, dann wäre es ga nich verkehrt es so zu machen wie du scho gesagt hast,

    also zuerst aufs webbrowser.navigated event reagieren. dann die webbrowser.location überprüfen
    aber ich würde nicht auf "location != ...." überprüfen. denn sonst würde es reichen wenn man einfach wo anders hin navigiert.

    wie sieht denn die url aus, zu der man nach dem voten kommt? wenn in der url irgendwelche ids drinne stehen, kannst die ja einfach mit XXXX ersetzen damit die hier keiner sieht ;)
    ich meinte eigentlich die url, zu der man nach dem voten kommt ;) weil wenn ich versuche testweise zu voten, kommt bei mir ein rotes ausrufezeichen und die seite lädt die selbe url erneut. und ich denke es wäre doch besser die id mit "XXXXX" zuersetzen, damit hier nicht jemand wegen werbung oder so rummeckert :P

    VB.NET-Quellcode

    1. Private voteUrl1 As String = "http://topofgames.com/index.php?do=votes&id=ABCDEFG"
    2. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    3. WebBrowser1.Navigate(voteUrl1)
    4. AddHandler WebBrowser1.Navigated, AddressOf WebBrowser1_Navigated
    5. End Sub
    6. Private Sub WebBrowser1_Navigated(sender As System.Object, e As System.Windows.Forms.WebBrowserNavigatedEventArgs)
    7. If e.Url.Host <> WebBrowser1.Url.Host Then Return
    8. Select Case e.Url.ToString
    9. Case voteUrl1
    10. Exit Select
    11. Case "http://topofgames.com/index.php"
    12. MessageBox.Show("JETZT BROWSER SCHLIESSEN UND PATCHER ANZEIGEN")
    13. Exit Select
    14. Case Else
    15. MessageBox.Show("Bitte wähle entweder JA oder NEIN")
    16. WebBrowser1.Navigate(voteUrl1)
    17. Exit Select
    18. End Select
    19. End Sub


    um einiges verbesserungswürdig, aber es tut was es soll :)

    Agita schrieb:

    VB.NET-Quellcode

    1. Private voteUrl1 As String = "http://topofgames.com/index.php?do=votes&id=ABCDEFG"
    2. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    3. WebBrowser1.Navigate(voteUrl1)
    4. AddHandler WebBrowser1.Navigated, AddressOf WebBrowser1_Navigated
    5. End Sub
    6. Private Sub WebBrowser1_Navigated(sender As System.Object, e As System.Windows.Forms.WebBrowserNavigatedEventArgs)
    7. If e.Url.Host <> WebBrowser1.Url.Host Then Return
    8. Select Case e.Url.ToString
    9. Case voteUrl1
    10. Exit Select
    11. Case "http://topofgames.com/index.php"
    12. MessageBox.Show("JETZT BROWSER SCHLIESSEN UND PATCHER ANZEIGEN")
    13. Exit Select
    14. Case Else
    15. MessageBox.Show("Bitte wähle entweder JA oder NEIN")
    16. WebBrowser1.Navigate(voteUrl1)
    17. Exit Select
    18. End Select
    19. End Sub


    um einiges verbesserungswürdig, aber es tut was es soll :)
    Dankeschön, ich werde es die nächsten Minuten mal ausprobieren. =)
    Leider ein Fehlschlag.. o:

    Hast du das auf eine neue Form ausgelegt?
    Wenn nicht sollte es eig. Form2 sein :)

    Also sprich: Patcher öffnen, und dann steht da halt, das man voten muss. Wenn man gevotet hat, kommt halt der Patcher.

    Bei mir kommt 3x der Fehler: Die Anweisung ist in einem Namespace ungültig.