Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 21:55

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Bot Programmieren lernen(haupts. für Diablo 3)

Discussion on Bot Programmieren lernen(haupts. für Diablo 3) within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2012
Posts: 3
Received Thanks: 0
Bot Programmieren lernen(haupts. für Diablo 3)

Hallo Forum!

wie man aus dem Titel herausnehmen kann, geht es darum, ein Bot/Hack Programmieren zu lernen.

Vorneweg möchte ich sagen: Ich habe seid gestern Antworten auf meine Fragen gesucht und bin sehr oft auf dieses Forum gestoßen, jedoch fand ich keine präzisen Antworten auf meine Fragen. Ich habs auch schon hier per Forumsuche versucht, leider vergeblich, aber da ich gemerkt habe das man hier nicht sofort Attackiert wird bei Fragen zu diesem Thema, hab ich mich entschieden hier nach Antworten zu suchen.

Ich möchte kein Profi-programmierer sein, keine Spiele Programmieren, geschweige denn eine Massenproduktion eines Bots machen um daran Geld zu verdiene. Ich möchte wirklich nur einen Bot z.b. für Diablo 3 programmieren, da ich seid Diablo 3 zum ersten mal einen Bot ausprobierte und ich sofort wissen wollte wie ein Bot funktioniert. Deshalb diese Fragen:

1. Soweit ich gelesen habe braucht man dafür C++ bzw. erstmal C um die Grundkenntnisse für C++ zu besitzen. Auch habe ich was von Assembler und Reverse Engineering gelesen.
-Was brauche ich denn nun wirklich, und womit sollte ich anfangen.

2. Ich habe mir Demonbuddy und Immortal Bot angeschaut, und beide laufen über einen Server.
- Ich weiß nicht ob ich richtig liege, aber denke es ist nur so, damit man sie nach dem Kauf nicht einfach dupliziert und ganz normal über den Rechner laufen lässt( wäre doch auch schneller oder?!) richtig ?

3. Bei Spielupdates (in meinem fall bei D3) werden auch die Bots aktuallisiert. Wieso?
- um neue Sicherheitslücken zu entfernen ?
- Wenn ja, wie kann ich das verstehen ohne z.b. C++ zu beherschen/Woher weiß man als Bot-Programmierer welche Sicherheitslücken durch das neue Spielupdate enstanden sind?(kurze erklärung wäre sehr nett)

Das sind erstmal meine wichtigsten Fragen, jedoch möchte ich ergänzen, das ich nicht nur einmal gelesen habe, einen bot wie z.b. Immortal Bot zu Programmieren, für einen guten Programmierer eine sache von 2-3 stunden sein kann.
Ich bin nicht Naiv und glaube das es wirklich so schnell geht, aber bei so einer Aussage macht man sich schon gedanken ob es evtl doch nicht so schwer und sehr lange dauert wie ich es mir zurzeit vorstelle, denn eig. geht es doch nur darum , Automatisierte befehle auf das Spiel zu übertragen, oder ?!



Ich würde mich sehr freuen über ein paar infos!

Danke im vorraus!

grüße
Denis
someone1989 is offline  
Old 07/16/2012, 17:30   #2
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Hey,

1. Du benötigst Erfahrung in einer Programmiersprache, die es dir erlaubt den Arbeitsspeicher zu manipulieren. Das können verdammt viele Sprachen und C/C++ gehören dazu. Es ist jedoch ein Gerücht, dass du erst C lernen musst, um C++ zu können. Reverse Engineering musst du ebenfalls können, schließlich musst du ja herausfinden wie das fremde Programm arbeitet. Assembly ist dabei pflicht.

2. Jep, das ist ein Grund. Ein weiterer Grund ist, damit der Bot aktualisiert werden kann. Das Programm fragt den Server, ob es neue Updates gibt und wenn ja, dann lädt es sie herunter.

