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