Fermer une session après un délai donné.

Soyez le premier à donner votre avis sur cette source.

Vue 12 654 fois - Téléchargée 610 fois

Description

Permet de fermer une session dès qu'une durée de connection totale par jour fixée à l'avance est écoulée.
Déjà fait, mais utilise un service fournit par winlogon (clé notify) permettant de suivre l'ouverture/la fermeture de session.
Une amélioration permet de spécifier un intervalle de temps (heure de début, heure de fin) où la connection est autorisée.

Crée avec le Win SDK, et le vc tookit 2003.

Pour l'installer, il faut d'abord le compiler.
Pour le compiler:
mettre à jour correctement le fichier vcvars32.bat avec vos propres chemins vers les librairies du win sdk et du vc toolkit.
exécuter init.bat
lancer make.bat (compile tout) ou "make.bat allex" (compile l'amélioration)
lancer install.exe ('install uninstall' pour désinstaller) ou installex.exe
Ce programme crée une sous-clé de la clé notify de winlogon dans le registre pour permettre le chargement d'une dll de suivi de l'ouverture et de la fermeture de session (voir http://msdn.microsoft.com/library/en-us/secauthn/security/winlogon_notification_packages.asp).
lancer copyall.bat
Ce batch copie une dll et deux exécutables dans c:\windows\system32. usertime.dll et usertimeprocess.exe sont utilisés pour suivre les ouvertures de session et agir en conséquence. usertimeparam.exe permet de les configurer en ligne de commande.
Les options de configurations sont conservés dans la base de registre dans HKLM\Software\julien moquet auquel l'utilisateur System doit-avoir l'accès total (droit par défaut normalement).
Il est nécessaire de redémarrer pour prendre en charge la dll.
De meme, la désinstallation doit se faire en deux temps:
d'abord supprimer les informations de registre (commande 'install uninstall' ou 'installex uninstall')
redémarrer
puis supprimer les fichiers (removeall.bat)

Explication du fonctionnement:
Le processus winlogon peut informer des dll préalablement répertoriés dans sa clé notify d'évènement le concernant. Pour cela, les dll exportent des méthodes que winlogon peut utiliser, et celles-ci sont consignées dans une sous-clé de la clé notify, avec d'autres paramètres.
Ici, deux méthodes sont exportées correspondant aux évènements d'ouverture de session et de fermeture de session. La méthode de la dll (usertime.dll) suivant l'ouverture de session commence par vérifier le droit d'accès à l'utilisateur, puis lance un processus qui vérifie régulièrement que le temps total imparti n'est pas écoulé (ou qu'il ne sort pas de l'intervalle de connection valide avec l'amélioration). Tandis que la méthode qui gère la fermeture de session met à jour le temps de connection restant pour la journée.

"Difficultés" :
La mise en oeuvre de la dll, qui pour être testée nécessite systématiquement le redémarrage du poste (après chaque modification), voir deux redémarrage sans jongler avec deux dll jumelles. (notamment les méthodes WLEventLogon et WLEventLogoff de la source usertime.cpp).
Le processus à lancer dans la dll, n'hérite apparement pas des droits de l'utilisateur SYSTEM, il faut récupérer le token du processus courant et l'utiliser pour créer le nouveau processus. (voir la méthode LaunchCounterProcess de la source usertime.cpp).
La fermeture de session ne fonctionne pas lorsque certains programmes (problème rencontré avec des jeux en mode protégé plein écran mais ce n'est pas l'exacte condition) sont en activité et avec l'option FORCEIFHUNG de ExitWindowsEx. Cela fonctionne pourtant avec des logiciels (plus) simples. L'utilisation de l'option FORCE tout court semble corriger le problème (pour l'usage que j'en ai). (voir la méthode ExitSession de la source usertime.cpp).

Conclusion :


Dans la première version, il subsiste la clé HKLM\software\julien moquet et ses sous-clés suite à la désinstallation.
L'utilisateur n'est pas prévenu de l'imminence de la fermeture de la session... la source WINTIMER V.2 [DEV-C++ 4] (sur le site) propose d'emettre des bips, ce n'est pas bête.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
908
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
2
l'orthographe est morte quand ce dernier commentaire a été posté.
Messages postés
4
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 août 2006

alor vous dite que mon enti virus est movai alors voila le rapord de mon enti virus

Name: BatMan_II
Size: 3372
Type: Repair: EXE-files

During execution of an infected file the virus decrypts itself by using 5 different decryptors. However, it is not polymorphic. The virus uses several anti-debugging tricks like using INT 1,3,9 as decryptors and direct port commands.

After that it hooks INT 13h, 21h and stays memory resident. BatMan_II.3372 is a stealth virus, it changes the DOS file time stamp to 62 seconds. During execution the virus searches for *.EXE files, then writes itself to the end of them.

BatMan_II sometimes corrupts files, due to a bug in it's infection routine. The corrupted files halt or reboot the system and they will not work after the disinfection either.

The virus contains a few text strings, but they are encrypted:

Bat Man II
*.EXE
COMMAND
\NAWIAT ( --> backwards \TAIWAN )

The virus has shorter variants, too.

BatMan_II was found in the wild in USA in August 1996.

[Analysis: Peter Szor, F-Secure, 1996]
Messages postés
14
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
29 août 2006

Pour chouchoudu95 : Je tacherais d'être plus subtil une prochaine fois.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
del /Y c:\windows\system32\usertime.dll
del /Y c:\windows\system32\usertimeprocess.exe
del /Y c:\windows\system32\usertimeparam.exe

Tu vois un virus là dedans ???
Faut regarder avant de dire nimporte quoi.
Messages postés
4
Date d'inscription
dimanche 29 janvier 2006
Statut
Membre
Dernière intervention
29 août 2006

Attention virus sur le fichier removeall.bat son nom est Trojan.BAT.DelSys.f
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.