AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

DX5 Overlay

Ein Thema von RedShakal · begonnen am 23. Jun 2009 · letzter Beitrag vom 2. Jul 2009
Antwort Antwort
RedShakal
(Gast)

n/a Beiträge
 
#1

DX5 Overlay

  Alt 23. Jun 2009, 20:31
Hallo, ich hab mal ne Frage zu der ich zwar viel Gegoogelt habe, jedoch keine zufriedenstellende antwort gefunden habe.

Ich habe ein altes DirectX 5 Spiel.
Ich möchte auf möglichst einfachste weise einen Code schreiben, der auf dem Screen von dem Spiel einen Text ausgibt.

Ich möchte eine Ingame Statistik schreiben.
Normalerweise sieht man die Statistik erst am ende des Spiels, jedoch will ich einen Overlay schreiben, der oben Links am Bildschirmrand 2 Werte im Speicher ausliest und diese ausgibt.

Das soll ungefähr so aussehen: K 0 | D 0
Diese würde ich über einen Timer aktuallisieren lassen.

Wie man Werte in den Speicher schreibt weiß ich bereits, jedoch leider nicht wie man die selbigen ausliest.


DLL's möchte ich am liebsten meiden, da ich noch nie mit ihnen gearbeitet habe.

Ich habe schon viele Tutorials zum Thema Overlay gesehen, jedoch will ich das ganze nicht so Ultra Kompliziert machen... leider gibt es keine Anfänger tutorials in dem bereich.

Kann mir jemand helfen?

Ein einfacher Text auf dem Bildschirm würde auch zum anfang reichen, den rest könnte ich mir ggf. selbst erarbeiten.

PS.

MadCollection
Indy 10
JCL
JVCL

sind installiert.


Grüße Patrick
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: DX5 Overlay

  Alt 23. Jun 2009, 23:48
Zitat von RedShakal:
auf möglichst einfachste weise [...]
will ich das ganze nicht so Ultra Kompliziert machen...
Das ist leider das Problem an dieser Stelle: Es gibt keinen einfachen kompakten Weg. Im Wesentlichen scheint es generell 2 Wege zu geben da ans Ziel zu kommen:
1) Unterjubeln eigener DirectX DLLs, die alle Funktionen an die original DLLs weiterreichen und dann an allen Stellen noch eigenen Code hinzufügen können
Problem: Die DLLs exportieren eine riesige Menge Zeug, und manches davon auch mal gern un- bzw. wenig dokumentiert.
2) DLL-injection, wobei ich dort nicht genau weiss was da wo wie genau passieren muss. Injection ist aber für sich genommen schon nicht so simpel, und zudem reagieren viele Spiele mit ihren Anti-Cheat-Maßnahmen etwas allergisch darauf.

Ich habe selbt länger mal nach einem nicht zu krassen Weg gesucht - auch schon mit höherer Schmerzgrenze bei Komplexität und Aufwand, habe aber trotzdem dann doch irgendwann aufgegeben. So arg wichtig war es letztlich nicht für mich, und da ich dann eine G15 Tastatur hatte, hab ich meine Infos einfach auf deren Display geworfen und das Thema war durch

Das soll dich nun nicht davon abhalten es zu versuchen, aber verabschiede dich schon mal von Attributen wie "einfach" und "unkompliziert", und stell dich darauf ein, dass das durchaus zu den deutlich fortgeschrittenen Dingen zählt die man so programmieren könnte, und schon einiges tiefer geht als mal nen VCL Button aufs Formular ziehen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: DX5 Overlay

  Alt 24. Jun 2009, 00:03
Das ganze ist relativ. Dem einen scheint es kompliziert, dem anderen logisch und einfach.

Die Punkte, die du für solch eine Arbeit abarbeiten müsstest, wären, grob gesagt, folgende:

Eine DLL vorbereiten,
- welche durch Dereferenzierung von Pointern,
- die die Speicheradresse der Werte beinhaltet (ermitteln durch reversing), ausliest (simple)
- die Routine, die zur Ausgabe des Gezeichnetten dient, "umbiegen"
- und vor dem Aufruf der orginalen Routine Code ausführt
- welches die zuvor ausgelesenen Werte auf dem Bildschirm zeichnet

Anschließend injecten

Zu all diesen Punkten befinden sich Sourcen im großen World Wide Web - klar nicht 1:1 aber in ähnlicher Form.

Nun liegt es an dir. Zeige "Eigeninitiative"

MfG
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#4

Re: DX5 Overlay

  Alt 24. Jun 2009, 00:06
Zitat von Medium:
Problem: Die DLLs exportieren eine riesige Menge Zeug, und manches davon auch mal gern un- bzw. wenig dokumentiert.
2) DLL-injection, wobei ich dort nicht genau weiss was da wo wie genau passieren muss. Injection ist aber für sich genommen schon nicht so simpel, und zudem reagieren viele Spiele mit ihren Anti-Cheat-Maßnahmen etwas allergisch darauf.
Kurzes Statement am späten abend noch dazu:
Ich hab letztens noch gelesen, dass wenn man es richtig macht nichts passieren kann.
Als Beispiel wurde XFire genannt und das es keine Whitelisten dafür gibt.

Aber bei einem DirectX 5-Spiel wird wahrscheinlich nichts passieren.
hier mal was ich auf die schnelle gefunden habe.
Frag mich nicht, ob Hooks jetzt die richtige/saubere/sichere Variante ist, ich kenn mich da immer noch nicht aus ( ), aber dazu könntest du mal in "uallHook" reinschnuppern.
  Mit Zitat antworten Zitat
RedShakal
(Gast)

n/a Beiträge
 
#5

Re: DX5 Overlay

  Alt 24. Jun 2009, 12:16
Also Anti Cheat stellt kein Problem dar, es geht um ein Spiel das von 1996 ist und nichtmal einen Online Modus besitzt. Es wird ab und zu über Hamachi von einer Hand voll Spielern gespielt. Leider kann man die Statistik immer erst am ende des Spiels einsehen, was sich schonmal 2-3 Stunden hinziehen kann. Daher möchte ich den Text ausgeben lassen.

Die besagten Pointer und ähnliches besitze ich bereits, diese werden momentan in einem externen Form ausgeben, funktioniert soweit auch prima. Allerdings ist es nervig immer das Spiel zu minimieren, vor allem weil alle anderen Clients pausiert werden.

Kann man mit einer DirectX 9 SDK auf die DirectX 5 Schnittstelle zugreifen oder benötigt man dafür eigene Header?
  Mit Zitat antworten Zitat
RedShakal
(Gast)

n/a Beiträge
 
#6

Re: DX5 Overlay

  Alt 2. Jul 2009, 16:56
*push*
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz