PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Programmiersprache für Web-Bots ?



PadX18
20.12.2015, 23:06
Hey zusammen,
wollte mal Fragen welche Programmiersprache am besten für ein Einsteiger geeignet ist, welcher gerne Bots programmieren möchte.
Also zum Beispiel ein Login-Bot für irgendeine Website oder ein Bot der auf bestimmte Buttons einer Website klickt.
Dabei möchte ich das gerne über HttpWebRequest's machen also so, dass das Ganze "versteckt" abläuft.

Hab das ganze bis jetzt mit AutoIt und Virtual Basic gemacht, was mir persönlich aber nicht so gut gefallen hat.
Wäre auch mal nett wenn ich mich nicht gleich auf Windows beschränken müsste :)

Bin was das Programmieren angeht noch ziemlich unerfahren also wären Tutorials echt hilfreich, wenn es den da eine passende Programmiersprache für mich geben würde :)

Bei weiteren Fragen oder Unklarheiten einfach melden.

Mfg.
PadX18

Jut4h.tm
20.12.2015, 23:21
also am einfachsten für Webbots finde ich PHP oder Delphi. Am besten jedoch finde ich Java oder Node.js, allein wenn du es plattformunabhängig haben willst. Für RAT's und Co. ist Java natürlich unbrauchbar aber für deine Zwecke ist das super. Es ist Strukturiert, relativ einfach und es gibt jede menge Libs für deine Zwecke. die beste Lib ist "Selenium" aber wenn du es versteckt haben willst kann ich dir "htmlUnit" empfehlen. Die beiden Libs arbeiten nicht mit einfachen Requests sondern sind Programmgesteuerte Browser. Ich bin mir nicht sicher ob man Selenium auch im Hintergrund ausführen kann.

---------- Post added at 00:21 ---------- Previous post was at 00:12 ----------

Hier sind ein paar Beispiele für dich zum Vergleich:

PHP


//extract data from the post
//set POST variables
$url = 'http://domain.com/get-post.php';
$fields = array(
'lname' => urlencode($_POST['last_name']),
'fname' => urlencode($_POST['first_name']),
'title' => urlencode($_POST['title']),
'company' => urlencode($_POST['institution']),
'age' => urlencode($_POST['age']),
'email' => urlencode($_POST['email']),
'phone' => urlencode($_POST['phone'])
);


//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');


//open connection
$ch = curl_init();


//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);


//execute post
$result = curl_exec($ch);


//close connection
curl_close($ch);


Delphi



var
server: TIdHttp;
Parameters: TStringList;
Response: TStringStream;
begin
response := TStringStream.Create;
Parameters := TStringList.Create;
Parameters.Add('param1=Value1');
Parameters.Add('param2=عربي/عرب');
Parameters.Add('param3=Value3');
Server.Post('http://www.example.com/page.php',Parameters,response);
end;


Node.js

var request = require('request');

request.post(
'http://www.yoursite.com/formpage',
{ form: { key: 'value' } },
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
}
);



von Selenium kann ich kein Beispiel posten, da dieser Ansatz komplett anders funktioniert.

PadX18
20.12.2015, 23:41
Danke erst einmal für deine Antwort.
Werde mir das Ganze morgen mal anschaue :)

Eine Sache hab ich noch vergessen zu sagen...
Es sollte am Ende eine ausführbare Datei sein z.B. eine .exe oder so.
Und eine Grafische Benutzeroberfläche würde ich auch bevorzugen, wenn das irgendwie möglich ist.
Zudem wäre es nützlich wenn ich am Ende eine Datei hätte die ohne Zusatzprogramme ausführbar ist.

Werde mir das ganze morgen mal angucken da es jetzt doch schon ziemlich spät ist :)

Lg.

Cystasy
21.12.2015, 01:13
Kurzfassung: Es kommt drauf an was deine Vorlieben sind & wieviel Aufwand du da reinstecken möchtest.

Ein paar Vorschläge von mir :

- C/C++
- Java
- Python
- JS / Node
- PHP

