Sammelthread zum Thema Bots in Classic

Jop, genau so ist es.

Wenn du dich ein bisschen einlesen willst: https://www.lua.org/pil/1.html. Das Lehrmaterial zu LUA ist zwar ein bisschen Schrott (so wie die ganze Sprache :stuck_out_tongue: ), aber wenn du dir ein paar der Beispielcodes anschaust, und dann dein Makro danebenhältst, wirst du schnell erkennen dass dein langes Makro im Endeffekt nichts anderes ist als ein kleines LUA-Programm.

Ich brauch auch mehr als einen Befehl um mein selbstgeschriebenes Player-Note Addon zu benutzen…um genau zu sein brauch ich 5 pro Sekunde.

Ach ja, dieses Addon hab ich nirgends ausser in mein privates Github Repo hochgeladen. Niemand ausser mir hat, kennt oder benutzt es. Sein einziger Zweck war als kleine Übung zum Lua lernen für ein Projekt.

Deiner Logik nach macht mich das Ding schon verdächtig.

Na die Befehle dafür sind natürlich völlig gleich :smiley: und können nicht gefiltert werden.

Ich wiederhole mich zwar, aber bitte: Lern erstmal ein paar Grundlagen des Programmierens bevor du in solchen DIngen mitredest.

Schaffst du das auch ohne latente Beleidigungen ?

Dir zu sagen dass deine Beiträge aufgrund des fehlens einer fachlichen Basis mangelhaft sind, ist keine Beleidigung, sondern eine Tatsachenfeststellung. Wenn dein Lehrer dir eine 4- gibt beleidigt er dich auch nicht, er bewertet deine Arbeit.

Ich denke 80 % sind realistisch übers profiling erreichbar.

Und diese Zahl basiert worauf genau?
Sorry, aber zufällige zweistellige Zahlen auswürfeln und ein Prozentzeichen dahintersetzen ist keine Faktenbasis.

Und das würde dir als Filter nicht dienen können ?

Deswegen überprüft man ja auch auf unbekannte, man hasht einfach einen Teil der Addons und vergleicht, welchen Hashwert habe ich nicht. Wäre so mein erster Ansatz.Dein Addon kann ich dann auch überprüfen, die DIskussion über Warden ist noch nicht so lange her und ich bin mir nihct ganz sicher ob Blizz deinen Spieleordner nicht überprüfen darf.

Natürlich! Da du aber davon nichts weißt sehe ich das Problem für Dich nicht.
Ein weiterer Ansatz wäre zu überprüfen welche Addons hast du generell, welche benötigst du um nen Bot zu steuern, welche Einstellungen Makros benutzt du, allein über Weak Aura kann man schon ne Menge filtern und wahrscheinlich auch ausschließen. Wenn dann noch paar Faktoren dazukommen kannst du zumindest flaggen. Wird eh alles erst mal geflaggt.

Wo ich bei DIr bin, Blizz hat momentan nichts gegen die Bots, Blizz hat niemals was gegen die Bots, das liegt in der Natur der Sache, denn Blizz ist mit der Erkennung immer hintendran.

*seufz* WARDEN macht etwas vollkommen anderes, es überprüft ob der Speicherinhalt (RAM, nicht Storage) des clients während des Betriebs verändert wurde. Das hat nichts mit Lua-Addons zu tun.

Und ja, wir haben alle verstanden was dein Ansatz wäre.

Und wir versuchen dir die ganze Zeit zu erklären, warum „dein Ansatz“ keinen Sinn hätte. Lua-Scripte sind per definitionem keine Cheats, sie zu überprüfen macht keinen Sinn. Sie können eh nicht auf Funktionen zugreifen die Blizzard nicht in die API schreibt, und sie können keine API Aktionen auslösen von denen Blizz will dass Spieler sie auslösen müssen (sog. „protected actions“)

