[ nekicneko99 @ 09.06.2014. 22:41 ] @
Ovako, mislio sam da napravim neki jednostacniji, a posle da ga doradim do profesionalnog, program za pc igraonicu.

Na pocetku bih samo blokirao taskmgr, a posle sam mislio da umesto explorer.exe napravim svoju verziju "igraonica.exe".

Za pocetak me interesuje kako blokirati taskmgr iz Delphi-jevok koda, do sada sam to rucno radio, a sada zelim programski.



Nisam pocetnik u programiranju, vec sam bio clan foruma ali sam izgubio sifru (nekic neko), tako da ne zelim odgovore tipa "kupi program", "okani se toga", "to je pretesko". Meni je fora da ja pisem programe, iako 90% njih nikad ne koristim.








Hvala unapred.
[ komplikator @ 10.06.2014. 07:28 ] @
Nije li to praktičnije riješiti baš kako je i zamišljeno, odnosno kroz group policy?
0% programiranja, koristiš funkcionalnost windoza zamišljenu upravo za to?

Da ti pojednostavim:
MMC pa gpedit.msc, administrative templates, Systel, CTRL+ALT+DEL, remove task manager.

Poseban gost account za igrače, ili čak i nešto tipa snapshot utilsa.
Po meni za sve više od 10 računala računala staviti u domenu i administrirati centralno sa servera.
I obavezno disableati bootanje sa bilo kojeg medija i zaključati BIOS.
[ savkic @ 10.06.2014. 08:58 ] @
> Za pocetak me interesuje kako blokirati taskmgr iz Delphi-jevok koda, do sada sam to rucno radio, a sada zelim programski.

Par ideja (mada mislim da je preko polisa to najbolje):

- kada detektujes da se pojavio, zatvori ga
- obrisi njegov exe
- napravi GINA replacement stub tako da presretnes Ctrl + Alt + Del
- uradi CBT globalnu hook proceduru sto ce ti dati priliku da presretnes WM_CREATE poruke i sprecis onu koja se tice task managera.
[ nekicneko99 @ 10.06.2014. 11:42 ] @
Uspeo sam nesto preko prego registry-ja, da disablujem taskmgr.

Probacu da ga detektujem i zatvorim, to mi zvuci ok. Da li isto mogu i za alt+tab, ctrl+esc...
[ savkic @ 11.06.2014. 14:03 ] @
> Probacu da ga detektujem i zatvorim, to mi zvuci ok. Da li isto mogu i za alt+tab, ctrl+esc...

Verovatno, treba da detektujes pojavljivanje tih dodatnih prozora pa da recimo simuliraš escape taster, to će ih zatvoriti. Mada možeš jednostavno zameniti shell program za Windows. Umesto explorera stavi neki svoj i rešeno, nema više task bara, i tih prečica.
[ nekicneko99 @ 13.06.2014. 21:49 ] @
Ja sam i mislio da pravim svoj shell (explorer.exe), ali ne znam odakle da pocnem. Ima li negne neko uputstvo, za osnove, pa cu dalje sam.

I da, poceo sam neki drugi projekat, a mislio sam da to ubacim i u ovaj.
hvat

Mislio sam da napravim nesto kao TeamVeawer. Ustvari to bi bila samo osnova, poslebi to sredio za to sto mi treba.
Sada, sto se tice tcp/ip protokola, ja sam radio LAN aplikacije, pa me interesuje da li to radi i za WAN. Jos me brine i kontrola racunara, da li bi, nekako, mogao preko windowsovih poruka da pomeram kursor na drugom racunaru, i kako. I kako da hvatam video sa drugog racunara, kao screenshot, ili kako.







Hvala unapred.
[ savkic @ 14.06.2014. 19:24 ] @
> Sada, sto se tice tcp/ip protokola, ja sam radio LAN aplikacije, pa me interesuje da li to radi i za WAN.

Da, samo sporije ;)

> Jos me brine i kontrola racunara, da li bi, nekako, mogao preko windowsovih poruka da pomeram kursor na drugom racunaru, i kako.

Recimo pozoveš direktno SetCursorPos API funkciju ili posredno preko Mouse.CursorPos.

> I kako da hvatam video sa drugog racunara, kao screenshot, ili kako.

Generalno se to radi kao screenshot, niz slika, mada ne moraš sve hvatati i slati već samo kada ima preomene.
[ nekicneko99 @ 14.06.2014. 23:26 ] @
Hvala savkic.


Znaci mogu i preko wan-a. Da li je isto kao i za lan (remotehost, remoteport, localport), i sta ako su u jednoj mrezi vise lokalnih racunara.
PR. ja saljem tebi podatke na tvoj public ip, a ti u lokalu imas tri racunara+laptop. Kako da znam koji prima i jeli to uopste vazno.

Da li je moguce slati slike preko tcp/ip protokola ili mora preko ftp-a i kako je brze za "TeamVeawer", da to sve manje lici na sliku nego da lici na drugi racunar.





P. S.
Da li na netu ima neko uputstvo ili utoril kako napraviti shell u delphiju. Ja nisam nista nasao, treba da skontam samo kako da pocnem, a posle ce (nadam se) sve ici glatko. Uvek je najgori pocetak, namucim se oko sitnica, a posle sve ok.
[ savkic @ 15.06.2014. 00:18 ] @
> i sta ako su u jednoj mrezi vise lokalnih racunara. PR. ja saljem tebi podatke na tvoj public ip, a ti u lokalu imas tri racunara+laptop. Kako da znam koji prima i jeli to uopste vazno.

