Blokada printscreen

0

Witam
Mój problem jest następujący. Stworzony program uniemożliwia zrobienie printscreen czyszcząc schowek schowek (działa w przypadku ręcznego naciśnięcia przycisku PrintScreen, lecz gdy robimy screen poprzez jakiś inny program bez problemu je robi, czy ma ktoś jakiś pomysł jak zablokować totalnie robienie zrzutów programu). Z góry dzieki za pomoc.

A jest sposób na przechwycenie informacji o tym, że ktoś chce zrobić zrzut pulpitu, może da się to zrobić za pomocą hook co o tym myślicie ??

0

Jedyna pewna (prawie) mozliwoscia, ze user nie zrobi zrzutu ekramu to zniszczyc jego ekran oraz karte graficzna. W 100% zniszczyc mu komputer a najlepiej i jego tez.

0

No reichel twoja odpowiedź jest bardzo super powiem nawet genialna szkoda, że sie na nic nie przyda i szkoda było twojego czasu, czekam na mądrzejsze odpowiedzi.

0

Problem w tym, ze reichel ironicznie, bo ironicznie, ale raczej ma racje. Zalozysz hooka na klawisz, to aplikacja przejdzie jak przez maslo. Wykryc dostepu do pulpitu raczej nie mozesz. Czyszczenie schowka co jakis czas odpada, bo uzytkownicy zamorduja taki program. Jedynym sensownym pomyslem wydaje sie zalozenie hooka na konkretne potencjalne instrukcje typu wlasnie wyszukanie uchwytu pulpitu, czy czegos podobnego. Ale po pierwsze takie instrukcje sluza nie tylko do tego, a po drugie jakos musialbys sprawdzac co sie dzieje pozniej, itp. Wedlug mnie odpada.

0

Raczej niewykonalne, ponieważ tyle ile sposobów na blokowanie zrzutów, tyle metod zrzucania ekranu++ :P Taki snagit zrzuca nawet okna z nakładką video, która bywa niewidoczna nawet po przekierowaniu obrazu na telewizor...

0

Bardziej logiczna ale i tak sie da obejsc

ustawiamy hooka jak wspomina mniej wiecej johny_bravo (lektura: API HOOK) na wszystkie funkcje systemowe odpowiedzialne za pobieranie uchwytu do kontekstu/malowania (zakladam ze windows) i teraz sprawdzamy:

jesli nasza aplikacja jest widoczna to sprawdzamy czy ktos nie chce przypadkiem podebrac naszego obrazu, a zapewne zloczynca ten bedzie to chial zrobic to my mu bach wysylamy czarne tlo.
Moze to napisane w kilku slowach, ale uwierz Mi na slowo zabawa ta nie jest dla poczatkujacego programisty, ba nawet nie jest dla bardziej zaawansowanego.

sposoby obejscia:

  1. Zdjecie :)

  2. Wirtualny monitor czy chociazby wirtualna maszyna a tej da sie zrobic zrzut (czyli jeszcze musialbys sprawdzac czy nie uruchomiles programu w wirtualnej maszynie)

  3. Funkcja odhookujaca (tak jak antywiry - jakby program byl popularny 100% ze po kilku dniach tygodniach by cos takiego powstalo)

4 do nieskonczonosci) Sam nie mam teraz juz pomyslu ale wierze, ze jest ich nieskonczona liczba!
natura by nie byla tak glupia aby czegos zabraniac.

A moja ironia wynika z tego, ze czytajac twojego posta pomyslalem sobie o DRM bo to taki sam idiotyzm.

0

A dokładnie przed czym bronisz dostępu ?
No bo jeśli ochcrona tego co pokazujesz jest priorytetem nr 1, to możesz dostarczać program, który bootuje jakiś os np dos'a i w nim się odpala. Z pewnością będzie to duuuże utrudnienie dla chcących skopiować zawartość. No, ale zależy co to za program, wszystko co wymaga pełnego systemu np. windows odpada.

0

Wszystko spoko
ale ja założyłem hook na wszystkie klawisze a i tak się wykonują choć mója dll wykrywa ich wciśnięcie. to jest kodzik związany z obsługą klawiatury:

LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
	char tab[255];
        char tab1[255];
        TEventMsg *bufer;

	if (nCode < 0)
         return CallNextHookEx(hhookKeyb, nCode,
         wParam, lParam);

	if((lParam & 0x80000000) == 0)
        return CallNextHookEx(hhookKeyb, nCode,
		wParam, lParam);
         
         bufer = PEventMsg(lParam);
         wsprintf(tab, "%c %x", wParam, wParam);
         wsprintf(tab1, "%x", bufer->message);

          return CallNextHookEx(hhookKeyb, nCode,
          wParam, lParam);
}

Nie wiem co z funkcją CallNextHookEx(hhookKeyb, nCode,
wParam, lParam); ponieważ to ona przechodzi do następnego hook nie wiem jak usunąć komunikat o wcisnięciu np. A przed wykonaniem się go ???? a jeśli chodzi o doskonałe zblokowanie system,u przed print screen to wiem że to nie możliwe ale kto mi zakaże się bawić. A jesli chodzi o programy nagrywający pulpit bez naciskania to można je wyłączać przy uruchomieniu mojego no nie.

// dodałem tagi code (dop. deus)

0

przweciez pare dni temu byl taki sam temat! ... I nawet nazwa topicu taka sama

http://4programmers.net/Forum/viewtopic.php?id=113460

0

No właśnie tylko tam nic nowego nie ma a mi i tak nie blokuje klawiatury tylko komunikuje że został naciśnięty.

0

mniej wiecej cos takiego

http://4programmers.net/Delphi/FAQ/Jak_zablokować_klawisz_Print_Screen

rozwojowe ...

PS. dlaczego sa takie dziwne komentarze pod FAQ ?????? auto dodajace sie ...

0

Te komentarze były do zupełnie innego tekstu! (w dodatku porównajscie datę arta z datą komentarzy).

Pewnie Qyon znowu namieszał :P [diabel]

0

wszystkim zainteresowanym: dziolo=kolo1984. w trakcie ktoregos-tam watku zmienil sobie 'nicka'..

a teraz do Ciebie: NIE ZAKLADAJ nowego watku tylko z tej racji ze w starym Ci nie odpisano w taki sposob jak sobie wymarzyles. to jest swietna droga do narobienia innym checi zeby Ci zrobic 'kuku'. trzeba bylo po prostu zadac jakies dalsze pytania w tamtym watku, to by sie 'podniosl na wierzch'

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