Kann ein Lua script einem Botprogramm helfen? Ja, durchaus. Es könnte zB. nach targets in der umgebung suchen, und dann ein bestimmtest Feld entsprechend einfärben, was ein Screengrabber dann als Eingabe nutzen kann.

Nur, dieselbe Funktion die das ermöglicht, benutze ich zB. um mir anzuzeigen dass ein Spieler mit einer negativen Note in meine Gruppe gejoint ist. Und tausende andere Addons benutzen sie für andere Zwecke.

man hasht einfach einen Teil der Addons und vergleicht, welchen Hashwert habe ich nicht.

*doppelseufz* Weisst du eigentlich wie eine Hashfunktion funktioniert? Jetzt push ich eine Neue Version eines Addons ins repo, in der ich nur die bezeichnung einiger Variablen ändere um die Lesbarkeit zu erhöhen, und danke das wars, der Hash ist ein anderer.

Du sprichst davon einen massiven Katalog aller existiernder Addons + aller verwendeten Lua-Scriptmakros aufzubauen, dessen blosse Speicherung, Verwaltung und Aktualisierung einen enormen Aufwand darstellt. Und da rede ich noch gar nicht davon das Ding dann auch zu benutzen. Und das für keinen Benefit als damit massiv Arbeit zu generieren, die am Ende des Tages kaum etwas bringen wird.

Dein Konzept hält schlicht und ergreifend einer grundlegenden „Cost-Benefit-Analysis“ nicht stand.

Nein, wird es nicht. Ich kann auch ein Script bauen (egal ob per Makro, Addon, Weakaura oder direkten Chat Befehlen), was eine Anzeige für meine Hitpoints macht, wo am Ende von mir aus auf jedem Frame eine Update Funktion ausgeführt wird, womit ich sogar auf den meisten Rechnern bei über 60 Aufrufen pro Sekunde bin. Das sagt absolut null Komma gar nichts darüber aus, warum ich das tue. Jedes Unitframe Addon macht sowas z.B. und da kann ich mir durchaus einfach ein eigenes schreiben ohne böse Hintergedanken zu haben.

Dann wäre jedes noch so simple Update in einem Addon automatisch ein neues Addon für deinen Erkennungsalgorithmus. Sorry aber ich muss Sorzza zustimmen: du hast offensichtlich keine Ahnung von sowas. Und auch ich meine das nicht beleidigend. Es ist nicht schlimm keine Ahnung zu haben. Ich frag mich nur warum du hier so sehr auf deinem Halbwissen beharrst.

Sicherlich wird Blizzard irgendwo Statistiken haben, welche Funktionen der API wie oft benutzt werden (insgesamt, nicht auf einzelne Spieler bezogen) und, falls sie auch den Server ansprechen, wie viel Last sie erzeugen. Das ist aber ein ganz anderes Thema und hat nichts damit zu tun einzelne Spieler zu flaggen und ins geheim zu überprüfen. Da müsste man halb China dafür anstellen und hätte 99% false positives. Das ist völlig sinnfrei.

Vielen Dank, wird ich mir bei Zeiten mal näher führen, auch wenn ich denke, das ich von dem gelesenen nichts verstehe :smiley:

war schon von diesem makro sehr fasziniert xD

Denkst du das ist alles ? Wie genau Warden arbeitet weiß wohl nur Blizz.

Es macht in deinem Kopf keinen Sinn, das bedeutet nicht das es keinen Sinn macht. Natürlich macht es Sinn weil man ein entsprechendes Profil entwickeln kann und genau das scannt. Das hat nichts damit zu tun das du sie nicht benutzen darfst. Du benötigst Wegpunkte um dich zu bewegen, du benötigst Scripte für die Rota die du selber entwickeln oder per Waekauras bspweise anzeigen lassen kannst.