Weil du sagtets das du dann ne Exe haben möchtest, würde ich dir aber eher zu C/C++ oder Delphi raten.
Bei dem andern brauchst überall immer extra Programme (java z.b, oder php interpreter usw)

grüße

PadX18
21.12.2015, 09:58
Okay vielen Dank :)
hab mir mal alles so ein bisschen angeguckt
würde gerne mit Delphi was machen, da ich diese Programmiersprache eigentlich schon immer mal lernen wollte :)

Kann mir jetzt noch einer ein paar Google-Stichwörter zum Thema Delphi-Bot coden geben ?
oder einfach ein paar links wo ich mal gucken kann :)

Danke euch
Lg.

Starflow
21.12.2015, 11:19
Wie alle anderen bereits bereitwillig demonstriert haben, kann man so etwas in jeder Sprache schreiben, selbst auf Klingonisch.

Man kann auch Crypter in PHP schreiben oder Nägel mit einem Vorschlaghammer in die Wand hauen.

Die einzig valide Antwort auf die Frage "Was sollte man benutzen? " kann aber nur Javascript lauten, den es ist die native Sprache des Webs.
It's the right Tool for the Job.

Tutorials:

Browser/DOM JS: (Die Grundlagen)
http://www.peterkropff.de/site/javascript/javascript.htm (Nicht ganz aktuell, aber sehr gut um Javascript kennen und verstehen zu lernen, auch die anderen Tutorials von Herrn Kropff kann ich nur empfehlen)
https://wiki.selfhtml.org/wiki/Startseite (Klassiker)

Node.js/V8:
https://www.youtube.com/watch?v=pU9Q6oiQNd0
http://www.nodebeginner.org/


Tool:
http://phantomjs.org/page-automation.html

Tutorials zu PhantomJS findest du auf der Website.

Jut4h.tm
21.12.2015, 11:28
Habe dir mal eine PM geschickt mit dem Link zum aktuellsten Delphi. Du solltest dir aber auch eine Sprache im C-Style ansehen (C,C++,C#,PHP,JS,Java) Da diese meist verwendet werden. Delphi ist nur noch so eine Randerscheinung, auch wenn es immer eine meiner Lieblings sprachen bleiben wird.

Cystasy
21.12.2015, 12:25
Habe dir mal eine PM geschickt mit dem Link zum aktuellsten Delphi. Du solltest dir aber auch eine Sprache im C-Style ansehen (C,C++,C#,PHP,JS,Java) Da diese meist verwendet werden. Delphi ist nur noch so eine Randerscheinung, auch wenn es immer eine meiner Lieblings sprachen bleiben wird.


Funfact: Ich wollte damals als ich mit dem ganzen Themen anfing mal Delphi lernen.. es scheiterte daran ne IDE / Compiler zu finden.. lach
Ist daher VB6 geworden damals *G*

Jut4h.tm
21.12.2015, 13:02
:D Ja, es gibt übrigens alles auf "delphiers blog" einfach mal googlen, ist ne krasse Seite.

PadX18
21.12.2015, 13:16
Danke an alle...
Habe mich jetzt für Delphi entschieden und gucke einfach mal wie weit ich komme.
Wenn ich sonst noch fragen habe weis ich ja wo ich richtig bin :)

Thx
Lg.

Bullsh1t
21.12.2015, 14:16
ich empfehle dir python!
du kannst alles damit machen was du willst
socket s
oder auch schon fertige libs
urlib,regex
du kannst du z.b netcat,metasploit,nmap oder ein anderes programm starten und verknüpfen usw
baust dir aus fertigen dingen einfach zusammen was du brauchst
auch bash würde super funktionieren
python und bash ist leicht zu erlernen und macht spass

gtk,oder qt wegen gui

doch funktionieren würde es so ziemlich mit jeder sprache,wie ein vorposter schon schrieb....

BlackSpike666
21.12.2015, 15:36
Also, wenn du schon eine neue Programmiersprache lernen möchtest, würde ich dir nicht umbedingt Delphi empfehlen, da diese eig. nicht mehr aktuell ist, bzw Zukunftsorientiert.

powerPlus
21.12.2015, 19:37
Mach so was auf keinen fall mit HttpWebRequest's. Ist viel zu umständlich und schwieriger zu detecten wird es damit auch nicht. Nimm Selenium. Damit kannst du einen Browser einfach vernsteuern. C#/Java/Python + Selenium sind eine gute Kombination.

Bullsh1t
23.12.2015, 06:58
wenn es schon um das geht,nimm den webkit ;)
firefoy,chrome usw nehmen den auch her
oder curl,oder wget,oder sockets

