![]() |
In ein (exsistierendes) Spiel Text ausgeben
Ich bin neu hier und weis nicht ob diese Frage schon einmal gestellt wurde:
Wie kann ich in ein DirectX oder OpenGl Spiel/Programm (z.B. Counter Strike, Command and Conquer, Splinter Cell) Text ausgeben? Ich hab mal was von DX Overlays mit welchen das machbar wäre gehort, und auch von API Hooking, aber ich weis immer noch nicht wie das möglich sein soll. Für alle die einen Beweis brauchen dass dies möglich ist: geht auf ![]() Hat jemand eine idee wie dies zu bewältigen ist? Danke im voraus! |
Re: In ein (exsistierendes) Spiel Text ausgeben
Normalerweise bin ICH ja immer der Blinde, aber diesmal wohl nicht :mrgreen:
Hier guck dir das mal an, wo du schon auf ![]() ![]() Ach und es ist sogar beschrieben wie man die Fraps.dll in den Delphi Quellcode einbindet :wink: Also viel spaß damit, Mfg |
Re: In ein (exsistierendes) Spiel Text ausgeben
Nun, gewissermaßen hast du recht, aber lies dir mal meine Frage und das was im Fraps FAQ steht durch: Laut Fraps FAQ kann man zwar die framerate (usw.) von einem Spiel über diese DLL herausfinden, aber (außer ich bin wirklich blind) man kann mit ihr keinen Text in ein Spiel einblenden, was ich eigentlich will.
Dumm gelaufen ... |
Re: In ein (exsistierendes) Spiel Text ausgeben
"dumm gelaufen..."->Ja, für dich. ach was junge, ich will mal nicht so sein. Hier ist der Text wie du es anstellen kannst:
Zitat:
Ach und änder doch mal deinen Titel z.b. in : OpenGL+DirectX Overlays oder sowas,dann wissen die Leute auch was gemeint ist :wink: Mensch dauernd dieses ständige editieren. Sorry aber den quelltext dafür konnt ich leider nicht finden. Aber sicher wirst du hier im Forum einiges zusammensuchen können. Nix für ungut Mfg |
Re: In ein (exsistierendes) Spiel Text ausgeben
tja die sache hat nur einen haken: ich brauch mal nun den code und nicht ne beschreibung wie ich das anstellen kann ... sowas is zwar meist auch hilfreich, aber so wie es aussieht nicht in diesem fall: nen dll wrapper is nun wirklich das blödste was ich mir vorstellen kann und zum thema api hooking hab ich zu meinem problem hab ich nix direktes oder auch indirektes gefunden ... deshalb: problem! Aber ein code wäre hilfreich ...
Danke für den Tipp mit dem umbenennen |
Re: In ein (exsistierendes) Spiel Text ausgeben
zur erinnerung nochmal hervorgekramt ... hat jemand ne idee? wäre sehr praktisch
thx by c113plpbr |
Re: In ein (exsistierendes) Spiel Text ausgeben
Ich suche schon seit einiger Zeit genau das gleiche habe allerdings noch nichts gefunden. Vielleicht können wir uns ja ergänzen
|
Re: In ein (exsistierendes) Spiel Text ausgeben
Da war in letzter zeit nen beitrag mit nem link zu ner delphi komponente auf torrys pages, hieß OSD oder so, aber ich finde das thema nichtmehr, und ich weis auch nicht ob das in ein spiel eingeblendet wird, denn ich habe im moment kein richtig funktionierendes system auf dem ich das testen könnte ... wenn jemand so nett wäre ...
|
Re: In ein (exsistierendes) Spiel Text ausgeben
Wenn du mir sagst wo ich es finden könnte kann ich es testen
|
Re: In ein (exsistierendes) Spiel Text ausgeben
@ kurtm1:
Hab nachgeschaut: Das war deine Frage ... ![]() canvas funzt zwar, aber leider nicht allzugut (blinkt), hast du das osd beispiel schon probiert? |
Re: In ein (exsistierendes) Spiel Text ausgeben
Das Beispiel geht auch nicht. Blinkt die ganze Zeit und das mit einer Frequenz von 1ms oder so
|
Re: In ein (exsistierendes) Spiel Text ausgeben
nen freund hat schon versucht per mail etwas aus den leuten die fraps geschrieben haben herauszukriegen, aber er hat nur eine ablehnende antwort gekriegt ...
Mir is da grad so ne idee gekommen ... wenn man vielleicht gleich nachdem das Spiel einen neuen Frame gezeichnet hat das ganze mit canvas reinzeichnet, dass es dann funzt ?!? Noch was: ich habs mal fraps auseinandergenommen un hab mir rausgeschrieben was es aus welchen dlls holt, und hab dann mit hilfe der windows api versucht das ganze irgendwie zu rekonstruieren, aber das war fehlanzeige. Vielleicht kann jemand anders damit was anfangen: fraps.exe: ADVAPI32.RegCloseKey ADVAPI32.RegCreateKeyExA ADVAPI32.RegQueryValueExA ADVAPI32.RegSetValueExA KERNEL32.CloseHandle KERNEL32.CreateFileA KERNEL32.CreateMutexA KERNEL32.ExitProcess KERNEL32.FlushFileBuffers KERNEL32.FreeEnvironmentStringsA KERNEL32.FreeEnvironmentStringsW KERNEL32.FreeLibrary KERNEL32.GetACP KERNEL32.GetCommandLineA KERNEL32.GetCPInfo KERNEL32.GetCurrentProcess KERNEL32.GetCurrentThread KERNEL32.GetEnvironmentStrings KERNEL32.GetEnvironmentStringsW KERNEL32.GetEnvironmentVariableA KERNEL32.GetFileType KERNEL32.GetLastError KERNEL32.GetModuleFileNameA KERNEL32.GetModuleHandleA KERNEL32.GetOEMCP KERNEL32.GetProcAddress KERNEL32.GetStartupInfoA KERNEL32.GetStdHandle KERNEL32.GetStringTypeA KERNEL32.GetStringTypeW KERNEL32.GetSystemDirectoryA KERNEL32.GetTickCount KERNEL32.GetVersion KERNEL32.GetVersionExA KERNEL32.HeapAlloc KERNEL32.HeapCreate KERNEL32.HeapDestroy KERNEL32.HeapFree KERNEL32.HeapReAlloc KERNEL32.LCMapStringA KERNEL32.LCMapStringW KERNEL32.LoadLibraryA KERNEL32.MultiByteToWideChar KERNEL32.ReadFile KERNEL32.RtlUnwind KERNEL32.SetEndOfFile KERNEL32.SetFilePointer KERNEL32.SetHandleCount KERNEL32.SetStdHandle KERNEL32.SetThreadPriority KERNEL32.Sleep KERNEL32.TerminateProcess KERNEL32.UnhandledExceptionFilter KERNEL32.VirtualAlloc KERNEL32.VirtualFree KERNEL32.WideCharToMultiByte KERNEL32.WriteFile SHELL32.Shell_NotifyIconA SHELL32.ShellExecuteA USER32.CreateDialogParamA USER32.DestroyIcon USER32.DestroyMenu USER32.DestroyWindow USER32.DispatchMessageA USER32.GetCursorPos USER32.GetSubMenu USER32.GetSystemMetrics USER32.GetWindowRect USER32.LoadIconA USER32.LoadMenuA USER32.MapVirtualKeyA USER32.MessageBoxA USER32.MoveWindow USER32.PeekMessageA USER32.PostMessageA USER32.PostQuitMessage USER32.SendDlgItemMessageA USER32.SendMessageA USER32.SetForegroundWindow USER32.SetWindowsHookExA USER32.ShowWindow USER32.TrackPopupMenu USER32.TranslateMessage USER32.UnhookWindowsHookEx Das Proggi schien nicht gepackt zu sein, somit müsste das alles sein was es irgendwie auch immer macht ... |
Re: In ein (exsistierendes) Spiel Text ausgeben
Naja, das sind die statischen Imports. Da Fraps mit verschiedenen D3D-Versionen funktioniert, muss es die D3D-Bibliotheken dynamisch importieren. Und diese Imports sind hier natürlich nicht mit drin. Wenn du diesen Weg weiterverfolgen willst, musst du dir schon die Strings in der ausführbaren Datei anschauen - und daraus was zu erkennen halte ich für relativ utopisch ;c)
|
Re: In ein (exsistierendes) Spiel Text ausgeben
@ OregonGhost:
Du hast recht ... das hatte ich übersehen nun gut, kann jemand damit was anfangen: fraps.dll: "%.4d-%.2d-%.2d %.2d:%.2d:%.2d " "%s\%s %.4d-%.2d-%.2d %.2d-%.2d-%.2d-%.2d.avi" "%s\%s %.4d-%.2d-%.2d %.2d-%.2d-%.2d-%.2d.bmp" "\D3D8.DLL" "\D3D9.DLL" "\DDRAW.DLL" "\FRAPSLOG.TXT" "3DFXGL" "COSMOGL" "FRAPS.DLL" "glClear" "glClearColor" "glColorMask" "glDisable" "glEnable" "glGetBooleanv" "glGetFloatv" "glGetIntegerv" "glIsEnabled" "glReadPixels" "glScissor" "OPENGL32" "wglSwapBuffers" "wglSwapLayerBuffers" fraps.exe (steht glaub ich nichts allzuwichtiges drin): " ((((( " " " "%d" "%s" "%s\FRAPSSEC.TXT" "]_^[" "0" "ab" "Capture Key" "Could not locate FRAPS.DLL" "Could not locate the correct version " "D3D8.DLL" "D3D9.DLL" "DDRAW.DLL" "DINPUT8.DLL" "Direct3DCreate8" "Direct3DCreate9" "DirectDrawCreate" "DirectInput could not be loaded. " "DirectInput8Create" "Exit Fraps?" "Exiting Fraps will stop the counter " "Framerate On Screenshot" "FRAPS error" "FRAPS Error" "FRAPS warning" "Fraps" "FRAPS" "FRAPS.DLL" "FrapsCount" "FrapsKey" "FrapsProcCALLWND" "FrapsProcCBT" "FrapsRunning" "FrapsSetup" "FrapsVersion" "Hook Error" "Log Key" "Manual Logging" "Movie Capture" "Movie Framerate" "Movie Gamma" "Movie Key" "open" "Overlay Corner" "Overlay Style" "README.HTM" "Sampling Rate" "Screen Capture" "Second Logging" "SOFTWARE\Fraps" "Start Minimised" soviel dazu ... |
Re: In ein (exsistierendes) Spiel Text ausgeben
ok und was sagt uns das jetzt? :wall:
Vielleicht findet ja irgendwer eine einfache alternative. Irgendwie muss es doch gehen dass man einen Text ausgibt der immer zu sehen ist, egal ob spiel oder nicht spiel... //EDIT: Vielleicht kann man das vom MBM5 ja umproggen. Die haben da HTML bzw. Java Sript verwendet um einen Text zu machen. Und zeitweise flackert der für ein paar MS in ein Spiel durch |
Re: In ein (exsistierendes) Spiel Text ausgeben
Schau dir mal diese Suchergebnisse an, da wäre was dabei wenn man sie kostenlos anschauen könnte...
![]() |
Re: In ein (exsistierendes) Spiel Text ausgeben
Mit API Hooking geht es auf jeden Fall, unter folgender URL gibt es die entsprechenden Library's und auch eine Demo mit DirectX 7.
![]() Direct Links : ![]() ![]() Das Beispiel heisst HookDirectDraw. Wäre nett, wenn das jemand auf Direct3D 8 oder 9 umschreiben und hier posten könnte. ![]() ![]() |
Re: In ein (exsistierendes) Spiel Text ausgeben
Man sollte vielleicht mal den Tyüen der den OGC Opgengl hook für cs geschtieben hat fragen der könnte da sicher weiterhelfen.
|
Re: In ein (exsistierendes) Spiel Text ausgeben
Zitat:
![]() Desweiteren komme ich mit Madshi's (1. link von root66) ApiHooking nicht weiter, da zwar ein paar demos dabei sing, aber für delphi 5 (welches ich nicht besitze) und für DirectX 7 (dazugesagt: ich hab keine ahnung wie die demo funktionieren soll) ... dazu würde das dann nur in directx-spielen/anwendungen funktioniern, oder??? Ich werde noch nen bisschen rumprobieren, aber ich weis nicht so recht, wie das alles funktionieren soll ... Also, wem was einfällt, was mir/uns helfen könnte, weiter posten, und danke für alle bisherigen antworten! |
Re: In ein (exsistierendes) Spiel Text ausgeben
Zitat:
![]() ![]() ![]() andere links: ![]() ![]() ![]() |
Re: In ein (exsistierendes) Spiel Text ausgeben
ich habe mal ein beispiel gesehen, wie man in Notepad einen Text von einer andren anwendung geschrieben werden konnte....
Du startes also deine anwendung und sendes eine botschaf an Notepad und muss nur noch herrausfinden wie die komponente heißt wo diese botschaft hin soll.... evlt. könnte man es änlich machen bei einem DX oder OpenGL Game.. es gibt genügen anwendungen die mit Hilfe der Maus herrausfinden könnnen wie die Komponente heißt wo die Maus gerade drüber ist. Und dann sollte es mit einem Timer immer wiedergesendet werden mit einem DX Timer der auf 0 MS gestellt ist sollte dieser weg gehen.... wenn ich das beispiel wieder finde werde ich es hier posten.... |
Re: In ein (exsistierendes) Spiel Text ausgeben
Wer hat denn den Thread wieder aufgewühlt? Is übrigens mein allererster thread in diesem Forum ... ^^
Nun, ich (der Ersteller dieses Threads) hab nach längerem Suchen, überlegen, usw. die Lösung selbst gefunden. Meine Lösung ist API-Hooking, und das funktioniert mit Madshi's MadCodeHook Library eigentlich recht gut. (Wen's interessiert, eine meiner damit geschriebenen Library's kommt bereits in 2 Programmen zum Einsatz: ![]() ![]() Dennoch scheint die Hooking-Collection von uall ganz interessant zu sein, ich denke, ich werde da mal einen blick reinwerfen ... ciao, Philipp |
Re: In ein (exsistierendes) Spiel Text ausgeben
Zitat:
Und Domin!k arbeitet ja - soweit ich weiss - schon ne sehr lange zeit bei UA, spricht Anti-Cheat. Und obs patrick noch gibt, weiss ich auch nich :lol: @c113plpbr uall is sehr hilfsbereit, ber auch uall greift so ins spiel ein, dass es cheating (illegal) ist |
Re: In ein (exsistierendes) Spiel Text ausgeben
das OGC team bestand aus
Plazmo Pharlap System & Bunny nachdem Sytsem und Bunny mitte '02 weggeangen sind bin ich anfang '03 zu OGC gekommen ich war der einzige coder der cheats in delphi programmiert, später (ende '03 kam dann dominik zu OGC (patrick war nie da) trotzdem haben dominik und patrick zusammen gearbeitet und die cheats unter OGC released. seit 06.04 gibbet OGC nicht mehr fragen wegen opengl hooks, insbesondere für delphi kann man dann am besten mich fragen, dominik und patrick haben größtenteils clienthooks gemacht, ausserdem programmieren die in c++ und können kaum delphi und nein so wie ich das mache ist total legal da geradfe ich nichts am spiel verändern sondern nur an der opengl32.dll was bekanntlich nicht von valve ist... |
Re: In ein (exsistierendes) Spiel Text ausgeben
Patrick war doch auch im OGC Team, lass mih nachdenken, es is so lange her...
Es war ein Client, aber die hatten immer OGC's rausgebracht, die CD-Undetected waren, aber spätestens am nächsten tag eig. wieder detected. air p.s. das Mit Bunny ist aber schon sehr lange her, oder? Hab nie aktiv was von Bunny gehört, auch wenn in vielen QT's noch sein name steht |
Re: In ein (exsistierendes) Spiel Text ausgeben
nein Patrick war nie bei OGC
der OGC Reborn war von Dom1n1k und P47r!ck aber nur dominik war offiziell bei OGC Systen und Bunny waren die ersten die nen clienthack für CS gemacht haben |
Re: In ein (exsistierendes) Spiel Text ausgeben
Naja, Patrick war eh immer so n...*zensiert*
Ich glaub viele haben den nich gemocht. er hat immer angegeben (gut, er konnte auch viel), wollte aber nie helfen air |
Re: In ein (exsistierendes) Spiel Text ausgeben
Zitat:
zum author des threads: Wenn du nur Text ausgeben willst, solltest du vieleicht gdi funktionen benutzen, um das fenster mit deinem text zu übermalen. Ansonsten solltest du dir ne funktion suchen die einmal proframe gecallt wird und dort deinen text mit der jeweiligen api drawen. p.s. cheaten ist nicht illegal. |
Re: In ein (exsistierendes) Spiel Text ausgeben
Zitat:
was anderes: die g-d gibts noch "aktiv"? jedenfalls hat man sich vor ein paar wochen nichtmal reggen können... Zitat:
Naja, ist aber auch egal....is ne sehr lange Zeit her, dass ich gecheatet hab (und auch damals wars nur cheatserver) und cs zogg ich inzwischen auch nicht mehr richtig, aber mehr, weil ich keine zeit mehr hab... so far air |
Re: In ein (exsistierendes) Spiel Text ausgeben
Zitat:
|
Re: In ein (exsistierendes) Spiel Text ausgeben
Warum zum Geier verschwendet ihr eure Zeit mit so erbärmlich unnützen Dingen wie Cheats zu programmieren? :gruebel:
|
Re: In ein (exsistierendes) Spiel Text ausgeben
Zitat:
|
Re: In ein (exsistierendes) Spiel Text ausgeben
Nun, ich (der Ersteller dieses Threads) hab nach längerem Suchen, überlegen, usw. die Lösung selbst gefunden. Meine Lösung ist API-Hooking, und das funktioniert mit Madshi's MadCodeHook Library eigentlich recht gut.[/quote]
Könntest du deine Lösung bitte mal posten? |
Re: In ein (exsistierendes) Spiel Text ausgeben
Zitat:
|
AW: In ein (exsistierendes) Spiel Text ausgeben
Leider ist madCodeHook nicht mehr frei verfügbar... :(
|
AW: In ein (exsistierendes) Spiel Text ausgeben
Na das sind mir die Geilsten.
Im Forum nach Hilfe betteln, und wenn man es selbst gefunden hat, nicht mal die Lösung posten... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz