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

  • Guten Tag,

    Ich versuche gerade eine möglichkeit zu finden meine .ply datei die ASCII verschlüsselt ist zu verarbeiten.
    Gibt es eine möglichkeit zu sagen slot1=02 00 00 00 00 00 00 00 00 00 00 liegt bei Offset=000000310 von 05-0F = $slot1

    Mein erster Lösungsansatz war den Datensatz mit _StringBetween($file,"02","02") auszulesen und wenn wert der zwischen 02 02 genau 20 Zeichen hat ist es ein Inventarslot! Klappt super bis auf das Problem wenn in dem Stringbetween(02,02) eine 02 zwischen den 20 Zeichen liegt splittet er nochmal auf. Somit keine 20 Zeichen mehr und ein Inventarslot fehlt.

    Deswegen muss ich glaube ich die Datei in Hex einlesen und die Inventar Slots per Offset festlegen die frage ist nur wie....
    Ist das möglich?

    Ich habe ein bild hochgeladen vieleicht erklärt es das etwas besser.
    02 00 00 00 00 00 00 00 00 00 00 = 1 Inventarslot

    Kann mir jemand folgen?

  • Im Normalfall gibt es dort entweder einen bestimmten einstiegspunkt, oder eine bestimmte anzahl an bytes, von einem bestimmten punkt aus, an der Stelle geht das Inventar dann los. Der Server muss die Datei schließlich auch zuverlässig öffnen können. Ab diesem Punkt werden dann immer X-Bytes eingelesen, je Slot, und danach wird der Inventarbereich mit einer Byte-Kodierung abgeschlossen, oder er hat eine bestimmte länge.
    Auf die Weise zu arbeiten, wie du es jetzt tust ist sehr Risikoreich... Wer weiß, was für Daten da reingeschrieben werden. Wenn dort dann an einer Stelle zufällig die gleiche ANzahl zwischen 2 02 ist, zerschießt es dir die gesamte Datei.

  • Also Anfang vom Inventar müsste der Hexwert 0A

    0A= Zeilenvorschub

    Zeilenvorschub Bewegt den Druckkopf/Cursor in die nächste Zeile. Wenn zwischen Sender und Empfänger abgesprochen, bedeutet es „New Line“, wobei die erste Druckposition der nächsten Zeile angefahren wird. Wird unter Unix und Mac OS X als „Zeilenendezeichen“ benutzt. Unter Microsoft Windows wird mit der Kombination „Carriage Return“ + „Line Feed“ eine Zeile beendet

    Ende des inventars = 03 = Ende des Textes

    Ende des Textes Markiert das Ende der zu übertragenden Nachricht. Als „Abbruch“-Zeichen für Terminaleingabe benutzt. Als „Sitzungsende/Logout“ für manche Befehlsinterpreter benutzt.

    Das würde bedeuten ich müsste alles zwischen dem 0A zu dem besagtem 03 abfangen, nur da habe ich wieder das problem, das wenn ein 03 mitten drinnen vorkommt er rausspringt ...

    oder gibt es die möglichkeit zu sagen ab dem string=01 zähle xbytes bis zu 03, wenn xbytes =50 bis 03 dann inventar voll eingelesen trenne ab 0A alle 20 zeichen für 1 slot

    Und es müsste die möglichkeit geben wenn als Hex ausgelesen wird zu definieren das 1 hex = 2 zeichen sind oder z.b nach jedem 2ten zeichen ein leerzeichen damit die zeichenfolge 00A0 nicht auch als 0A erkannt wird weil normal wäre es ja 00 A0 somit keine 0A

  • Naja. Wenn du die länge der Inventareinträge kennst: dann muss die 03 ja immer am Anfang stehen.
    Normal ließt man solche Dateien Byteweise ein, oder Binär... mit Strings wirds blöd.
    Naja. Ich würde empfehlen, dass du Zeilenweise einließt. Es scheint ja so zu sein, dass die Datei durch Zeilenumbrüche getrennt ist. Dann splittest du die Anzahl Bytes, bis am Anfang die 03 steht.
    Mit AutoIt hab ich sowas noch nie gemacht/nie gebraucht... hab immer Java oder C/C++ genommen :/
    Ich denke, andere kennen sich damit besser aus.

  • Habe jetzt meine Hexdatei erstemal umgebaut ;)
    jedem zweiten zeichen ein leerzeichen reingepackt


    AutoIt
    $text = $erg
    $i = 0
    $j = 2
    While StringLen($Text) > $j
    	$i += 1
    	$j = $i * 2 + ($i - 1)
    	$text = _StringInsert($text, " ", $j)
    WEnd
    MsgBox(0, "", $text)

    Jetzt habe ich das problem mit dem 00A0 wird als 0A erkennt erstmal ausgemerzt ;)

    also habe nochmal genau nachgeschaut also ein inventarslot fängt DEFINITIV mit dem hex 02 an und hat dann 10 x 00 hinter sich also insgesammt 22 zeichen.

  • Ordne mal bitte deine Gedanken, erst willst einen teil einfügen, dann willst ihn plötzlich ersetzen und nun willst wieder was ganz anderes. Sag mal klar was du nun machen willst. Hier noch ein Versuch und dann bin ich raus aus dem Thread bis mal klar sagst was nun wirklich vor hast. Mit dem Script hast nun zumindest 57 Slots, was laut Screenshots welche ich zu dem Game gefunden habe wohl auch stimmt.:

    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.

    5 Mal editiert, zuletzt von chip (6. Mai 2016 um 08:30)

  • :party::party::party::party::party::party::klatschen::klatschen::klatschen::klatschen::klatschen::klatschen::klatschen:
    WoW danke hat geklappt ;)

    Jetzt habe ich nurnoch Probleme in der Berechnung wie viel von jedem Item auf dem Slot liegen ;)
    Nehmen wir das beispiel,

    Slot28=02000000000000E5085E01
    slot=02000000000000E508
    itemid=000000000000E508
    ammount=5E01<----- dieser wert ist verdreht. der wert Ingame ist = 350 items (Dezimal) in hexadeizimal sind es (15E)

    Wenn ich jetzt genau hinsehe steht dort unter ammount auch 15E, nur verdreht.....

    Gibt es irgendwie die möglichkeit zu sagen wenn die letzten beiden Zahlen nicht 00 sind sonder 01 - 09 z.b das er diese zahl dann nach vorne legt? z.b von 5e01 zu 15e0 und die 0 rauszucutten?

    oder würde es reichen die 2 hexa´s einfach umzudrehen ? ?(
    code bis jetzt bitte nicht hauen ;)


  • Danke, die Idee ist es auslesen zu können und bei bedarf sein inventar zu leeren oder das gecheatete item rauszunehmen und seinen account zu verwarnen

    Nette Erköärärung, das Auswerten über Cronjobs und bei Bedarf zurücksetzen auf letzte gesicherte Datei würde genügen. Weniger Aufwand und im Rahmen deiner Fägigkeiten, falls du wirklich Yama bist sollte dies ja kein Problem sein.

    @Mod/Admin: macht endlich die Vorlage für das (falls erfolgreich) beste Cheatprogramm dicht-

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

    Es reicht langsam!
    Die Admin´s / Mod´s haben entschieden!

    Nochmal wieso CHEATPROGRAMM! die Daten liegen auf dem RootServer!
    Und ich bin B1rdY nicht Yama!

    Was hat das bitte mit den Cronjobs zu tun, Somit kann ich immernoch nicht einsehen wer was im Inventar hat!
    Und wenn du von dem Spiel oder dem Server wie er Strukturiert ist keine Ahnung hast UNTERLASSE so aussagen ganz einfach

    Und wieviel Arbeit und Zeit und kraft ich in meine Projekte stecke geht dich ja absolut garnichts an.
    Halte dich bitte einfach aus diesem Thread raus das kann ja wohl nicht wahr sein !

    Nochmal ich kann dir mein Programm gerne Zeigen damit du Siehst das es ein ServerManagerTool für unseren Server ist so eine engstirnigkeit ist der wahnsinn!

  • Und ich bin B1rdY nicht Yama!

    Sagtest du nicht du bist der Verantworliche für galaxy9.de? Laut dortigem Impressum ist dies aber Yama,

    einen Vogel mag es dort zwar geben, er ist aber nicht aktiv:

    Es wurden keine mit Ihrer Suchanfrage - birdy site:galaxy9.de - übereinstimmenden Dokumente gefunden.

    Desweiteren bin ich nach ausgiebigen Recheren zu dem Schluss gekommen, daß mindestens ein Mod (ich würde seinen Nick mit bösem Eindringling übersetzen) gegen Spende bereit ist Spielern Vergünstigungen zu geben. Seltsamerweise könnte selbiger dein (falls es jemals fertig wird) Programm als Gelddruckmaschine benutzen.
    Da dein Programm dazu in der Lage wäre Spieler zu bevor- bzw. zu benachteiligen und da du Zugriff auf den Server hast also auch dich bevorteilen kann sehe ich den Verstoß gegen die

    gegeben.

    Wenn ich Tante Google nach Meisterlampe frage erhalte ich u.a. diesen Hinweis:

    Zitat von Tante Google

    meisterlampe00 is a Hack User at High-Minded. ... There are no messages on meisterlampe00's profile yet. Show Ignored Content. Loading... Loading.

    Was hat das bitte mit den Cronjobs zu tun,

    Mit Cronjobs kann man (auch einzelne) Dateien sichern, Auswertungen (gegen die ich ja nichts habe) starten und bei Bedarf den vorhergehenden Zustand wieder herstellen. Und immer noch über der Gürtellinie: wer keine Ahnung vom Administrieren eines Servers hat sollte die Finger davon lassen.
    Hätte der Entwickler des Spieles gewollt das irgendein Vogel seine Invetardateien tweakt, hätte er selbst ein Tool mit gegeben oder zumindest den Aufbau der Datei dokumentiert.
    Jetzt vielleich knapp drunter: Du magst zwar viele Hobby haben, aber Programmieren solltest du sein lassen.

    3 Mal editiert, zuletzt von autoBert (6. Mai 2016 um 22:11)

  • Diesen namen habe ich gewählt weil MeisterLampe oft-immer vergeben ist.
    Und somit bin ich dabei geblieben aber mit so einer Seite habe ich definitiv nichts am Hut.
    Desweiteren sehe ich gerade das diese Seite irgendetwas mit Counter-Strike oder anderen Ego-Shootern zu tun hat!


    Soll ich jetzt den Namen Autobert? oder Chip in google werfen was dort herauskommt!
    Aber danke für das kompliment. Scheinbar bin ich dir so ein Dorn im Auge das du jetzt mit so einem mist kommst

    Das Verkaufen von Donations gegen Items ist bei uns Verboten!
    Desweiteren würde es gegen die Richtlinien von Empyrion verstoßen.

    Yama und Ich sind die einzigsten die Zugriff auf den RootServer haben!

    Desweiteren werde ich mit dir nicht mehr Diskutieren ich bin nicht deine Frau!

    Ich bitte jetzt mal einen Admin/Mod zur hilfe.
    Der sich mein Programm ganz genau anschaut.

    Das ganze wird mir hier echt zu wieder!

    Hier wird nach der Nadel gesucht!

  • Was für ein Glück für mich.

    Sind wir hier im Kindergarten? Es reicht langsam halt dich jetzt zurück und warte auf die Antwort der Admin´s / Mod´s


    Ich möchte auf mein Problem von Seite 2 Hinweisen,
    Jemand eine idee ob der Tausch der Hexa´s ausreichen würde?

  • Sind wir hier im Kindergarten? Es reicht langsam halt dich jetzt zurück und warte auf die Antwort der Admin´s / Mod´s

    ich verstehe zwar dein Bedürfnis das Thema über die Bühne zu bekommen, ich habe auch nichts dagegen wenn dies auf der PN-Schiene geschieht. Aber solange du nicht weist wer, was du bist:

    Ich bin ServerHoster von Galaxy9.de

    werde ich hier weiter recherieren und die Ergebnisse posten. Und anscheinend habe ich die Nadel im sogenannten Heuhaufen gefunden, sonst hättest du nicht gleich von Anfang an so empfindlich reagiert. Das Thema wäre schon längst gelöst.

    chip: hast du in's Impressum geschaut? Der Hase legt faule Eier (MeisterLampe OO macht falsche Angaben, er ist weder der Hoster, noch der Verantwortliche im Impressum und als Birdy hat er auch noch keinen einzigen Beitrag auf Galaxy9 geschrieben).

    auch ich kann mich wiederholen:

    Hätte der Entwickler des Spieles gewollt das irgendein Vogel seine Invetardateien tweakt, hätte er selbst ein Tool mit gegeben oder zumindest den Aufbau der Datei dokumentiert.

    4 Mal editiert, zuletzt von autoBert (6. Mai 2016 um 23:08)

  • @autoBert sorry aber es nervt gerade wirklich. Das ist ein Game in der Early Access, jede kann davon nach belieben selber einen Server aufsetzen. Wo da eine Gelddruckmaschiene siehst ist mir schleierhaft. Wirkt gerade wirklich so als versuchst mit allen Mitteln recht zu behalten.

    @meisterlampe00 kannst mal noch paar Beispiele mit item id und Anzahl posten und welcher dezimalwert da rauskommen soll.

    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 (6. Mai 2016 um 22:40)

  • @autoBert sorry aber es nervt gerade wirklich. Das ist ein Game in der Early Access, jede kann davon nach belieben selber einen Server aufsetzen. Wo da eine Gelddruckmaschiene siehst ist mir schleierhaft. Wirkt gerade wirklich so als versuchst mit allen Mitteln recht zu behalten.

    Soll ich jetzt wirklich mit Hilfe von Social Media nach Leuten suchen die (wie ein Testaccount) mit einem Wink mit dem Scheunentor zum Spenden aufgefordert wurden?

    • Offizieller Beitrag

    Haut euch doch mal ein bisschen.
    Was soll diese Kinderkacke?
    @autoBert, wenn dir der Thread nicht zusagt, dann ignoriere ihn einfach und gut ist.

  • Zitat

    Haut euch doch mal ein bisschen.
    Was soll diese Kinderkacke?
    @autoBert, wenn dir der Thread nicht zusagt, dann ignoriere ihn einfach und gut ist.

    Naja, muss ich nicht für mich war das Thema durch wo du diesen Thread freigegeben hast, aber irgendwie scheint im etwas an mir nicht zu passen.
    Ich habe ihn öfters gebeten sich aus dem Thread rauszuhalten. Aber es wirkt nicht. Manche Menschen sind eben für gewisse Positionen nicht geeignet.
    Ein bisschen Skepsis ist okay aber nicht so.
    Wenn man schon hingeht und alles immer vorwurfsvoll und Negativ sieht, anstatt froh zu sein das jemand wenn er ein Problem hat, dieses Forum auch aufsucht um der Community beizuwohnen und sich zu beteiligen.

    Jeder hat mal klein Angefangen! Das sollte man sich immer im Hinterkopf behalten.


    Vielen Dank für die Unterstützung und das Angebot euch mein Komplettes Toll mal anzuschauen steht selbstverständlich noch :)