Warum kommst du mit einem Beispiel was als einziger Indikator dienen soll. Wenn viele INdikatoren zusammenkommen wird geflaggt und nicht weil einer ein selbstgeschriebenes Addon benutzt. Er fragt alle paar Sekunden die Wegpunnkte ab, hat ne bei Waekauras die ,komplette Rota drin , und benutzt ein eigenes Addon. Wäre ein so dahingesponnenes Profil. Das man das nicht anständig über die Api filtern kann halte ich für sehr gewagt.

Ja das weiß ich, genau das kann man aber automatisieren und neue Addons von Curse werden einfach neu ausgelesen und neu gehasht. Das ist ne 1 Tages /1 Mann Arbeit.

Ich denke du überschätzt da massiv den Aufwand auch hat Curse ne Lua, ich bezweifele das Blizz nicht inder Lage ist sich mit Curse zu einigen und ich bezweifele auch das ein Liste mit bekannten Addons bei Blizz nicht existiert.

WARDEN ist ziemlich gut analysiert worden, und die Infos dazu findet man mit ein wenig googeln. Man muss halt wissen was Begriffe wie „gdb“ bedeuten um da mitreden zu können.

Es macht in deinem Kopf keinen Sinn, das bedeutet nicht das es keinen Sinn macht.

Da ich in der Hinsicht vom Fach bin, und du nicht, macht meine Ansicht wesentlich mehr Sinn.

Sorry dir das so deutlich sagen zu müssen, aber nur weil jemand über etwas nachdenkt, heisst das nicht dass dabei was brauchbares rauskommt. Ich bin sicher es gibt einige Bäcker die sich über Tiefbau Gedanken machen, trotzdem lassen wir Unterführungen von Bauingenieuren planen.

Ja das weiß ich, genau das kann man aber automatisieren und neue Addons von Curse werden einfach neu ausgelesen und neu gehasht.

Um uns weitere Unnötige Wiederholungen zu ersparen, sag mir bitte gleich wie oft wir es dir noch erklären sollen dass Curse nicht der einzige Ort ist an dem man Code findet der in Addons/Makros/etc. zum Einsatz kommt.

Dann schreib ich die nötigen Repetitionen in ein einziges Posting zusammen und du kannst sie dir in Ruhe durchlesen.

Ich denke du überschätzt da massiv den Aufwand

Und das denkst du…weil?

Wieviele Programme hast du schon geschrieben die Infos über WebAPIs abgreifen? Wieviele Interfaces für Repositories hast du schon verfasst? Hast du überhaupt schonmal mit einer Datenbank gearbeitet, am Terminal, ohne Tool dazwischen? Schreib uns mal ne Zeile Beispielcode um einen string zu hashen, hier im Forum, ohne es zu googeln.

Wir sind wieder beim Bäcker der uns Tiefbau erklären will.

Du „denkst dir etwas“ zu einem thema, zu dem dir offensichtlich sämtliche Hintergründe fehlen. Daher ist es egal was du einschätzt, was du denkst wieviel Aufwand etwas wäre, oder welcher Meinung du bist wieviel so etwas bringen würde…du kannst es technisch nicht einschätzen.

Zu wem gehst du wenn du seit 20 Tagen Kopfschmerzen hast…zu deinem Freund der in einer KFZ Werkstatt arbeitet, oder zu einem Neurologen?

Vermutlich weil du gesagt hast, dass man alles, was unbekannt ist, flaggen soll.

Was für Wegpunkte? Meinst du Map Koordinaten? Das macht auch jedes Map Addon oder jedes Zweite Plugin für Leisten Addons, oder TukUI oder ElvUI etc.

Um Spells in einer bestimmten Reihenfolge zu aktivieren, benötige ich kein Addon. Das macht der Bot einfach selber. Unabhängig davon, verstehe ich nicht ganz wie man seine Rota in WeakAura drin haben soll. Du kannst mit der API und demzufolge auch mit WeakAura nicht automatisiert eine Rotation abfeuern. Du kannst maximal Castsequences mit Makros machen, was aber auch wieder was anderes ist.

