[...] Lire donnée dans Gui

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

[...] Lire donnée dans Gui

#1

Message par JohnWayne »

Bonjour à tous,

Travaillant sur un autre projet, j'aurais besoin d'une aide pour ce que je souhaite faire.
Tout d'abord voici le code

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("", 650, 400, 141, 114)
Global $SCAN = GUICtrlCreateButton("SCAN", 16, 32, 145, 41, $WS_GROUP)
Global $NETTOYAGE = GUICtrlCreateButton("NETTOYAGE", 16, 88, 145, 41, $WS_GROUP)
Global $QUITTER = GUICtrlCreateButton("QUITTER", 16, 144, 145, 41, $WS_GROUP)
Global $Edit1 = GUICtrlCreateEdit("", 240, 64, 361, 200)
GUICtrlSetData(-1, "Files:" & @CRLF & @CRLF & @CRLF & @CRLF & @CRLF & @CRLF & "Registre:")
Global $Progress1 = GUICtrlCreateProgress(32, 300, 297, 41)
Global $RunS = GUICtrlCreateButton("Run script !", 336, 8, 161, 33, $WS_GROUP)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $SCAN

    EndSwitch
WEnd
Vous remarquez qu'il y a une partie avec marqué Files: et Registre: ( juste au dessu c'est run script ).
Le but de cet outil est de supprimer une infection, ce que je voudrais c'est que dans cette partie on indique les fichiers ou clés de registre qui n'ont pas été supprimés pas l'option NETTOYAGE, pour que cela les suppriment.

Donc ma question est la suivante :
Comment faire pour lire les données inscrites sous Files: et Registre: et supprimer les données écrites.

Exemple :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("", 650, 400, 141, 114)
Global $SCAN = GUICtrlCreateButton("SCAN", 16, 32, 145, 41, $WS_GROUP)
Global $NETTOYAGE = GUICtrlCreateButton("NETTOYAGE", 16, 88, 145, 41, $WS_GROUP)
Global $QUITTER = GUICtrlCreateButton("QUITTER", 16, 144, 145, 41, $WS_GROUP)
Global $Edit1 = GUICtrlCreateEdit("", 240, 64, 361, 200)
GUICtrlSetData(-1, "Files:" & @CRLF & "C:\Windows\virus.exe" & @CRLF & @CRLF & @CRLF & @CRLF & @CRLF & "Registre:" & @CRLF & "HKEY_CURRENT_USER\Software\virus")
Global $Progress1 = GUICtrlCreateProgress(32, 300, 297, 41)
Global $RunS = GUICtrlCreateButton("Run script !", 336, 8, 161, 33, $WS_GROUP)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $SCAN

    EndSwitch
WEnd
Donc, en cliquant sur Run Script, la fonction devrait lire ce qu'il y a de marqué sous Files: et Registre: et supprimer les éléments. Dans cet exemple, le fichier C:\Windows\virus.exe et la valeur virus de la clé HKEY_CURRENT_USER\Software\.

Je pense que c'est assez complexe pour moi tout du moins, c'est pourquoi je sollicite votre aide. J'ai pensé à utiliser les fonctions FileRead et FileReadLine mais cela lit les données dans un fichier préalablement ouvert donc je ce n'est pas la bonne solution.

Merci,

JW
Modifié en dernier par JohnWayne le dim. 13 juin 2010 18:14, modifié 2 fois.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#2

Message par ZDS »

En espérant que c'est ce que tu en attendais ^^
► Afficher le texteScan/Nettoyage
En cliquant sur "Scan", tu crées une liste des fichiers et une liste des clefs de registre à effacer (les fichiers n'existant pas sont ignorés).
En cliquant sur "Nettoyage", tu itères sur les deux listes en effaçant les fichiers / clefs de registre concernés.
En cliquant sur "Run Script !", tu fais ce que tu veux ^^

A bientôt !
Modifié en dernier par ZDS le ven. 18 juin 2010 11:49, modifié 1 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#3

Message par JohnWayne »

Salut !

Merci, de ton aide. Je vais essayé d'être plus précis.
Enfaite la "boite" en dessous Run Script doit être utilisée que si des éléments n'ont pas été trouvés.

Exemple : Il y a 3 fichiers dans C:\ : virus1.exe virus2.exe virus3.exe
Lorsque l'on clique sur scan il chercher virus1.exe virus2.exe et virus3.exe et indique dans un rapport si oui ou non ils ont été trouvés.

--> On va imaginer que dans le rapport il y a marqué qu'il a trouvé que virus1.exe et virus2.exe

On va donc cliquer sur NETTOYAGE pour supprimer les éléments trouvés soit virus1.exe et virus2.exe

////// On arrive donc au vrai problème :lol: \\\\\\\

Comme on a vu qu'il restait virus3.exe on va donc utiliser la fonction script pour le supprimer. Donc on relance le tool, puis en dessous File: on écrit :
C:\virus3.exe

Puis en cliquant sur RunScript le but c'est que le tool supprime virus3.exe
C'est donc sa que j'aimerais que le tool fasse en gros supprimer les éléments que l'utilisateur a indiqué en dessous de :Files pour les fichiers et Registre: pour les clés de registre.

Voilà, j'espère avoir été le plus précis possible :) .

Merci de ton aide,

JW
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#4

Message par ZDS »

Re,

Désolé mais à mon sens non tu n'as pas été assez précis : Quels sont tes critères pour sélectionner les fichiers qui sont à effacer ou non? Dans quels répertoires tu les recherches?
Sinon donc : En cliquant sur SCAN, ça préremplit ton Edit1 avec la liste des fichiers selon ton critère (que je te demande au dessus), puis tu as moyen de rajouter des fichiers (comme ton virus3.exe). Et en cliquant sur NETTOYAGE ça efface les fichiers de ton Edit1. Si oui, voici une modification qui te servira de canevas (le reste est à ta charge de le complèter).
► Afficher le texteScan/Nettoyage
Modifié en dernier par ZDS le ven. 18 juin 2010 11:50, modifié 1 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#5

Message par JohnWayne »

Désolé mais à mon sens non tu n'as pas été assez précis : Quels sont tes critères pour sélectionner les fichiers qui sont à effacer ou non? Dans quels répertoires tu les recherches?

Pour les fichiers à effacer ils sont aléatoires ( tout fichier inscrit sera effacer ), tout dans leur nom que dans leur chemin d'accès ( bon dans mon cas ce serait pour les répertoires suivants : ApplicationData; Windows; Mes documents;Mes vidéos;Ma musique;Mes images). Bienvenue dans le monde des malwares !
:lol:
De plus c'est les fichiers inscrits par l'utilisateur et non par moi qui seront supprimés par le scriot

J'espère que c'est plus clair.

Merci encore SDZ

Edit : J'ai modifié un peu ta fonction, et sa marche du feu de dieu pour ce que je voulais faire. C'est parfait !!

Merci de ton aide si précieuse !!!!
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#6

Message par JohnWayne »

Salut ZDS,

Finalement tout ne semble pas aller comme sur des roulettes. Pour la fonction script :

Pour files:

pas de soucis sa supprime ce que j'indique.

Pour Registre:

C'est là que sa coince, j'ai beau mettre la clé à supprimer ( HKEY_CURRENT_USER\Software\Test par exemple) et bien rien n'y fait cela ne supprime pas la valeur Test. J'ai essayé ces combinaisons ("HKEY_CURRENT_USER\Software\Test" // HKEY_CURRENT_USER\Software\"Test" // HKEY_CURRENT_USER\Software\ "Test") mais aucun résultat.

Aurais tu une idée ?

A+
JW
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#7

Message par ZDS »

Exact, il y a un soucis entre suppression de cle reg et valeur reg. Je regarde ça en détail demain, je sais déjà comment faire, mais un peu crevé ^^

A demain sans faute!
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#8

Message par JohnWayne »

Re-

Si jamais il y a quelque chose que j'ai pas compris dans le script je peux te demander à quoi sa sert et ce que sa fait ?

Merci encore !

A+
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#9

Message par ZDS »

Hello! (PS: désolé pour le retard, je suis tombé malade le jour de mon IRL-level-up ^^)
JohnWayne a écrit :Si jamais il y a quelque chose que j'ai pas compris dans le script je peux te demander à quoi sa sert et ce que sa fait ?
Je pensais plutôt que ça serait à moi de te poser des questions sur ton script, parce que le "à quoi ça sert, et ce que ça fait", c'est à toi de me le dire :)

Bref, sinon j'ai cherché à modifier le fonctionnement de suppression des clefs/valeurs Reg. Dans le cas où il s'agit d'une clef, tape-la normalement dans ton Edit1 (genre "HKEY_CURRENT_USER\Software\Test"); s'il s'agit d'une valeur, tape-la avec un deux-point juste avant (genre "HKEY_CURRENT_USER\Software\Test:donneeVerolee").
Et remplace le bloc :

Code : Tout sélectionner

Sleep(500) ; A effacer, juste pour voir la progression de la barre
RegDelete($registersList[$i])
par :

Code : Tout sélectionner

Sleep(500) ; A effacer, juste pour voir la progression de la barre
Local $split = StringInStr($registersList[$i],":",0,-1))
If $split Then
    ; Il y a un ":" => Valeur, on sépare la valeur de la clef
    RegDelete(StringLeft($registersList[$i],$split-1), StringTrimLeft($registersList[$i],$split))
Else
    ; Pas de ":" => Clef, on supprime direct
    RegDelete($registersList[$i])
EndIf
Normalement, ça devrait faire ce que tu en attends.

A bientôt!
Modifié en dernier par ZDS le ven. 18 juin 2010 11:50, modifié 2 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#10

Message par JohnWayne »

Salut !

:shock: :shock: LA grande classe ce que tu a fait ! Bravo.

Enfaite le script a pour but on va dire de "finir" le nettoyage dans le cas ou des éléments de l'infection persiste.

J'ai rajouté deux choses en plus de files et registre c'est Services ( tuer des processus ) et MD5 pour afficher le MD5 d'un fichier. Sa peut servir dans le cas d'un patch d'un fichier système. Je pense rajouter Replace: ou Copy: pour changer un fichier système patché.

Voilà,

Je te dis un grand merci pour ton aide :)
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#11

Message par ZDS »

De rien, oublie pas de passer le sujet en "Résolu" si tu en as fini avec ^^
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#12

Message par JohnWayne »

Salut ZDS,

J'allais éditer en résolu quand je me suis dit " Tiens je vais aller test la fonction registre". Je fais donc
Registre:
"HKEY_CURRENT_USER\Software\Test"

Puis je clique sur Run Script, regarde dans regedit pour voir si la clé était toujours présente et là surprise : OUI ! ( j'ai essayé sans guillement aussi et même résultat, sa ne la supprime pas )

Es ce que j'aurais loupé quelque chose ??

Merci,

A+
Sh4dows
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#13

Message par Sh4dows »

@ZDS : Tu n'as pas le droit d'utiliser la colorisation syntaxique à tous bout de champs ! Tous est dit ici => http://www.autoitscript.fr/forum/viewto ... =35&t=1609

Cordialement Sh4dows
Sh4dows
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#14

Message par Sh4dows »

JohnWayne a écrit :Salut ZDS,

J'allais éditer en résolu quand je me suis dit " Tiens je vais aller test la fonction registre". Je fais donc
Registre:
"HKEY_CURRENT_USER\Software\Test"

Puis je clique sur Run Script, regarde dans regedit pour voir si la clé était toujours présente et là surprise : OUI ! ( j'ai essayé sans guillement aussi et même résultat, sa ne la supprime pas )

Es ce que j'aurais loupé quelque chose ??

Merci,

A+
Au tous début de ton code rajoute cela :

Code : Tout sélectionner

#RequireAdmin
Quand je dit au tous début c'est en première ligne :lol:
Cela permettra de lancer ton code en tant qu'administrateur ce qui devrait de laissé les droits necessaire en lecture/écriture dans le registre !

Cordialement sh4dows
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#15

Message par JohnWayne »

Salut !

J'ai essayé #RequireAdmin, et cela ne fait rien. Je ne peux tjr pas supprimer les éléments du registre.

Merci,

++
Sh4dows
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#16

Message par Sh4dows »

Tu tourne sous quelle OS ?
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#17

Message par JohnWayne »

Salut
XP edition familiale avec SP3

A+
Sh4dows
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#18

Message par Sh4dows »

Ok donc pour l'exécution en Admin a priori tu n'en a pas besoin, j'ai pas le temps de regarde le code je le regarde dès que je peux et je vous tiens au courant !

A moins qu'un autre membre s'en charge :wink:

Cordialement sh4dows
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#19

Message par JohnWayne »

Salut

Tu peux me tutoyer :)

Merci de ton aide,

A+

JW
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Lire donnée dans Gui

#20

Message par JohnWayne »

Alors pas de solution ??

@++
Répondre