Wyłapywanie WinApi

0

Jak w C# wyłapać jak jakiś program chce się porozumieć z program poprzez WinApi i zatrzymać to.

Z góry dzięki.

1

Można wiedzieć o co ci chodzi? Bo twój post jakoś po polska nie być napisany... Chcesz zablokować innym programom możliwość wpływania na twój program za pomocą WINapi? Nie da się. Program na dobrą sprawę nie wie czy komunikat jaki otrzymał pochodzi od użytkownika czy systemu (a raczej kto go wygenerował).

PS. Może i dałoby się to jakoś zrobić dając programowi olbrzymie uprawnienia (jakie mają np. firewalle), ale to tylko gdybanie, kto normalny by zainstalował taki program...

0

Aha bo chciałem zapobiec <ort>tego </ort>żeby inne programy włamywały się do mojego programu aby zdobyć dane.

1

Jakich to danych tak bardzo musisz chronić? ;) Obawiam się że to niemożliwe, bo wystarczy przeczytać "fizyczną" pamięć procesu (znaleźć miejsce gdzie proces zapisuje swoje dane w RAM i przeczytać). Mógłbyś spróbować przechowywać dane zaszyfrowane i odszyfrowywać je przy każdym użyciu... Ale to zresztą twoja decyzja co zrobisz, ja tylko sugeruję :)

0

a jak bym to mógł zrobić... powiedzmy że zaszyfruję poprzez md5 2 razy a potem odszyfruję... oczywiście o ile da się tak zrobić... mam kod na szyfrowanie md5

1

Hmm, a co robi twoja aplikacja i co konkretnie chcesz ukryć przed odczytaniem? I ukryć w ten sposób da się tylko dane 'przetwarzane', jeśli potrzebujesz gdzieś wyświetlić coś w jakiejś np. kontrolce, to nie ma... sposobu żeby to ukryć :/ A przynajmniej prostego.

0

Nie dosc ze nierozumiesz podstawowych kwestii dzialania OS, to jeszcze piszesz w C#.

System windows i linux sa zaprojektowane pod wzgledem bezpieczenstwa, i da sie to osiagnac.
Programy ktore chcesz chronic uruchamiasz na oddzielnym koncie bez okreslonych przywijejow.
SeDebugPrivilege jest jednym z nich, bez niego nie pobierze handla do innego procesu.

0
Kalnor napisał(a)

a jak bym to mógł zrobić... powiedzmy że zaszyfruję poprzez md5 2 razy a potem odszyfruję...

Za odszyfrowanie MD5 dostaniesz nobla jak nic.

Wyciąganie danych z aplikacji .NET bywa wredne ze względu na GC, pomysł z przeszyfrowaniem tego jest niezły. Skutecznego zabezpieczenia mimo wszystko nie ma - driver przełączony w kontekst danego procesu czyta pamięć tak samo jak sam program...

0
lolua napisał(a)

Nie dosc ze nierozumiesz podstawowych kwestii dzialania OS, to jeszcze piszesz w C#. [...]
Programy ktore chcesz chronic uruchamiasz na oddzielnym koncie bez okreslonych przywijejow.
SeDebugPrivilege jest jednym z nich, bez niego nie pobierze handla do innego procesu.

Co to da, chłopcze? Atakowany program jest o niższych prawach, atakujący o wyższych, posiada potrzebne poświadczenia - może grzebać. Poza tym nie, SeDebugPrivilege jest wymagany do 1) poważniejszych rzeczy 2) grzebania w procesach innego usera - a atakujący może mieć uprawnienia administratora/użytkownika zaawansowanego. Ostatnia sprawa - użycie C# wiele tutaj nie zmienia... Kto tu czego nie rozumie?

0

dzięki deus. czyli za dużo nic tutaj nie zdziałam bo md5 nie rozszyfruje.. piszę antycheat'a i nie wiem <ort>zabardzo </ort>jak to zabezpieczyć ponieważ program obsługuje dane takie jak hasła użytkowników itp. i nie chcę żeby zostały one wykradzione...

0

Jest takie coś jak DPAPI (Data Protection API) pozwalający na szyfrowanie danych w pamięci procesu. Nie znam się na niskopoziomowych sprawach, debugerach i takich tam, pewnie deus przyjdzie i powie, że to nie działa, ale udało mi się zmusić proces, żeby nie mógł odczytać swoich własnych danych ;-)

http://msdn.microsoft.com/en-us/library/ms229741%28VS.80%29.aspx
http://msdn.microsoft.com/en-us/library/system.security.cryptography.protectedmemory.aspx
http://msdn.microsoft.com/en-us/library/ms995355.aspx

0

wielkie dzięki zobacze czy działa i dam znać...

0

Na stronie, którą podał Ktos, w komentarzach znajduje się link do ciekawego eksperymentu: http://www.hexadecimal.se/2009/02/14/NotSoProtectedMemory.aspx. Jak z niego wynika, ProtectedMemory nie jest skuteczne.

0

Mając możliwość skorzystania ze sterownika nawet najlepsze mechanizmy i protectory się obchodzi. Na popularniejsze rzeczy są nawet gotowe narzędzia. W końcu w którymś momencie zawartość musi być dostępna aby zostać użyta - starczy wychwycić moment użycia i skopiować dane...

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