Wat?

Wat wat? Curse ist nicht die einzige Bezugsquelle für Addons und selbst wenn alle Bezugsquellen Hashes für jedes einzelne Addon und jede einzelne Version berechnen würden und diese dann auch noch mit Blizzard teilen, hast du immer noch tausende WeakAuras, Makros und sonstige unbekannte Addons. Nochmal: warum sollte jemand sowas tun?

1 Like

is Ok ! Damit weißt du es trotzdem nicht genau, wäre ja auch schlecht, denn sonst könnte Blizz Warden auch abschalten.

Überheblichkeit ist der Feind des Denkens.

Um es noch 1000 mal zu sagen, das macht keinen Unterschied, denn es soll die Profilerstellung unterstützen und nicht ersetzen, Curse ist nun mal der größte und ein unbekanntes Addon ist nur EIN INDIKATOR, MEHR NICHT.

HIer `
public class HashPassword
{
public static string Run(string password, string salt)
{
MD5 md5Hasher = MD5.Create();
byte data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(password + salt));

    var stringBuilder = new StringBuilder();

    for (int i = 0; i < data.Length; i++)
        stringBuilder.Append(data[i].ToString("x2"));


    return stringBuilder.ToString();
}

}`

Unser Paswordhasher, den habe ich gemacht, das eine oder andere habe ich schon geschrieben. Jaj a ich weiß nicht mehr sicher. Mit dem Saltstack gehts aber klar.

Doch weiss man. Und wir sind wieder beim Thema. Du weisst nicht was ein Programm wie gdb, fiddler oder IDA ist, bildest dir einfach irgendeine Meinung, und glaubst damit hättest du genauso einen Wertvollen Beitrag zum Thema wie jemand der sich auskennt.

Überheblichkeit ist der Feind des Denkens.

Richtig. Und weisst du was zB. Überheblich ist? Der Glaube zu jedem beliebigen Thema mitreden zu können, egal wieviel man über die fachlichen Hintergründe bescheid weiss.

und ein unbekanntes Addon ist nur EIN INDIKATOR, MEHR NICHT.

Und jeder einzelne dieser Indikatoren setzt ein Flag.
Und jedes dieser Flags bedingt Kontrolle.

Kontrolle == Mannstunden.
Mannstunden == Investition.
Investition == Kosten.
Kosten == Gewinnschmälerung.

Und an dem punkt in unserer Gedankenkette angelagt, gehen schlaue Manager zu Leuten wie mir und Evabaum, und fragen sie wie hoch die Kosten, und was der vorraussichtliche Nutzen wäre.

Netter Versuch mein Freund.
Den Code hast du von hier copypasted:

https://books.google.at/books?id=esxPDwAAQBAJ&pg=PA250&lpg=PA250&dq=var+stringBuilder+%3D+new+StringBuilder();for+(int+i+%3D+0;+i+%3C+data.Length;+i%2B%2B)stringBuilder.Append(data%5Bi%5D.ToString(%22x2%22));&source=bl&ots=lXy9Hq6A_Y&sig=ACfU3U2W6o2nOwodzlltsG_OQQaHQ_-dsw&hl=de&sa=X&ved=2ahUKEwimy-r19drnAhWpQkEAHdPFDIEQ6AEwAHoECAQQAQ#v=onepage&q&f=false

Wenn du schon versuchst Fragen mit copypasta zu beantworten, mach dir wenigstens die Mühe die Variablen umzubenennen.

Nee ein Flag wird gesetzt wenn viele Indikatoren zusammenkommen und wird weitestgehend automatisch gemacht, nur Flaggs werden überprüft.
Also fällt deine Kostenabrechnung anders aus.
Mit Fiddler kannst du Programmteile testen, benutzen wir in unserer täglichen Arbeit.

