Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 10:50

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

Advertisement



Bot Programmierung mit c++

Discussion on Bot Programmierung mit c++ within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
xX.Slayer.Xx's Avatar
 
elite*gold: 0
Join Date: Jun 2011
Posts: 149
Received Thanks: 27
Bot Programmierung mit c++

Hi Leute,

ich programmiere nun seit rund 2 Jahren C++. Seit etwa 7Monaten sehr intensiv.

Nun nachdem ich mich der DirectX Programmierung zugewandt habe und damit kleine Spiele programmiert habe, wollte ich mal den einen oder andern Bot schreiben.

Ich dachte da so an Metin2.

Ich wollte euch mal fragen, wie ich das am besten erlernen kann.
Ich muss ja irgendwie in das Spielgeschehen eingreifen können.

Noch weiß ich überhaubt nicht, wie soetwas geht.

Gibt es dafür gute Tutorials oder Artikel zu lesen?
Wäre super wenn ihr mir ein paar ansätze nennen könnt.

Mit freundlichem Gruß
xX.Slayer.Xx
xX.Slayer.Xx is offline  
Old 04/21/2013, 23:04   #2
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Erstmal musst du dich entscheiden, was für einen Typ von Bot du machen möchtest.
Grundsätzlich gibt es 3 Arten, wobei nicht immer alle sofort umsetzbar sind.

1. Pixel-based
2. Memory-based
3. Packet-based

Ich empfehle immer die dritte Variante, da sie einfach am komfortabelsten ist, sofern einmal ein Grundgerüst steht.
qkuh is offline  
Old 04/21/2013, 23:20   #3

 
Delinquenz's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
Quote:
Ich empfehle immer die dritte Variante, da sie einfach am komfortabelsten ist, sofern einmal ein Grundgerüst steht.
Willst du den ganzen Metin2 Client nachbauen oder wie hast du dir das vorgestellt?
Delinquenz is offline  
Old 04/22/2013, 06:54   #4
 
xX.Slayer.Xx's Avatar
 
elite*gold: 0
Join Date: Jun 2011
Posts: 149
Received Thanks: 27
Quote:
Originally Posted by Delinquenz View Post
Willst du den ganzen Metin2 Client nachbauen oder wie hast du dir das vorgestellt?
genau deswegen frage ich, da ich nicht weiß wie und was man da macht^^
Ich hatte zuerst mal vor soetwas wie nen Angelbot zu Programmieren.
Villeicht grenzt das die möglichkeiten ein wenig ein.
xX.Slayer.Xx is offline  
Old 04/22/2013, 08:17   #5

 
Delinquenz's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
Quote:
genau deswegen frage ich, da ich nicht weiß wie und was man da macht^^
Die Frage war an meinen Vorposter und nicht an dich gerichtet.

Entscheide dich erst einmal für eine der drei Varianten und schau eben, dass du klein anfängst. Sofern du einen auf Inject-Basis coden willst, schau dir an, wie man in Solitär Variablen verändert (z.B. die Score) und dann schau wie du Funktionen hookst usw.

Gab hier recht schöne Tutorials zu im PDF-Format, habe aber grade keinen Link.
Delinquenz is offline  
Old 04/22/2013, 09:28   #6
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Grundsätzlich ist das A und O den Client des Spiel zu verstehen, umso besser du das kannst desto leichter fällt es dir.

qkuh hat nicht unrecht wenn er sagt das seine 3. Variante meistens am angenehmsten ist.

Umsetzung ist "einfach" aber Zeitaufwendig.

Du musst 2 wichtige Punkte im Client hooken, die Sende Funktion für die Packets und die Recv Funktion.
Zuerst musst du entscheiden, willst du die Packete direkt abfangen und die Verschlüsselung/Entschlüsselung selbst übernehmen oder suchst du die Funktion die das macht und hängst dich dort ein.

Mit dem Reversen fängst du bei beiden Variant an wo die Packete ankommen, zu 99% sind das wsock32 recv und send Funktionen.

Beim Recv breakpointest du die Recv funktion und verfolgst den Programmfluss, siehst dir dabei an wie es Entschlüsselt wird, danach baust du entweder die Verschlüsselung nach oder hookst an der Stelle an der alles Entschlüsselt vorliegt.

Das selbe kann man für Send machen, jedoch hier den code zurückverfolgen von dem Punkt an dem es abgesendet wurde.

Hast du diese beiden Funktionen kanns losgehen, meistens benutzen die Leute eine Mischung aus Reversen des Packet Parsers und gutem Alten raten
Der Parser kommt nachdem die Packete empfangen und entschlüsselt wurden.

Sobald du die für dich intressanten Packete Identifiziert hast steht dir eigentlich alles offen und du kannst dich an die eigentliche Botlogic machen.

