tester un CRC d'un fichier VBS éxécuté [VBScript] - VB/VBA/VBS - Programmation
Marsh Posté le 21-02-2006 à 19:07:46
hello !
effectivement, je ne comprend pas bien ton problème de chemin de fichier ? tu ne veux pas le mettre en 'dur' dans le code ? si c'est ça tu peux utiliser cette propriété de wscript :
wscript.scriptfullname
qui te donne le chemin complet d'accès au script, mais est ce bien ta question ? suspens
Marsh Posté le 22-02-2006 à 09:10:05
Pourquoi les gens ont-ils autant de mal à exprimer leur pensée ?
Tu as un fichier A et un fichier B
A contient :
le code permettant de calculer le CRC d'un fichier
le chemin d'accès vers B
le CRC théorique de B
B est le fichier .VBS (en lecture seule) que tu veux lancer en toute sécurité après avoir vérifié son CRC et donc, t'être assuré que personne ne l'a modifié.
Et tu cherches un moyen de ne pas stocker dans A le chemin d'accès vers le fichier B, ou bien ai-je loupé quelque chose ?
Tu peux le stocker où tu veux ce chemin, mais il faudra toujours que tu gardes dans A un moyen pour lire ce chemin (clé de base de registre, chemin d'accès à un autre fichier, de paramétrage celui-là, ...).
Pour ce qui est de vérifier le fichier en mémoire, cela dépasse mes compétences et n'est sûrement pas facile à faire, ni en VB, ni en VBS.
Marsh Posté le 22-02-2006 à 09:40:14
hmm, je me disais que ça ne serait pas facile d'accéder à la mémoire.
sinon, la solution que j'ai trouvé (pas la finale) et d'après ce que vous m'avez dit :
le fichier A calcul le CRC du fichier B et l'enregistre dans un fichier texte
le fichier B est exécuté en logon et avant d'exécuter la suite du code calcul son propre CRC (en utilisant soit le scriptfullname, soit le chemin du fichier B en lecture seule - donc lui-même)
si la comparaison du CRC est bon, il passe à la suite.
je pense que je vais faire ça, et ça fonctionnera.
le hic, c'est que le fichier d'origine sera accessible...
et je viens de trouver un moyen pour contourner mon pb... !
j'indiquait un login et mot de passe dans ce fichier, je n'ai qu'a les déplacer dans un autre fichier, je ne veux pas qu'il soit en dur dans le script mais je n'ai pas d'autre choix, je pourrais indiquer lorsque le CRC est ok qu'il doit aller chercher un autre fichier...
mais le résultat sera le même, il y aura toujours moyen de retrouver ce mot de passe...
Marsh Posté le 22-02-2006 à 09:50:07
ce que je voulais dire, c'est que au final, si quelqu'un veut piocher des infos dans le vbs, il le peut sans problème, et le refaire à sa guise, en supprimant le test de CRC, comme les info le login et le mot de passe son dans le script, ou alors le chemin vers ceux-ci.
et puis je dois laisser un accès au moins en lecture vers le VBS de base pour que lorsqu'il est exécuté il puisse aller se vérifier lui-même.
au fait, un script de logon, lorsqu'il est exécuté, il s'exécutre en tant que qui ?
Marsh Posté le 22-02-2006 à 11:21:39
Ce que je ne comprends pas c'est que tes scripts semblent être accessibles pour n'importe qui.
Que tu doives les lancer avec des droits d'admin pourquoi pas.
Mais ils ne devraient pas être accessibles en lecture/modif aux utilisateurs non admin.
Dans ce cas tu n'aurais pas besoin de vérifier le CRC, à moins que la confiance envers les admin ne soit pas à la mode chez toi.
Mais dans ce dernier cas il est impossible de verrouiller de manière satisfaisante ton script.
Marsh Posté le 22-02-2006 à 13:29:12
je suis assez d'accord avec toi tegu
Marsh Posté le 22-02-2006 à 16:20:40
oui, c'est vrai que là-dessus je bloque un peu.
en faisant simple, j'ai besoin de me connecter avec les droits admin (le script le fait)
ah, je viens de penser que si je me connecte directement en admin je peux aller dans un dossier comparer le CRC avec celui du vbs lancé.
je vais essayer ça,
merci pour les infos ! ^_^
Marsh Posté le 21-02-2006 à 16:28:58
bonjour !
je voudrais savoir s'il est possible de tester le CRC du fichier VBS qui se lance, sans avoir besoin de lui indiquer le chemin du dossier où se trouve le fichier qui est éxécuté.
en gros je voudrais pas tester le VBS sur le disque dur, mais tester celui qui est en mémoire.
je me pose cette question en j'ai un autre probleme :
j'ai réussi à tester le CRC d'un fichier VBS, je peux le comparer, mais je voudrais ne pas avoir à indiquer le chemin du fichier VBS qui est lancé dans son propre code pour tester le CRC.
je me suis peut etre un peu mal expliqué, si vous ne comprenez pas tout, faites le moi savoir ! ^_^
merci d'avance !