Erzähl doch keinen Schwachsinn Bro. Ich weiß ja nicht wie du programmierst aber die meisten Probleme sind doch gelöst und werden natürlich kopiert, deswegen wirst du auch die meisten Codes für Standardanwendungen wie dem Hashen irgendwo finden. Zudem schau dir den Code mal an, meiner wäre angepasst, nicht schlecht für jemanden der Null Plan hat :smiley:.

Ich bin jedenfalls mit der Diskussion hier fertig.

Schreib noch was wenn du willst, ich antworte nicht mehr drauf. Dein Vorschlag würde aufs gründlichste durchgekaut und abgelehnt. Ciao.

Ganaha das ist wirklich süß, als wenn du bestimmst was abgelehnt wird.

Dann schreib mal einen Schnipsel, der „die Wegpunkte alle paar Sekunden abfragt“.

Ich bin mir schon relativ sicher, dass Blizzard Heuristiken hat, die das Verhalten der Spieler an sich auf bestimmte Auffälligkeiten hin überprüft. Wenn man z.B. immer in exakt den gleichen Zeitabständen die gleichen Eingaben macht, dann ist man ziemlich sicher kein Mensch. Das ganze hat aber mit der API oder Addons im allgemeinen nichts zu tun und das muss auch nicht unbedingt Warden machen.

Tut er genau so wenig wie du oder ich. Aber er hat offensichtlich deutlich mehr Ahnung als du und ich stimme ihm zu, dass deine Ideen zum Überwachen von Addons ziemlich sinnlos ist. Wenn die API etwas kann, was missbraucht werden kann, dann wird es von Blizzard eingeschränkt und damit hat es sich dann. Beispiele dafür wären unter anderem Funktionen wie CastSpellByID(), die nur noch vom Standard UI (sprich von Blizzard selber) genutzt werden können. Das war früher anders, womit z.B. Dinge wie das alte HealBot möglich waren. Ein anderees Beispiel wäre das Einschränken der Reichweite des Kampflogs um Spy zu nerfen.

Wenn man die API aber so weit einschränkt, dass sie auch keine Infos mehr liefern kann wie die Map Koordinaten oder Hitpoints einer Einheit, dann kann man sie auch abschalten, dann hat sie keinen Nutzen mehr. Und nur um das mal klar zu stellen: das sind alles Dinge die es Bot Author einfacher machen, darauf angewiesen ist er dennoch nicht.

Irgendetwas auseinander zu nehmen war schon immer deutlich einfach als selber einen Vorschlag zu bringen. Ihr habt ja bis jetzt immer nur gesagt, GEHT NICHT. Vorschläge zu wie Bots zu erkennen sind, sind von euch keine gekommen.

Bei näherem überlegen, muss man nicht mal an die Addons ran eigentlich reicht es die Api zu filtern und daraus ein Profil zu erstellen, denn die Befehle werden ja immer über die Api abgefragt.
Das man damit kein sinnvolles Profiling betreiben kann, möchte ich ganz hart bezweifeln.

Ich habe schon mehrfach gesagt was gemacht werden kann und was davon Unsinn ist. Wenn du, wie jetzt schon offenbar mehrfach vorgekommen, meine Beiträge nicht liest oder ignorierst, dann hör auf mir zu unterstellen ich hätte keine Vorschläge gemacht.

Bots gibt es nicht nur in Online Spielen und auch nicht erst seit gestern. Es gibt leider nur ein wirklich wirksames Mittel, was auf ein Spiel anwendbar wäre, und das ist ein Captcha, das hab ich schon lang und breit erklärt. Natürlich will sowas niemand, helfen würde es aber definitiv.

Und gerne nochmal: Blizzard ist auf sinnvolle Botmeldungen von Spielern angewiesen. Alle Maßnahmen, die sie sonst ergreifen können (welche allesamt mit Sicherheit eher wenig Erfolg versprechen), haben sie mit Sicherheit schon ergriffen. Und auch das nochmal, weil du immer noch darauf herum reitest: die API, in welcher weise auch immer, zu „profilen“ um damit Botuser auszumachen, macht keinen Sinn, weil es so gut wie keine Indikatoren gibt, die da wirklich für taugen. Und die Botuser sind nicht sowieso nicht auf die API angewiesen.