s3rb31
23.12.2015, 22:36
Die einzig valide Antwort auf die Frage "Was sollte man benutzen? " kann aber nur Javascript lauten, den es ist die native Sprache des Webs.

Ich würde das eher als eine von mehreren möglichen validen Antworten einstufen. So lange is server-side JS jetzt noch nicht verbreitet, als dass man da von einem kohärenten Standard (das Web betreffend) sprechen könnte.

Wer C-Syntax kann und z. B. nicht erst die JS-Konzeption erlernen will kann einfach eine der vielen Java Bibliotheken benutzen die bereits genannt wurden. Oder meinen persönlichen Favoriten:


http://jsoup.org

PS. Python eignet sich dafür natürlich auch sehr gut.

Runner123
25.12.2015, 01:24
Ich finde PHP Bots waren schon immer wie Linux im OS also etwas Besonderes und anderes. Delphie ist eine sehr starke Software für extreme Angriffsbots und kann ich durch einen Kumpel empfehlen.
Für Programmiererfahrung/Austausch bei mir melden (zum Lernen).
Viele Grüße
~Runner

gORDon_vdLg
25.12.2015, 13:54
Mit Delphi hast du auf jeden Fall eine gute Wahl für diese Aufgabe getroffen, du wirst mit Delphi Spaß haben, versprochen!
Da du auch eine GUI möchtest hast du mit Delphi auch einen einfachen Einstieg und kannst quasi direkt damit loslegen, da ist der Einstieg mit GUI für komplette Anfänger sogar einfacher als per Konsolenanwendung und das ist eine klare Stärke von Delphi. Und lass es dir bloß nicht schlecht reden nativen Code für ein bestimmtes OS zu schreiben, das ist nämlich absolut nichts schlimmes und außerdem kannst du mit Lazarus immer noch cross compilen falls Interesse besteht.

Aber sieh dir auf jeden Fall auch noch andere Sprachen an, wer dir erzählen will dass exakt diese und jene Sprache das non + ultra ist hat keine Ahnung und ist offensichtlich nicht in der Lage die richtige Sprache für die richtige Aufgabe zu wählen, denn jede Sprache hat Vor- und Nachteile, die meisten haben sogar eine Daseinsberechtigung^^

Asmo
26.12.2015, 18:30
Ich kann für Anfänger auch wärmstens Delphi Empfählen ;) *Will auch mein senf zu meinem liebling dazu geben :D*

Wenn man den Einstieg etwas erschwären will dennoch am anfang steht würde sich auch kleiner kursus in richtung Pascal lohnen,
da Delphi im uhrsprung (Damals noch von Borland Vertrieben) jedeglich Object Pascal darstelte ;)

Ich fande damals Delphi sehr einfach und habe es VB vorgezogen sogar :D
Da ich aber auch ein BASIC Kind bin viel mir wohl Delphi leichter xD

C/C++ finde ich persönlich für den reinen noobi wirklich etwas havy gerade wenn sie dan an sachen wie zeigern und co oder classen scheitern.
bez die lust verlieren.

Für das im Thobic erwähnte Vorhaben bietet Delphi wirklich eine fülle an Komponenten die das Managen können was man sich bsp
in C/C++ mühsellig zusammen bauen muss...

Jede Sprache hat natürlich ihre Vor und Nachteile ;)