Brauche Unteschützung: Informationen aus einem Spiel bekommen

  • Hallo,
    ich habe zur Zeit ein Problem, welches nicht unbedingt ein Autoit problem ist, sondern eher ein Problem des Prinzips.
    Ich möchte gerne das aktuelle Level und die Spieleranzahl von Left4Dead auslesen und anzeigen können.
    Ich habe 2 ansätze:
    1. Ich könnte versuchen über die IP und den Port des Spiels an die informationen zu kommen, doch wie soll ich die Informationen auslesen, die Left4Dead sendet?
    2. Wenn man den Prozess von Left4Dead ausliest, kommt man ja an die informationen, doch bei jedem Neustart von left4dead verändern sich ja die Speicherplätze. (damit es gegen hacker geschützt ist)

    Nun ist meine Frage: Wie soll ich an die informationen kommen? Funktioniert einer des beiden Wege von mir oder gibt es noch einen dritten?

    MfG Oger-Lord

  • 1. Sniffer ?
    2. Du weißt, welchen Wert deine Lebenspunkte haben. Alle Speicherplätze auflisten, die den Wert haben.
    Verliere 1 Lebenspunkt. Der Eintrag von den vorigen, welcher eins kleiner wurde, zeigt deine Lebenspunkte.

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Hmm
    ich weiß ja nicht...

    Zitat


    Folgende Inhalte sind nicht erwünscht oder gar komplett verboten. Das Team behält es sich ausdrücklich vor, die Umsetzung der Regeln je nach Schweregrad zu verwarnen, zu löschen oder gar komplett zu sperren.

    - Bots für Spiele jeglicher Art, insbesondere Onlinespiele und ganz besonders Silkroad Online sowie World of Warcraft

    zu 2.
    das wirst du ja wohl mit sowas wie cheatengine auslesen oda?
    versuch an den pointer zu kommen (^^) einfach mal googlen

    Padmak

  • 1Sniffer? Dann müsste ich doch ein extra tool installieren lassen, das wollte ich aber vermeiden. :/

    2. Das Prinzip kenne ich und ich habe auch immer nach den mapnamen gesucht bis nur noch 6 Stück übrieg geblieben sind.
    Dann habe ich left4dead neugestartet und wieder gesucht und diesmal kamen andere Speicherplätze bei raus. :(

    Edit:
    Es wird kein Bot. Erstens braucht man für Left4Dead keinen Bot und zweitens arbeite ich an einem Left4Dead Launcher, dem Ogerlauncher.
    Wer mir nicht glaubt:

    Link zur Website:
    blub

  • ja sicher musst du was installieren
    hey kollege des soll dochn bot werden oder?
    bzw ein hack
    und die sin hier verboten (schau dir meinen letzten thread an)

    Padmak

    Edit:

    Zitat

    Ich möchte gerne das aktuelle Level und die Spieleranzahl von Left4Dead auslesen und anzeigen können.

    Was genau willst du damit anfangen?
    das hört sich doch extrem nach nem bot an...

  • Ok, ich hab ein wenig rumprobiert, trotzdem komme ich nicht an einen Pointer. Die Adressen habe ich bei cheat engine gespeichert und jedes mal wenn ich sie lade zeigen sie die aktuelle map an, aber die Adressen selbst verändern sich auch, wie macht cheat engine das?

    Hier nochmal ein Screenshot von meinen Bemühungen:

  • HALLO JUNGE hier sind bots nicht erlaubt!!!!

    Zitat

    Folgende Inhalte sind nicht erwünscht oder gar komplett verboten. Das Team behält es sich ausdrücklich vor, die Umsetzung der Regeln je nach Schweregrad zu verwarnen, zu löschen oder gar komplett zu sperren.

    - Bots für Spiele jeglicher Art, insbesondere Onlinespiele und ganz besonders Silkroad Online sowie World of Warcraft

    Meine Fresse is des so schwer?????

    Padmak

  • ok dann entschuldige ich mich

    aba für die adressen brauchst du den pointer der auf die statischen adressen zeigt
    und ich weiß nicht ob man den mit autoit verwenden kann... da kann es sein dass du auf delphi oder sonst was anderes ausweichen musst
    aba so genau kenn ich mich da auch nicht aus ich hoffe dass hier mal einer von den profis reinschaut

    Padmak

    Edit:
    Wie hast du des forum gemacht? wohl kaum selber oder?

  • Schade, hoffentlich weiß das noch jemand. Währe noch ein gutes Feature wenn die aktuelle map und die Spieleranzahl angezeigt würde.

    Forum:
    Ich hab einfach phpbb3 installiert und einen style von phpbb3styles.net genommen^^

    Edit: Hab mit gerade die datei angeguckt wo cheat engine die adressen speichert:

    Spoiler anzeigen


    CHEATENGINE No description©Çu engine.dll+3FC7A9 No description™Èu engine.dll+3FC899 No descriptionÝŠ engine.dll+548FDD No descriptionåŠ engine.dll+5490E5 No descriptioný•Š engine.dll+5495FD No description˜ù server.dll+60981D

    Heißt das es wird etwas aus der dll gelesen?

    Einmal editiert, zuletzt von Oger-Lord (22. Dezember 2008 um 20:33)

  • also den memory bearbeiten kann man mit der NomadMemory.au3
    ich hab sie dir nochmal hochgeladen (als entschuldigung für vorher :D)
    aba die meisten neuen Spiele nehmen das nicht an (Stichwort: Hackshield :thumbdown: )
    Nicht mal CoD2, obwohl das noch Statische Adressen hat :D

    Bei der NomadMemory kann ich dir helfen da kenn ich mich (ein bisschen) aus

    Padmak

  • Also das "normale" auslesen funktioniert:

    [autoit]


    #requireadmin
    #include<NomadMemory.au3>
    #include <String.au3>

    [/autoit][autoit][/autoit][autoit]

    $proc = ProcessExists("hl2.exe")
    If Not $proc Then
    MsgBox(0, "Error", "Process is not open, please run it first.")
    EndIf

    [/autoit][autoit][/autoit][autoit]

    $address=0x0799C7A9

    [/autoit][autoit][/autoit][autoit]

    $ID=_MemoryOpen($proc)
    If @Error Then
    MsgBox(0, "ERROR", "Failed to open memory")
    EndIf
    $map = _MemoryRead($address, $ID, 'char[28]')
    MsgBox(0,"Map: ",$map)
    _MemoryClose($ID)

    [/autoit]
  • hä wie jetzt?
    was genau ist jez dein problem?
    du ärgerst dich dass die Adressen bei jedem Start anders sind oder? (wenn ichs richtig verstanden habe)
    um da ansatzweise was machen zu können musst du offset/pointer der Adressen herausfinden
    (aber da kenn ich mich eigentlich auch nicht aus)^^

    Padmak

    Ps: Hast du meine PM bekommen?

  • Also an einen Pointer bin ich ja leider nicht gekommen.
    Ich vermute das er aus einer dll geladen wird, da cheat engine die passende Adresse bei jedem start kennt.
    Wenn ich aber erst die Adresse habe kann ich sie ohne probleme auslesen.

  • wie an einen Pointer bist du nicht gekommen???

    und ausserdem wie heißt denn die datei in der cheatengine die adressen speichert?

  • Du hast doch die Möglichkeit die Adressen die du ausgwählt hast zu speichern, damit du sie wieder beim nächsten mal laden kannst.
    Sie werden dann in einer .CT datei im Cheat Engine Ordner gepeichert. (meine hab ich ja weiter oben schonmal gepostet)

  • Oo
    du hast die .CT einfach so geöffnet?
    wenn du sie mit CE öffnest nach nem Spielneustart hast du dann wieder die Adressen vom letzten Mal bzw funktionieren sie dann?

    Padmak

  • Ja, ich hab sie einfach mit dem Texteditor geöffnet.

    Wenn ich die .CT nach dem Spielneustart lade, sind es nicht die Adressen vom letzten mal, sondern die, die diesmal den Wert des Mapnamens haben.

  • :D
    sowas war bei mir noch nie wenn ich des z.b. bei css ausprobiere dann sind des komplett andere werte
    is jan ding :D:D
    Hm was könnte man da machen...
    vielleicht gibts irgendein commandline tool das du dann über _RunDos aufrufen kannst...
    ich schau mich mal um

    Padmak

    Edit: Ich hab leider nix gefunden =(
    aber hast du schonmal geschaut ob du die werte aus der .CT irgendwie verwenden kannst?
    vielleicht kann man ja da was rauslesen...
    ich setz mich jez da mal hin :D

    Edit2: ich hab wieder nix gefunden sorry...
    man könnte natürlich die (relevanten) teile von CE per fileinstall auf den pc bringen und dann versteckt per ControlClick usw. immer neu suchen und die werte dann weiterverwenden -> extrem zeitaufwändig, ineffizient, unsicher usw
    aber was anderes fällt mir nich ein

    2 Mal editiert, zuletzt von Padmak (22. Dezember 2008 um 22:55)

  • Könnte ich nicht mit Autoit die Engine.dll an der Stelle "3FC899" (wahrscheinlich hex) auslesen und dann gucken ob dort drinnen der pointer oder ähnliches steht?