Da bi se uspostavila veza između dva računara potrebno je da postoji server koji očekuje konekciju i klijent koji upostavlja konekciju. Ako imaš tri računara i na svakom postoji server onda tvoj ruter određuje na koji će računar ići paket.

> Da li je moguce slati slike preko tcp/ip protokola ili mora preko ftp-a i kako je brze za "TeamVeawer", da to sve manje lici na sliku nego da lici na drugi racunar.

TCP/IP ne ogranicava sta ce se slati i kako ce se slati, on je tu samo da obezbedi infrastrukturu, na tebi je da razbiješ neki svoj protokol tako da mozes slati i slike, filmove, audio, tekst i bilo sta drugo. Ti saljes binarni sadrzaj a sta je on interpretira primalac.

> Da li na netu ima neko uputstvo ili utoril kako napraviti shell u delphiju.

Ne znam, ako si trazio i nisi nasao moguce je i da nema. Ali ne moras se ograniciti na Delphi, potrazi C++, C# primere da vidis ideju i sta je potrebno.
[ reiser @ 15.06.2014. 16:03 ] @
Shell se ne razlikuje od obicnog programa skoro po nicemu, stavi da ti se tvoj program pokrece umesto default shell-a, razvuci ga preko celog ekrana (WindowState=wsMaximized, BorderStyle=bsNone, itd), i to je to. Takodje googlaj "windows kiosk mode" i citaj. Trebaces se malo pozabaviti polisama kako bi iskljucio Ctrl+Alt+Del i ostale stvari koje mogu da puste korisnika van shella.
[ salaczr @ 15.06.2014. 16:42 ] @
Pozdrav svima.

Pratim ovu temu od pocetka i nisam bas imao nameru da se ukljucujem, ali posto vidim da si ozbiljan u svojoj nameri (ne ulazeci u to da li je sama tvoja namera ispravna ili ne) zeleo bih da ti dam neke smernice na samom startu tvog "putovanja" u pravljenju jednog takvog softvera.
Prvo pitanje koje sebi treba da postavis je da li zelis da tvoj softver radi na svim windows verzijama ili zelis da pravis softver samo za odredjenju verziju windows-a za koju ta igraonica ima licencu. Ovo je vazno pitanje jer ce ti se, sigurno, desiti da nesto sto radi pod XP-om ne radi pod 7-om, ili jos gore nesto sto radi pod Vistom Ultimate ne radi pod istom tom Vistom Professional (veruj mi, znam o cemu govorim). Takodje bitno je jasno definisati sta tacno zelis da taj softver radi (npr softver za igraonice nije isto sto i TeamViewer). Stoga bih zeleo da se u ovom postu bavim samo softverom za igraonice.
Moja iskustva su sledeca:
- Kao osnova za ovakav softver potrebno je napraviti Hook-ove na keyboard, mouse i shell (za keyborad i mouse mozes sam potraziti primere u Delphi-ju na Google-u).
- Sto se tice shell-a moje iskustvo govori da je daleko najlaksi nacin za kontrolu pokretanja aplikacija koriscenje JEDI shell biblioteke(JvShellHook.pas). Mnogo je laksi nacin nego pravljenje sopstvene shell aplikacije. Hvataces poruke HSHELL_WINDOWCREATED, HSHELL_WINDOWDESTROYED i HSHELL_WINDOWACTIVATED i u zavisnosti od njih i aplikacije koja ih je inicirala odluciti sta da radis (ovaj nacin resice ti sve probleme sa pokretanjem nezeljenih aplikacija na racunaru pa cak i taskmgr.exe i ostalih sistemskih exe-a). Ovaj shell hook se oslanja na explorer.exe i bez njega neces imati nikakvu kontrolu, sto znaci da ukoliko se odlucis da koristis Shell iz JEDI biblioteke ne smes menjati nacin na koji windows "brine" o aplikacijama. Resenje koje je g-din Savkic spomenuo (uz svo duzno postovanje prema nespornom znanju i iskustvu g-dina Savkica) je koriscenje CBT hook-a, koje ima niz svojih nedostataka (navescu primer samo totalnog freeze-a prilikom pokretanja Mozilla Firefox-a na nekim verzijama windows-a).
- Sto se tice keyboard hook-a moci ces da hvatas sve hot key kombinacije(CTRL+SHIFT+ESC, ALT+PrintScr ...) kao i njihovo izvrsavanje, ali postoji jedno ogranicenje, neces moci da sprecis CTRL+ALT+DEL kombinaciju na novijim verzijama windows-a. Jedni nacin na koji mozes da prevaris windows jeste mapiranje nekog key-a na neki drugi (npr mapiranje ALT-a na PageUp ili F11, ali gubis funkcije ALT-a sto moze biti veoma nesretno resenje za neke igrice), za ovo takodje mozes da pronadjes dosta primera na internetu.
- Sto se tice mouse hook-a pretpostavljam da ces tu imati najmanje problema, primera ima na dosta mesta po netu bas za Delphi.

Eto toliko za sada, nadam se da ce ti ove smernice pomoci da od samog starta pravljenja jednog tako ozbiljnog programa ne lutas.

Veliki pozdrav i zelja da istrajes u svojim namerama.
[ nekicneko99 @ 15.06.2014. 20:38 ] @
Puno hvala salaczr
[ komplikator @ 16.06.2014. 14:45 ] @
Evo kako "ukrasti" ekran preko mreže: http://goo.gl/gZeVus