Procesy, wszystko.

Odpowiedz Nowy wątek
2011-07-22 15:54
0

Cześć, mam pewien problem chce zrobić program który będzie wyświetlał grafikę w pewnej grze. A konkretniej chodzi o to jak się za to zabrać. Czytałem że trzeba zahaczyć proces ale co potem? Czy istnieje jakaś biblioteka do zarządzania procesami wraz z dokumentacją?

" Czy istnieje jakaś biblioteka do zarządzania procesami wraz z dokumentacją?": Biblioteki WinAPI, dokumentacja jest na MSDN. - O_o 2011-07-22 16:37

Pozostało 580 znaków

2011-07-22 15:58
0

Co to znaczy zahaczyć proces?
Można dostać się do czegoś takiego jak HDC (o ile dobrze pamiętam) innego okna i po tym rysować (również o ile dobrze pamiętam można to wykorzystać przy tworzeniu obiektu graphics, ale nie chce mi się odpalać kompilatora i sprawdzać). Ale ten sposób zadziała chyba tylko przy niepełnoekranowych aplikacjach, poza tym musiałbyś po każdym "odświeżeniu" okna gry odrysowywać swoje rzeczy na nowo.
W przypadku aplikacji Direct, OpenGl itp. można zrobić to delikatnie inaczej - ale tutaj jest wymagana spora wiedza na temat niskopoziomowych wywołań i asemblera.


Some people see things as they are, and say "why?". I dream things that never were and say "why not?".
edytowany 1x, ostatnio: Wronq, 2011-07-22 15:59
"...niskopoziomowych wywołań " - Chodzi Ci o podmianę Dllki czy jakiś inny trik? ( tak z ciekawości pytam ) - O_o 2011-07-22 16:39
Chodziło mi mniej więcej o wstawki w asmie w taki sposób, aby nie zakłócić pracy aplikacji. Oraz o wpinanie się w obce procesy (hooki lokalne - może o to chodziło autorowi tematu, mówiąc "zahaczyć proces"). - Wronq 2011-07-22 17:09
Przy grafice to często łatwiej jest podstawić po ddll'kę directa swoją co przesyła dane do i z oryginalnej dllki a przy okazji robi swoje mając dane do wszystkich danych obrazu. - O_o 2011-07-22 17:22
W przypadku większej aplikacji może i tak. Jak ja się z tym bawiłem wystarczyło, że zmieniłem entry point programu na mój, gdzie ładowałem swoją bibliotekę i skakałem do tego oryginalnego entry pointa (lub wstrzykiwałem tą dllkę z jakiegoś injectora). W dll'ce zakładałem kilka inline hooków i wszystko śmigało jak należy. - Wronq 2011-07-23 10:55

Pozostało 580 znaków

2011-07-22 17:52
Rev
0

W każdym razie, .NET nie jest optymalnym rozwiązaniem tego problemu. Implementację, zwłaszcza jakichkolwiek injections radzę tradycyjnie napisać w C/C++.


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0