Profis-Bitte. Datei auslesen, Hexwerte vergleichen und ändern.

  • Guten Tag,
    Meine überschrift dürfte nicht viel helfen, ich hoffe dennoch das sich jemand erbarmt mir zu helfen :(.
    Es geht um eine möglichkeit das Inventar von einem spieler Serverseitig zu Editieren

    Sprich .ply Datei auslesen bis zum punkt X = Variable=X
    inventory.txt auslesen wo ich die HEXwerte eingetragen habe Variable=Y
    .ply Datei auslesen ab punkt Z-ende Variable=Z

    Datei einlesen als Binary somit kann ich die hexwerte suchen oder nicht?

    am ende aus den 3 Variablen wieder eine korrekte .ply datei bauen
    Eine .ply lade ich anbei mir hoch genauso wie die inventory.txt


    Was muss ich jetzt tun? nochmal von BinarytoString ändern? oder gibt es die möglichkeit

    die eingelesenen Array´s direkt als Binary abzuspeichern? z.b _arraytobinary? oder etwas in der Art?

    Hat irgendjemand eine Idee wie ich das umsetzen kann?

  • Ich lese in deinem Skript $steamid und bin Profi genug um zu wissen, daß sich das Steamportal ausschliesslich mit Spielen beschäftigt.

    du mußt also eine gute Erklärung abliefern, damit dein Eröffnungsbeitrag wieder freigeschaltet und das Thema nicht komplett in der Tonne landet.

    mfg (auto)Bert

  • Ich bin ServerHoster von Galaxy9.de es geht darum die .ply dateien die NUR auf dem Server liegen auszuwerten und gegebenenfalls zu editieren.
    Die .ply Dateien sind Serverseitig abgespeichert. Es gibt in dem Spiel keinerlei möglichkeit das inventar des Spielers einzusehen. Und da das spiel noch Alpha ist lassen die Hacker nicht auf sich warten...

    Da mir schon öfters von Spielern berichtet worden ist das andere Spiele die sie Getötet haben ein item x9999 verloren haben z.b ist es mir langsam echt zu wieder sowas zu tollerieren.
    Es muss eine möglichkeit geben diese daten abzufangen auszulesen und so leute bannen zu können.

    Im endeffekt möchte ich mit diesem Tool .ply auswerten wenn er zuviel von einer xmenge hat seine ID markieren usw das ist aber nicht das problem.

    Mein ServerManagertool ist schon voll funktionsfähig und läuft nur Serverseite auf dem Root. Interagiert per Telnet mit dem Lokalen Server

  • ich kann auf die schnelle nicht feststellen, daß du der rechtmäßge Eigentümer von Galaxy9.de bzw. einer der Bevollmächtigteen bist. Die Entscheidung überlasse ich daher unseren Mod's bzw. Admins, wundere mich aber das ein Hoster keine geeigneten Werkzeuge hat und auf anderen Foren betteln gehen muß.

  • Was war unter der Gürtellinie? Galaxy9.de schottet sich ab, ich müßte dort erst einen Account eröffnen. Tante Google findet jedenfalls kein Mitglied Meisterlampe. Das du der Hoster dieses Servers bist könnte man also wirklich nur mit eigenem großen Aufwand nach vollziehen, denn ich habe nicht vor dort Mitglied zu werden.

    Eine offizielle EMail des Serverhosters an @Raupi bzw. @Gun-Foodwäre evtl. hilfreich.

    Und das ein benötigtes Tool fehlt, sollte man über Auftragsprogrammierung lösen, schließlich will man ja selbst (=Galaxy9.de) Geld verdienen.

  • @autoBert
    Jetzt schweift mal nicht vom Thema ab, ihr könnt euch privat weiterstreiten ob das jetzt nun ein Bot ist oder nicht.
    Nach der Aussage von @meisterlampe00 geht es nur um ein Tool das serverseitig eingesetzt wird um .ply Dateien zu editieren/verwalten.
    Er bezieht somit keinen Vorteil für sich oder andere Spieler in dem Spiel. Das hat mit Bots (zumindest mMn.) nichts zu tun.

    • Offizieller Beitrag

    Ich sehe bis jetzt keine Probleme mi dem Thread, deshalb hab ich ihn wieder freigeschaltet.

  • Danke, ich versuche mir das ganze anzueignen komme aber echt auf keinen grünen zweig aua

    wie bekomme ich die definierten offsets`?


    Kann man eventuell alle unnötigen beiträge löschen damit es wieder etwas übersichtlicher ist?

  • Erstmal noch zwei Fragen dazu:

    1. Ist das ein richtiges ply-File? Sprich ist darin eine Punktwolke gespeichert?
    2. Geht das was du vorhast überhaupt so? Sprich hast das ganze mal per Hand mit einem Hexeditor gemacht?

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hexwerte schon per Hand geändert und hat funktioniert. Die Einzelnen Id´s usw muss ich mir dann später zusammen Doktoren.
    Das spiel ist eine Weltraum Simulation mit XYZ werten ich denke es wird eine richtige .ply Datei sein.
    Die Datei die ich hochgeladen habe ist von meinem Spieler Leer, also kann sie gerne angeschaut werden:)

    Jetzt geht es erstmal darum es editieren zu können.

    Code
    nehmen wir den wert: 02 00 00 00 00 00 00 00 00 00 ; wäre z.b Ein Leerer Inventarslot.
    
    
    02 00 00 00 00 00 38 07 98 00   150 einheiten .50 Kaliber munition
                     { ^  } { ^ }
                       |      |Anzahl der Items
                       | ItemId
  • Ich sehe bis jetzt keine Probleme mi dem Thread, deshalb hab ich ihn wieder freigeschaltet.

    Ich schon allein in der Tatsache das er in der Öffentlickeit diskutiert wird und lt. TE, die Datei die erorbenen (gekauft oder erspielt) Items 1) eines Spielers enthält. Zum auswerten muß niemand die Daten einer solchen Datei ändern. Das Thema hat somit also großes Potential als Vorlage für ein Cheating Programm zu dienen.
    Gerade ein Hoster mit Angst vor BOT's würde imho soetwas nicht öffentlich diskutieren. Zum anderen sollte ein Gameserver-Betreiber auch in der Lage sein dafür ein Paar € springen zu lassen, deshalb auch mein Hinweis 2), da dort ja nach 1. Kontaktaufnahme alles per PN läuft sähe ich dort auch kein Problem.

    Edit: Das ganze ist ein XY Problem: X=Irgendwelche Spieler cheaten, anstatt jetzt nur anhand einer Auswertung diese zu bannen, seinen Server und Game besser abzusichern wird Y versucht: das gecheatete rückgängig zu machen. Das hierbei (durch dieses Thema) gleichzeitig eine Vorlage entsteht, anhand derer noch mehr Spieler an das Wissen kommen: a) hier ist ein unsicherer Server, b) so funktioniert das Verfahren mit dem ich die Itemdatei nach Belieben ändern kann, wird dabei völlig übersehen.

    Selbstverständlich respektiere ich deine Entscheidung und werde mich ab sofort kommplet aus diesem Thema heraushalten, außer ein Mod/Admin fragt ausdrücklich nach meiner Meinung.

    mfg (auto)Bert

    1)

    Zitat


    meisterlampe00 schrieb:

    Im endeffekt möchte ich mit diesem Tool .ply auswerten wenn er zuviel von einer xmenge hat seine ID markieren usw das ist aber nicht das problem.


    2)

    Zitat


    autoBert schrieb:

    Und das ein benötigtes Tool fehlt, sollte man über Auftragsprogrammierung lösen, schließlich will man ja selbst (=Galaxy9.de) Geld verdienen.

    Einmal editiert, zuletzt von autoBert (4. Mai 2016 um 10:29) aus folgendem Grund: Klarstellung meiner Sichtweise

  • Hexwerte schon per Hand geändert und hat funktioniert. Die Einzelnen Id´s usw muss ich mir dann später zusammen Doktoren.
    Das spiel ist eine Weltraum Simulation mit XYZ werten ich denke es wird eine richtige .ply Datei sein.
    Die Datei die ich hochgeladen habe ist von meinem Spieler Leer, also kann sie gerne angeschaut werden:)

    Jetzt geht es erstmal darum es editieren zu können.

    Code
    nehmen wir den wert: 02 00 00 00 00 00 00 00 00 00 ; wäre z.b Ein Leerer Inventarslot.
    
    
    02 00 00 00 00 00 38 07 98 00   150 einheiten .50 Kaliber munition
                     { ^  } { ^ }
                       |      |Anzahl der Items
                       | ItemId

    Jetzt hab ich erst kapiert was du willst. Hab mal dein Script von oben angepasst:


    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Danke, ich werde es gerne mal ausprobieren ;)
    darf ich fragen für was das Binary("0x") steht?

    und sehe ich das richtig du nimmst die StingBetween direkt aus dem Array.
    StringStripWS?

    Vielen Dank

    Error :(
    Der Output der geänderten Datei=

    Code
    3078343235323934373830334531413530313030303434313642373536313034343136423735363130314531413530313030303130313030303030303031303030333841374430423437313336323331373236343539334332303343333332303533373736353635373435393230334133333030303046464646464646463030303030303030303030303030303030303
    
    
    
    
    OriginalDatei
    
    
    BR”xᥠAkuaAkuaᥠ    Š}Gb1rdY< <3 SweetY :3  ÿÿÿÿ                 ᥠÿÿ?·xÅ_ÕîA$·CM3@Ê\SCH4C    Åxv?    ÓbŠ¾     úC          úC  úC  úC    
                                     úC          úC  úC  úC
  • Also ich hab mir das nochmal ansgeschaut. Bei mir steht in der geänderten Datei fast das gleiche wie in der Orginal, keine Ahnung warum bei dir das nicht der Fall ist.

    Orginal:

    Code
    BR”xñz AkuaAkuañz     Š}Gb1rdY< <3 SweetY :3


    Geändert:

    Code
    xñz AkuaAkuañz     Š}Gb1rdY< <3 SweetY :3

    Das "BR"" fehlt weil du es ja in dem StringBetween abgeschnitten haben wolltest. Genauso fehlt am Ende ein ganzen Stück weil das auch weg haben wolltest.


    Falls du einfach nur den Bereich dazwischen ersetzten willst geht das z.B. so, dann sind die Dateien wieder exakt gleich:


    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    Einmal editiert, zuletzt von chip (4. Mai 2016 um 10:23)

  • Aber wo ist dann mein Fehler?

    Bei mir steht dort nur der Hexcode ;(
    Hab mich etwas schlauer gemacht ;). Der Code in der Original datei ist Ascii kannst du damit etwas anfangen?

    Habe es jetzt so angepasst aber irgendwo ist der wurm drinnen...

    Die datei sieht gleich aus, allerdings geht er hin und packt die inventorydatei zwei mal rein so wie es aussieht

  • Da wird nix doppelt reingepackt sondern schlicht der alte Inventarteil nicht überschreiben. Dein Änderung des zweiten StringBetween von "E5085E" nach "7D0B47" sorgt dafür, dass schon ganz am Anfang ein Treffer ist. Da wird dann das Inventar reingemacht und dann ist es natürlich doppelt drin.

    Woher hast die Info, dass diese ply Ascii ist? Das ply-Format kann zwar in Binary und in Ascii vorliegen, aber das ist eben keine ply. Es fehlt der Header usw.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    Einmal editiert, zuletzt von chip (4. Mai 2016 um 15:27)