Neimals habe ich behauptet, das man mit meiner Methode fehlerlos, Bots erkennt auch habe ich nicht behauptet das Blizz was wirkungsvolles hat, Blizz ist eben hintendran,das sind ein paar Sachen die du ignorierst.

Ein richtiger Botprogrammierer ist nicht auf die Api angewiesen das ist richtig aber dann bleibt nur der Ram und da wird der Aufwand wieder hoch.

Denn WIe alle großen Bots, haben die den Ram benutzt und in dem Bereich ist Warden wirklich fit. Die meisten Bots momentan sind aber nunmal Pixelbots oder ähnliches und benötigen die Api, das Blizz das ignorieren wird auf längere Zeit wage ich zu bezweifeln, nur sind die Möglichkeiten eben diese zu erkennen auch auf die Api beschränkt, es gibt mit Sicherheit auch andere Indikatoren.

Letztendlich muss immer manuell überprüft werden aber zum einschränken macht es Sinn. Selbst wenn es nur schwache Indikatoren gibt, wie die Rota und meinetwegen ein Addon was Coords anzeigt, könnte eine Meldung von einem SPieler zu einem Flagg reichen, während andersherum vielleicht 10 Meldungen nötig wären. Es geht nicht darum fehlerfrei Bots zu filtern sondern einfach nur die Masse der zu Überprüfenden einzuschränken. Denn fast jeder Bot wird manuell überprüft bevor er auf die Bannliste wandert.

Ich denke momentan ist Blizz auch einfach mit der Masse der Bots überfordert.

Und ich habe nie behauptet, dass du sowas behauptet hättest. Also hör auf mir sowas in den Mund zu legen. Mir ist schon klar, dass auch du deine Methode nicht als Bulletproof hinstellst, aber sie ist halt trotzdem sinnlos.

Dieser Satz zeigt nur wieder wie wenig Ahnung du hast. Da wiederhole ich mich jetzt nicht zum 10. mal. Du kannst aber gerne nochmal alle meine Posts lesen, vor allem die zu den Themen Screengrabbing und Pixelbots.

Ich verstehe immer noch nicht, was du damit meinst.

Genau das erreichst du damit aber nicht. Ich behaupte einfach mal, dass mindestens die Hälfte aller Spieler irgend eine Art Addon hat, welches Koordinaten anzeigt und beim Farmen immer die gleiche oder nur sehr marginal abweichende Rota benutzt (was auch immer die Rota jetzt mit Addons zutun haben soll). Dann hast du der Hälfte der Spieler einen Flag verpasst und weißt bei der anderen trotzdem nicht, dass sie nicht botten.

Auch das melden von Bots ist auch nur dazu gedacht eine zu überprüfende Spielermenge einzugrenzen und auch da gibt es keine Garantie, dass es in der anderen Menge nicht doch auch Botuser gibt. Der Unterschied ist aber folgender: es wird nicht die hälfte der Spieler als Bot gemeldet und dank Androhung von Konsequenzen bei Missbrauch dieser Funktion sollte sich der Missbrauch davon eh schon in Grenzen halten. Das einzige was wir wirklich tun können um zu helfen ist halt sinnvolle Meldungen zu machen.

Wenn du mich fragst ist jeder automatisch überfordert, der Bots ausschließen soll, ohne dabei auf Bewährte Methoden zurückgreifen zu können. Da kann man eigentlich nur auf immer neue Bots reagieren. Manuelle Überprüfung ist dazu mit Sicherheit nötig, das sagte ich ja auch schon. Da würde dein Vorschlag aber die Masse der zu überprüfenden nicht verkleinern sondern deutlich vergrößern.