Comment éviter qu'un fichier soit copié ou coupé dans le système de fichiers de windows?
Je veux qu'un fichier exe ne peut pas être copié ou coupé à partir du système de fichiers de Windows pour coller quelque part.
L'exe est fait en C#. qui doit être dans un seul PC.
J'ai travaillé avec FileSystemWatcher, INS, presse-papiers. mais pour tous j'ai besoin de détecter si le fichier est copié.
J'ai aussi vu "Prévention" (http www free-download-blog.com désactiver-couper-coller-copier-supprimer-renommer-fonctions-utilisation-de prévenir ), mais j'ai besoin de prévenir le seul exe d'être copié ou coupé.
Un pointeur ou une idée de l'aide.
- Salut, je ne suis pas sûr de savoir pourquoi vous le faites, mais n'est-il pas d'alternative, comme l'écriture dans un registre le chemin à partir duquel, pour la première fois le fichier exe a commencé et de la vérification du registre ou quelque chose comme ça ?
- Bon et option plus simple .. merci.
- Ici est un exemple, mais regarde comme il n'existe pas de clé de registre comme ça : techrepublic.com.com/... je veux dire encore ctrl+C est intacte, je suppose.
- Définissez votre exe à lancer au démarrage sur un ordinateur qui n'ont pas d'usb, wi-fi, lecteur de cd, ethernet, lecteur de disquette, disque dur externe disque dur? Ils ll être en mesure de l'exécuter, mais l'enfer, s'ils trouvent un moyen d'accéder au système.
Vous devez vous connecter pour publier un commentaire.
Si vous avez besoin de l'exe pour être exécutable, vous avez besoin pour permettre de le charger en mémoire.
Dès que vous faites, quelqu'un peut le lire à la mémoire à l'aide de ReadFile, puis d'écrire à un emplacement arbitraire à l'aide de WriteFile. Pas de shell détectables de reproduction.
Une bonne lecture: Raymond post et ses commentaires sur la prévention de la copie.
Bien, c'est un problème difficile. Même si vous obtenez explorer.exe pour désactiver cut&coller, ce qui empêche un utilisateur de la fenêtre de commande? Ou d'écrire leur propre exe de le faire? Le démarrage de linux et de la lecture?
Encore, vous avez quelques options (il y en aura plus, le plus probable que vous pouvez essayer:
Utiliser les autorisations de droite: Définir le
permissions de sorte que les utilisateurs qui
vous ne voulez pas couper&pâte ne peut pas
lire le fichier.
Écrire un pilote de périphérique qui peut crochet
sur le système de fichiers d'appels et de le faire
pour vous.
Crypter le fichier.
Et certains hacky des options comme:
Utiliser la clé de registre APPINIT_DLLS pour mettre votre propre dll à charger dans chaque processus ( je ne suis pas sûr si cela va fonctionner avec la console de traitement). Ensuite, sur votre dll de la charge, de faire de l'IAT accrochage pour remplacer la kernel32.dll fichier des appels.
Remplacer kernel32.dll avec votre propre version. Peut-être à faire certains de déconner avec le format PE, etc.
Il n'existe aucune garantie que. Si par exemple, vous vous attendez à être en mesure de l'exécuter, mais pas le copier, vous êtes probablement bloqué.
Comme d'autres l'ont suggéré, vous ne serez pas en mesure de désactiver le copier/couper comportement si facilement.
Une autre solution serait de désactiver l'exécution de la copie des versions.
Dans votre exécutable, vous pouvez vérifier beaucoup de choses comme :
Vous pourrait même prévenir le fichier d'être exécuté plus d'une fois à l'aide de Windows registre des entrées (si déjà 1 ne décolle pas). Il ne sera pas parfait, car tout expérimenté utilisateur peut ajuster que, en supposant qu'ils sont à la recherche pour cela. Mais en fonction de votre profil d'utilisateur, il peut être suffisant.
Tout administrateur local sera en mesure d'annuler tout ce que vous faire pour empêcher la copie. Je peux très bien la garantie le programme sur cette page, vous avez la mention s'appuie sur un service ou un processus d'arrière-plan pour éviter de copier-coller, et est donc facilement circumventable. Si vos utilisateurs sont dans un environnement fermé où aucun d'entre eux sont les admins et ils ont très peu de droits à leur Pc, alors vous avez une chance.
si vous pouviez complètement bloquer explorer à partir de la copie ou du déplacement de fichiers, puis tous besoin d'u est un 3ème partie logiciel de copie de fichiers (mais assurez-vous qu'il peut filtrer les extensions de fichier) par exemple Copy Handler
Définir une variable d'ENVIRONNEMENT dans votre machine
Dans votre code d'ajouter une case
si la Variable d'ENVIRONNEMENT=='Même que définie')
//Exécution de code
d'autre
//Suspendre l'exécution