Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi In ein (exsistierendes) Spiel Text ausgeben (https://www.delphipraxis.net/11989-ein-exsistierendes-spiel-text-ausgeben.html)

kurtm1 29. Dez 2003 15:42

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

c113plpbr 29. Dez 2003 15:50

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 ...

OregonGhost 29. Dez 2003 17:59

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)

c113plpbr 29. Dez 2003 21:52

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 ...

kurtm1 29. Dez 2003 22:39

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

kurtm1 29. Dez 2003 23:10

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...

http://search.experts-exchange.com/P...archType=topic

root66 10. Jan 2004 07:47

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.

API Hooking

Direct Links :

Library
Beispiele

Das Beispiel heisst HookDirectDraw.

Wäre nett, wenn das jemand auf Direct3D 8 oder 9 umschreiben und hier posten könnte.

DirectX 8 Headers
DirectX 9 Headers

joe666sa 10. Jan 2004 12:31

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.

c113plpbr 10. Jan 2004 16:38

Re: In ein (exsistierendes) Spiel Text ausgeben
 
Zitat:

Zitat von kurtm1
Schau dir mal diese Suchergebnisse an, da wäre was dabei wenn man sie kostenlos anschauen könnte...

http://search.experts-exchange.com/P...archType=topic

Da wäre ich mir nicht so sicher, denn das erste such-ergebnis was da erscheint, war/ist mein thread, bei dem bisher nix gescheites reingekommen is ... kannst du dir ja mal anschauen: http://www.experts-exchange.com/Prog..._20668929.html (müsste gehen)

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!

brechi 10. Apr 2005 02:35

Re: In ein (exsistierendes) Spiel Text ausgeben
 
Zitat:

Zitat von joe666sa
Man sollte vielleicht mal den Tyüen der den OGC Opgengl hook für cs geschtieben hat fragen der könnte da sicher weiterhelfen.


www.uall.info -> downloads -> delphi -> sources -> uallCollection (hook units)
http://uall.overclock.ch/myhook.txt (hook units, alt)
www.cheat-network.ch -> downloads -> uall Sources (opengl hooking, wrapper ettliche quelltexte zu delphi)


andere links:

http://www.delphi-forum.de/viewtopic...ghlight=myhook
http://www.delphi-forum.de/viewtopic...ghlight=myhook

http://www.arschvoll.net/ogci275src.txt (extremfall von hooken durch patchen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:23 Uhr.
Seite 2 von 4     12 34      

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