Morlack`X
30-05-2008, 15:50
Ciao a tutti,
spero che qualcuno di voi mi possa aiutare.
Sto cercando di fare un anti-cheat per i giochi. Tra le 'n' cose che fa (screenshots, check degli eseguibili,ecc..) dovrebbe verificare se c'è ci sono programmi sospetti aperti.
Per ora si limita ogni 10 sec a creare una lista dei processi in esecuzione, trova il path+exe e verifica se il checksum md5 di quell'eseguibile corrisponde a quello di una lista interna. Fin qui tutto ok.
Ora pero' vorrei che se venisse aperto un programma, l'anticheat catchasse l'avvio e controllasse l'md5 (un po' come fanno alcuni programmi firewall e simili).
Il problema è che non riesco a trovare un qualcosa nel framework.net che faccia questa cosa (magari una cosa simile al FileSystemWatcher o adirittura un evento nella classe Process).
Cercando in internet sembrerebbe che l'unica soluizione sia un hook delle api di win, ma se potessi evitarlo sarebbe meglio.
Avete qualche soluzione? Se l'hook è l'unica cosa mi potreste indicare come procedere? (possibilmente non con l'esempio del hooking del mouse o tastiera che non mi serve a nulla :D ).
spero che qualcuno di voi mi possa aiutare.
Sto cercando di fare un anti-cheat per i giochi. Tra le 'n' cose che fa (screenshots, check degli eseguibili,ecc..) dovrebbe verificare se c'è ci sono programmi sospetti aperti.
Per ora si limita ogni 10 sec a creare una lista dei processi in esecuzione, trova il path+exe e verifica se il checksum md5 di quell'eseguibile corrisponde a quello di una lista interna. Fin qui tutto ok.
Ora pero' vorrei che se venisse aperto un programma, l'anticheat catchasse l'avvio e controllasse l'md5 (un po' come fanno alcuni programmi firewall e simili).
Il problema è che non riesco a trovare un qualcosa nel framework.net che faccia questa cosa (magari una cosa simile al FileSystemWatcher o adirittura un evento nella classe Process).
Cercando in internet sembrerebbe che l'unica soluizione sia un hook delle api di win, ma se potessi evitarlo sarebbe meglio.
Avete qualche soluzione? Se l'hook è l'unica cosa mi potreste indicare come procedere? (possibilmente non con l'esempio del hooking del mouse o tastiera che non mi serve a nulla :D ).