Solltest du bisher wenig Reverset haben würde ich persönlich damit anfangen erstmal ein paar 0815 Programmierübungen zu machen wie du sie in jedem Programmierkurs machst, das ganze Compilen und dann in dem Debugger deiner Wahl anzusehn um ein Gefühl dafür zu bekommen wie die VC compiler die zu 90% benutzt werden den Code optimieren.

Beispiele fallen mir aus dem Kopf gerade wenig ein.

Für die Variante die das ganze inklusive Verschlüsselung macht fällt mir gerade eigentlich nur Injection für Ultima Online ein



Wenn jemand ne Aktuelleres Beispiel hat wäre das recht günstig
dready is offline  
Old 04/22/2013, 13:09   #7
 
xX.Slayer.Xx's Avatar
 
elite*gold: 0
Join Date: Jun 2011
Posts: 149
Received Thanks: 27
Uff das hört sich ja sehr kompliziert an.
Ich denke ich werde heute Abend nach der Arbeit mal ein wenig googlen nach Schlagworten in deiner Antwort.

Bis dahin
xX.Slayer.Xx is offline  
Old 04/22/2013, 18:46   #8
 
Master674b's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 255
Received Thanks: 110
Brauchst du alles nicht. Pakete senden musst du mit nem Bot nicht.

Einfach die Adressen von den Funktionen im Spiel raussuchen und diese mit den richtigen Parametern von deinem injecteten Modul aufrufen (meistens musst dich da in den main-game loop hängen damit das geht, das machst du über "Detours").
Master674b is offline  
Old 04/22/2013, 21:55   #9
 
xX.Slayer.Xx's Avatar
 
elite*gold: 0
Join Date: Jun 2011
Posts: 149
Received Thanks: 27
Ich habe mir jetzt erst einmal angeschaut, wie ich in Solitär die Variable ändern kann, in dem ich die Zeiger herraus gesucht habe.

Ich denke da werde ich ersteinmal anknüpfen und ein wenig herrum experimentieren.
Danke für eure Antworten.
Werde (wenn es Erfolge gibt) meine Erfolge hier posten
xX.Slayer.Xx is offline  
Old 04/25/2013, 13:26   #10
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Quote:
Originally Posted by Delinquenz View Post
Willst du den ganzen Metin2 Client nachbauen oder wie hast du dir das vorgestellt?
Muss doch nur das packethandling nachgebaut werden ;o
MoepMeep is offline  
Old 04/27/2013, 02:34   #11
 
Lazeboy's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 451
Received Thanks: 410
Quote:
Originally Posted by MoepMeep View Post
Muss doch nur das packethandling nachgebaut werden ;o
@MoepMeep du hasst die neuste genereation von bots vergessen die privat_client bots -> analyse, hooking/proxy und ver/entschlüsseln war gestern. Sie sind neu im Trend jedoch glänzen nicht mit ihrer Nachfrage. Die große Frage ist: Wird sich die neue Generation durchsetzen? Man weiß es nicht, aber es munkel! Das wars mit der heutigen Episode bot news 2013 the new generation! adieu.

bt2:
Die Wörter im " " solltest du unbedingt nachschlagen und falls möglich Tutorials darüber lesen. Ich gehe mal davon aus das du in dem Bereich "ins spielgeschehen eingreifen" nur sehr wenig Vorwissen hast.
Ich würde dir memorie Bots empfehlen. Einfaches "reversen" von Funktionen ermöglicht dir Funktionen im Spiel aufzurufen die den größten Teil der Arbeit machen. Wichtig dabei ist noch sich in den Bereich "code cave" "detouring" und das programmieren von "dll" einzulesen. Arbeiten mit dem "memory scaner z.B Cheat Engine" und alles was mit dem Bereich memory zusammenhängt: Pointer, Patternscans etc. ist auch in muss. Bevor du jedoch an sowas denkst solltest du klein anfangen wie hacks in offline games(hab damals mit age of empire angefangen). Es gibt ohne Ende Tutorials für Cheat Engine und Trainer programmierung + Dll hacks etc. ->
mfg Lazeboy
Lazeboy is offline  
Old 04/29/2013, 02:55   #12
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Was meinste mit Private Client Bots ?
Client nachbauten ?
Falls ja gabs dir prinzipiel schon immer, werden sich aber nie ernsthaft "durchsetzen" der Aufwand nutzen steht nur bei wirklich großen Farmen in irgendeiner Relation, für Tante Käthe die nur ihren drölfzigsten Irokensen Krieger hochspielen will einfach unsinning
dready is offline  
Old 04/30/2013, 01:12   #13
 
