|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[C#/.Net 2.0]Impedire uso applicazioni
Ciao a tutti
Vorrei dei consigli su come implementare un programma che mi consenta di non far eseguire su dei computer con windows xp alcuni programmi. Un esempio potrebbe essere skype. La mia idea era di lasciare in esecuzione un software con una sorta di "black list". Tutto questo me lo risparmierei volentieri se ci fossero software (oltre al quasi 'innocuo' tool di ms gpedit) che oltre a non permettere l'utilizzo di certi programmi ne impediscano addirittura l'installazione. N.B.: i software che permettono questo tipo di gestione che ho trovato in rete purtroppo costano una cifra.... Grazie a tutti in anticipo. RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Usare un utente non amministratore?
Mi sembra di ricordare che da qualche parte nel registro ci sia la possibilità di inserire una lista di programmi da non eseguire (mi sembra di ricordare che un virus qualche anno fa ci metteva Explorer o qualcosa del genere) Per quanto riguarda i pacchetti di installazione sempre da registro è possibile disabilitare gli msi, niente è possibile a livello di sistema però nei confronti di altri tipi di installer. Altrimenti devi scriverti un software che controlla i processi in esecuzione e termina un processo eventualmente presente anche sulla black list. |
|
|
|
|
|
#3 | ||
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Questo punto purtroppo non è possibile: per applicazioni tipo collegamenti bancari per eseguire operazioni viene richiesto un utente di tipo amministratore
Quote:
Quote:
Grazie mille RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
||
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Codice:
using System.Diagnostics;
List<string> processToKill = new List<string>();
processToKill.Add("skype");
...
foreach(string processName in processToKill)
{
Process[] processes = Process.GetProcessesByName(processName);
foreach(Process process in processes)
{
process.Kill();
}
}
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Grazie Tomminno
Il tuo codice di esempio funziona. Ho solo un dubbio: noto che funziona se le applicazioni sono già aperte, quindi io lancio il mio programma e le applicazioni vengono terminate. Io invece dovrei fare questa supposizione: Il pc viene avviato, il programma viene caricato mediante esecuzione automatica e dovrebbe impedirmi di aprire i programmi inseriti in black list. Mi conviene utilizzare un timer secondo te per fare in modo che ogni tot secondi cerchi questi programmi in esecuzione ? Grazie RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Grazie mille per i preziosi suggerimenti
Questo è ciò a cui sono arrivato sino ad ora grazie a te: Codice:
using System.Diagnostics;
namespace TestBlackListedProcesses
{
public class KillProcess
{
private string[] forbiddenProcesses = {"skype", "solitaire", "sol", "msnmgr" };
public List<string> BlackList()
{
List<string> processToKill = new List<string>(forbiddenProcesses);
processToKill.AddRange(processToKill);
return processToKill;
}
public bool IsRunning()
{
foreach(string processName in BlackList())
{
Process[] p = Process.GetProcessesByName(processName);
foreach(Process pr in p)
{
pr.Kill();
System.Windows.Forms.MessageBox.Show("Il programma " + processName + " non può essere eseguito su questo computer e verrà chiuso");
return true;
}
}
return false;
}
}
}
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ammazza che soluzione pezzotta
![]() e come fai ad impedire all'utente di togliere quel programma dall'esecuzione automatica o di terminarlo? |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Comunque si può disabilitare il task manager, te lo voglio vedere l'utente medio a cercare la chiave di registro per riabilitare il task manager, quando ha regedit disabilitato pure lui. E prima dell'obiezione, l'utente medio non usa Process Explorer o similari nè programmi alternativi a regedit. C'è anche da dire che l'utilizzatore medio non sa quale programma causa la chiusura degli applicativi, la classica "Security through obscurity" Te cosa avresti fatto? |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Guarda, senza nessun sarcasmo per evitare fraintendimenti, quando ho letto il tuo nick su un mio post mi sono sentito davvero onorato perchè ho pensato che finalmente avevo aperto un 3d che potesse (relativamente) interessarti !! Eh lo so, giustamente anche io ci stavo pensando, ma devo accontentarmi di fare quello che al momento è al mio livello e che quindi posso fare. C'è però una nota di consolazione: Gli utenti destinatari di tale pezzotto, sono davvero messi male a livello di conoscenze informatiche e quindi, una volta fatto in modo che il piccolo programmino non è visibile almeno ne come form ne nella taskbar, ma solo ovviamente dal taskmanager, posso stare relativamente tranquillo. Certo, mi piacerebbe sapere tu cosa faresti ma pensando che poi i tuoi suggerimenti sono rivolti ad un newbie, quindi magari iniziando con qualcosa di meno complicato . Ci tengo molto (davvero) a sapere tu cosa faresti Grazie. RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Io seguirei la strada delle Software Restriction Policies, per una lunga serie di motivi è opportuno lavorare con utenti senza i privilegi da Amministratore. Per quei pochi programmi che li richiedono c'è sempre l'opzione "Esegui come amministratore" (e tutte le risorse sull'approccio LUA).
In alternativa, come punto di partenza, potresti leggere l'articolo API Spying Techniques for Windows 9x, NT and 2000, anche se dubito che tu possa creare in C# una soluzione efficace e sicura. |
|
|
|
|
|
#12 | ||
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Ad ogni modo, gli utenti, credo si imbestialirebbero a dover lanciare programmi senza semplicemente farci su doppio click. Quote:
RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
||
|
|
|
|
|
#13 | |||
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Quote:
Quote:
|
|||
|
|
|
|
|
#14 | |||
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() beh... in generale... i topic che mi interessano sono tutti quelli riguardanti Microsoft inoltre quelli a cui rispondo sono quelli dove so dare una risposta (smettila di adorarmi, non sono mica onnisciente pensa che ho persino dei dubbi su come si scrive "onnisciente" ) e dove la risposta che darei io non è stata già data.l'osservazione che ho fatto in questo caso ("e come fai ad impedire ecc. ecc.") a dire il vero mi sembrava enormemente banale... Quote:
Quote:
hai detto che l'account in uso dai suddetti niubbi deve essere del gruppo Administrators (maronneocarmine *va tolto il permesso di diventare owner perché l'owner di un oggetto può sempre cambiare i permessi di quell'oggetto, anche se gli è esplicitamente negato il permesso di cambiarli. Ultima modifica di 71104 : 23-09-2008 alle 20:50. |
|||
|
|
|
|
|
#15 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Te sai quali sono le api usate da gpedit? |
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Piccolo punto della situazione:
Documentandomi con i link da voi forniti ed utilizzando gpedit, sono riuscito a coprire quasi tutti i punti che mi ero prefissato e, come sottolineava 71104, senza programmare nulla ma.... vorrei tralasciare adesso il discorso di come usare gli strumenti di Windows perchè credo non siano pertinenti in questa sezione, semmai aprirò un 3d nella sezione apposita. Little edit: "Con gpedit comunque non sono riuscito a capire come fare per non permettere di installare nuovi programmi oltre a quelli già esistenti" Volendo continuare a fini didattici questa discussione, una possibile implementazione più corretta voi come la fareste? Grazie RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
Ultima modifica di RaouL_BennetH : 24-09-2008 alle 13:01. |
|
|
|
|
|
#18 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
veramente non ne ho idea; ho dato un'occhiata a quella console col dependency walker e di API a me sconosciute ne ho trovate solo alcune riguardanti Active Directory (del quale so quasi nulla); in più fa dei riferimenti a OLE32.DLL tramite i quali potrebbe ottenere delle interfacce COM che servono a settare quelle impostazioni, ma mi sa che si tratta di più di Active Directory.
ad ogni modo anche nel caso delle software restriction policies non c'è bisogno di programmare nulla, solo che mi sorge il dubbio su come fare per impedire ad un utente scafato di cambiarle. |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
allora, seguendo i vostri suggerimenti, ho usato solo il tool secpol e sono riuscito a fare in modo che non possano essere installati altri programmi (ovviamente sempre per un utente non 'scafato').
Resta però il fatto che possono eseguire i programmi già installati fra cui i vari solitari, messenger & Co a meno di non andare su ogni pc della rete, cercare il programma che serve e tramite le proprietà negare all'utente la possibilità di eseguirlo. Mi chiedevo quindi se c'è un modo per creare su una macchina le varie policy e poi creare un file, un setup, na cosa qualsiasi da installare su tutte le altre macchine. RaouL. P.S.: per il programmetto fatto fino ad ora, sono riuscito almeno a nasconderlo come processo dal task manager e dall'elenco applicazioni.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:33.














) e dove la risposta che darei io non è stata già data.