3. Weil sich der Aufbau des Programmes bei jedem Update ein wenig ändert. Dazu ein vereinfachtes Beispiel:
Code:
Zeile01: function MacheIrgendwas()
Zeile02:       ...
Zeile03: end
Zeile04: 
Zeile05: function GeheVorwärts()
Zeile06:       ...
Zeile07: end
Zeile08: 
Zeile09: function MacheEtwasAnderes()
Zeile10:      ...
Zeile11: end
Nehmen wir mal an wir wollen mit der Funktion GeheVorwärts arbeiten. Da wir nicht den originalen Quellcode benutzen, können wir nur mit den Adressen der Funktionen (hier als Zeilen dargestellt) arbeiten. Wir sagen also in unserem Programm "Zeile05 ist die Funktion GeheVorwärts" und erst dann können wir darauf zugreifen. Jetzt kommt jedoch ein Update heraus und die Funktion "MacheIrgendwas" wird aus dem Programm gelöscht. Dadurch verschiebt sich die Zeile aller Funktionen um 4 nach vorne.
Code:
Zeile01: function GeheVorwärts()
Zeile02:       ...
Zeile03: end
Zeile04: 
Zeile05: function MacheEtwasAnderes()
Zeile06:      ...
Zeile07: end
Wenn wir also unser Programm nicht aktualisieren, dann greift unsere Funktion nicht mehr auf "GeheVorwärts" zu, sondern auf "MacheEtwasAnderes" und das kann unschöne Dinge zur Folge haben. Wir müssen also unserem Programm sagen, dass GeheVorwärts nun in Zeile 1 liegt und nicht mehr in Zeile 5.
Und das ist der stark vereinfachte Grund, warum Bots mit jedem Update des Programmes aktualisiert werden müssen.

Zusatzfrage:
Das dauert schon verdammt lange. Alleine das Erlernen der grundlegenden Dinge, wie einer Programmiersprache wie C oder C++ und dem Reverse Engineering, frisst massiv Zeit. Manche sprechen hier von Jahren der Vorarbeit. Dann kommt das Reverse Engineering, schließlich musst du ja herausfinden wie das fremde Programm funktioniert. Und dann kommt erst der eigentliche Programmierteil, welcher, je nach Aufwand, vergleichsweise wenig Zeit beansprucht.

Ich persönlich würde keinem Anfänger dazu raten gleich mit diesen Dingen anzufangen, da es doch schon erdrückend viel ist. Tob dich ersteinmal beim Programmieren eine ganze Weile aus und dann solltest du auf das Thema zurückkommen. Natürlich geht es auch anders, aber der Weg ist verdammt steinig.
Nightblizard is offline  
Old 07/16/2012, 19:28   #3
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Quote:
Originally Posted by someone1989 View Post
Hallo Forum!

wie man aus dem Titel herausnehmen kann, geht es darum, ein Bot/Hack Programmieren zu lernen.
Um einen Bot/Hack zu programmieren, musst du programmieren können (ich deute aus deinem nächsten Absatz, dass du noch keine Programmiererfahrungen hast). Ergo musst du primär das Programmieren lernen, und nicht das Programmieren von Hacks/Bots.

Quote:
Originally Posted by someone1989 View Post
Ich möchte kein Profi-programmierer sein, keine Spiele Programmieren, geschweige denn eine Massenproduktion eines Bots machen um daran Geld zu verdiene.
Wie definierst du einen "Profi-"Programmierer? Je nach Art bzw. Aufgabe des Bots brauchst du ein gutes Verständnis von Algorithmen und fundamentale Kenntnisse in vielen Gebieten. Wenn du das wirklich drauf hast, bist du zumindest kein Einsteiger mehr ...

Quote:
Originally Posted by someone1989 View Post
Ich möchte wirklich nur einen Bot z.b. für Diablo 3 programmieren, da ich seid Diablo 3 zum ersten mal einen Bot ausprobierte und ich sofort wissen wollte wie ein Bot funktioniert. Deshalb diese Fragen:
Ja, und ich möchte nur mein neues Eigenheim bauen - ganz alleine(!)

Quote:
Originally Posted by someone1989 View Post
1. Soweit ich gelesen habe braucht man dafür C++ bzw. erstmal C um die Grundkenntnisse für C++ zu besitzen. Auch habe ich was von Assembler und Reverse Engineering gelesen.
-Was brauche ich denn nun wirklich, und womit sollte ich anfangen.
Egal was für einen Bot du programmieren möchtest: Du musst erstmal programmieren lernen (s. o). Das kannst du gerne mit C++ machen - aber lösche erstmal diesen "Ich möchte einen Diablo 3-Bot"-Gedanken aus deinem Kopf und konzentriere dich darauf. Dann verstehst du auch zunehmen, was du für einen Bot brauchst.

Was das ist, kann man pauschal nicht sagen: Es gibt verschiedene "Arten" von Bots. Viele Bots analysieren einfach das, was auf dem Bildschirm zu sehen ist und simulieren anhand dieser Informationen Tastendrücke ("Pixelsearch"). Dazu brauchst du kein Reverse Engineering und auch kein Assembler. Es gibt Bots, die den Speicher der Anwendung auslesen bzw. modifizieren (... wovon ich keine Ahnung habe.)