Lazeboy's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 451
Received Thanks: 410
Quote:
Originally Posted by dready View Post
Was meinste mit Private Client Bots ?
Client nachbauten ?
Falls ja gabs dir prinzipiel schon immer, werden sich aber nie ernsthaft "durchsetzen" der Aufwand nutzen steht nur bei wirklich großen Farmen in irgendeiner Relation, für Tante Käthe die nur ihren drölfzigsten Irokensen Krieger hochspielen will einfach unsinning
das war nicht ernstgemeint, fand den post einfach nur zu genial
Quote:
Willst du den ganzen Metin2 Client nachbauen oder wie hast du dir das vorgestellt?
Lazeboy is offline  
Old 04/30/2013, 10:56   #14
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Und deshalb meine Damen und Herren sollte man wenn man mit mir redet nach 0 Uhr immer Ironietags benutzen :P
dready is offline  
Old 05/16/2013, 17:41   #15
 
Padmak's Avatar
 
elite*gold: 58
Join Date: Jun 2008
Posts: 2,311
Received Thanks: 8,420
Ich weiß nicht, ob der ganze Spaß hier noch aktuell ist, ist schließlich schon fast einen Monat alt. Als "alter Hase" im Metin2-Bot-Geschäft kann' ich dir raten: lass die Finger von Packets, das macht absolut keinen Spaß.
Versuch einfach, die Funktionen im Client zu finden, die das tun was du gerne hättest. Da der Client auf Python-C-Gedönse basiert, sollte es kein Problem sein, die Funktionen zu Strings wie "SendItemUsePacket" oder "SendItemMovePacket" zu finden.
Ich kann dir dazu ein super Videotutorial (meins ) empfehlen:

Schau's dir einfach mal an, wenn du noch weitere Fragen hast, kannst' mir ja einfach 'ne PN schreiben

€: Ja, die Links in der Videobeschreibung sind tot.. Ich hab die Dateien nichtmehr, bringt also nix danach zu fragen^^

Padmak
Padmak is offline  
Reply


Similar Threads Similar Threads
[B]Programmierung
02/21/2013 - Coders Trading - 0 Replies
Hey hoo :) Ich versuch auch einfach mal mein glück meine Langeweile zu überbrücken in dem ich mal neue Aufträge suche ;) Was habe ich bisher schon so gemacht? Wie z.B. mal den Bot den ich auch pub gemacht habe ^^ Stammfarm - Der neue Stämme Bot by Niccoo part 1 - YouTube Meine Spezialität sind Browsergames aber am besten keine Flashgames - die gehen zwar auch aber dan meist nur über PixelSearch. Ich kan auch etwas komplett abseits von Bots programmieren, egal was euch gerade in...
[B] Programmierung [S] PSC
09/04/2012 - Coders Trading - 8 Replies
Guten Tag ! Meine Kentnisse - 2 Jahre beruflich Softwareentwickler - 5 Jahre Hobby-Programmierung Was ist möglich? - Anfragen auf Hacks\Cheats\Trainer werden gemeldet ! - Im Grunde genommen alles... - Auch Kurse sind möglich
[B] Programmierung
05/21/2012 - Trading - 15 Replies
http://flyingbeez.com/image-upload/thread/Header.p ng http://flyingbeez.com/image-upload/thread/About.p ng Moin, Bitte nur ernst gemeinte Anfragen. Dauernd Anfragen für CMS's, File-Hoster, Bot's etc für 10-30€ nerven einfach ungemein. Denkt mal daran wieviel Arbeit in sowas steckt und was für einen Zeitaufwand dies benötigt. Ich weiß ja nicht was für einen Stundenlohn ihr habt, aber ich arbeite bestimmt nicht unter 7-8€! also ich biete euch hiermit an für euch Sachen zu programmieren....
C++ Programmierung
06/15/2011 - Kal Online - 29 Replies
Hallo ich habe da mal wieder eine bzw. gleich ein paar Fragen und würde mich freuen wenn mir dabei jemand helfen kann. Ich wollte fragen ob jemand weiß wie ich in C++ ein Pixelsearch angebe und einmal rechte und linke Maustase sowie ich eine Spacetaste schicke an kalonline. ich habe versucht mich mal mit google und tuts zu informieren jedoch finde ich dann zb das: for (int a=0; a<(dx*dy); a++) { if (*(COLORREF*)memory == RGB(suchende r,g,b)) {
DO programmierung
12/16/2010 - Browsergames - 10 Replies
hey hab mal eine frage in was ist do eigt programmiert? in C++?? könnte man eigt wenn man C++ lernt sowas selber erstellen oder so? also zb wenn man es sehr gut beherscht. hoffe ein erfahrender Programmierer antowrtet



All times are GMT +1. The time now is 10:51.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.