Speziell bei Onlinespielen ist es aber auch möglich, einen eigenen Klienten für das Spiel zu programmieren (der dann entspr. Aktionen durchführt). Dazu müsstest herausfinden, wie genau das Spiel mit dem Server kommunziert und dieses Protokoll nachbilden. Das kannst du dann mit fast jeder Sprache machen.
dowhile is offline  
Old 07/16/2012, 21:24   #4
 
elite*gold: 0
Join Date: Jun 2012
Posts: 3
Received Thanks: 0
Nightblizard, danke für die schnelle und zu 100% verständliche Antwort(das Beispiel war Top, hab danach eig. sofort verstanden was gemacht wird. Hätte nicht gedacht das alle meine fragen mit einem Post so verständlich beantwortet werden.

zu dowhile: Auch ein dickes Dankeschön an dich ich verstehe nur solche Antworten nicht: " Ja, und ich möchte nur mein neues Eigenheim bauen - ganz alleine(!) " . Denn es sehr schwer die richtigen Fragen zu stellen wenn man doch überhaupt keine ahnung davon hat, deshalb schreibe ich hier rein. Das "nur einen Bot programmieren" ist so gemeint, das ich nur das NÖTIGSTE lernen möchte um einen vollständigen Bot zu Programmieren.

Was ich zu erwähnen vergaß: Es ist nicht so da sich es unbedingt machen möchte, sondern eher das ich die Bots echt interessant finde, ich hatte selbst paar "Profile" für Demonbuddy per autoit verändert, um evtl. etwas zu verbessern oder an meinen Build anzupassen. Es hat mir Spaß gemacht, auch wenn ich es nicht selbst schreibe, sondern nur anpasse. Da ich halt keine Vorstellung habe wieviel Arbeit es ist und wielange ich es durchziehen muss um nachher einen Bot zu programmieren, wollte ich erstmal ein paar infos.
Ich werde mir erstmal ein paar youtube Videos anschauen(nicht um zu lernen, sondern um mir eine Vorstellung vom Arbeitsablauf zu machen.
Da ich mitte August die Weiterbildung zum Maschinenbautechner anfange, werde ich mich auf sowas sowieso nicht all zu doll konzentrieren können, bis dahin habe ich aber noch zeit und könnte evtl. in der Zeit rausfinden ob es mir überhaupt spaß macht.

DANKESEHR!
someone1989 is offline  
Reply


Similar Threads Similar Threads
Programmieren Lernen
05/05/2011 - General Coding - 5 Replies
Hallo, Da ich so Ziehmlich noch gar keine ahnung Vom Programmieren habe möchte ich mir dies nun aneignen. Mit welcher Programmier Sprache solte ich anfangen? Welche Tutorials empfiehlt ihr mir? Gib es irgent welche Bücher mit denen man gut lernt? Anfangen möchte ich mit Einem Browsergame Bot, oder meint ihr ich solte erst mit etwas Kleinerem Anfangen?
programmieren lernen
04/14/2011 - General Coding - 6 Replies
hallo wolte fragen ob mir einer helfen kan will programmieren lernen habe auch skype bin 14 Jahre jung und habe viel zeit und freue mich uber jede hilfe Mfg. Sebastian Ps.habe aich skype
Programmieren lernen?
11/07/2010 - Main - 12 Replies
Erledigt
C Programmieren lernen
03/23/2010 - General Coding - 21 Replies
wie der titel schon erahnen lässt habe ich mich mal dazu durchgerungen und würde gerne das Programmieren mit C lernen, mein prooblem an der sache ist das mein internett einige macken hat (ich weiß nicht wieso :confused:) und deshalb keinen weg finde mir C zu downloaden. es wäre also nett wenn jemand hier einen link posten könnte wo ich es downloaden kann. das zweite wäre das ich nicht weiß womit ich nun anfangen soll, C oder gleich mit C++ oder doch mit nem anderen aber ich glaube C...
Will Programmieren lernen
02/27/2010 - General Coding - 27 Replies
Hi@all da ich schon lange im Internet herumsuche und irgendwie jeder was anderes sagt wollte ich hier mal nachfragen ob mir jemand "programmieren" mit c/c++ oder welcher Sprache auch immer beibringen kann. Ich besitze einen Teamspeak was es erleichtern würde. Meldet euch hier einfach oder sendet mir eine Nachricht. Danke schon mal im vorraus MFG



All times are GMT +2. The time now is 21:55.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.