begin process at 2012 05 27 16:18:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > FERMER UNE SESSION APRÈS UN DÉLAI DONNÉ.

FERMER UNE SESSION APRÈS UN DÉLAI DONNÉ.


 Information sur la source

Note :
Aucune note
Catégorie :Système Classé sous :session, notify, winlogon, token, logout Niveau :Initié Date de création :02/08/2006 Date de mise à jour :30/07/2007 00:14:17 Vu / téléchargé :10 609 / 362

Auteur : darktoto

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 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/s ecurity/winlogon_notification_packages.asp).
lanc er 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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

25 août 2006 22:54:52 :
Orthographe et expression (perfectible).
30 juillet 2007 00:14:17 :
Il est maintenant possible de paramètrer un intervalle de temps dans lequel il est possible de se connecter. La suppression de la clé de registre fonctionne récursivement.

 Sources de la même categorie

Source avec Zip Source avec une capture INFORMATION PROCESSEUR (CPUID) par Devils_Tiger
Source avec Zip Source avec une capture LECTURE TEMPÉRATURE PROCESSEUR par Devils_Tiger
Source avec Zip Source avec une capture LECTURE FRÉQUENCE PROCESSEUR par Devils_Tiger
Source avec Zip Source avec une capture UNE LISTE HÉTÉROGÈNE DOUBLEMENT CHAINÉE par pgl10
Source avec Zip Source avec une capture POUR AFFICHER LES CARACTÈRES ACCENTUÉS SOUS WINDOWS EN MODE ... par pgl10

 Sources en rapport avec celle ci

Source avec Zip WINDOWN par kanprog
Source avec Zip Source avec une capture FERMER, REBOOT, LOGOFF. DIRECT OU PAR DECOMPTE par deck_bsd
Source avec une capture CRÉEZ VOTRE PREMIÈRE TRAY ICON . CODE TRÈS SIMPLE ET ACCESSI... par kalvados
Source avec Zip GESTIONNAIRE DE RÉSOLUTION PAR SESSION [XP] par leprov
Source avec Zip Source avec une capture VEILLE, FERMETURE SESSION, REBOOT PC DISTANT, ETAT BATTERIE,... par Arnotic

Commentaires et avis

Commentaire de wxccxw le 06/08/2006 23:54:32

ya pas plus simple ^^

Commentaire de darktoto le 08/08/2006 01:01:08

lol

Commentaire de chouchoudu95 le 29/08/2006 12:10:52

Attention virus sur le fichier removeall.bat son nom est Trojan.BAT.DelSys.f

Commentaire de BruNews le 29/08/2006 12:41:56 administrateur CS

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.

Commentaire de darktoto le 29/08/2006 18:45:39

Pour chouchoudu95 : Je tacherais d'être plus subtil une prochaine fois.

Commentaire de chouchoudu95 le 29/08/2006 21:20:29

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]

Commentaire de Alain Proviste le 29/08/2006 23:06:30 administrateur CS

l'orthographe est morte quand ce dernier commentaire a été posté.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

problème de session sous win XP [ par vdox05 ] Bonjour,J' aimerais savoir comment on fait pour savoir le nom de la session dans laquelle le programme est ouvert ...Par exemple si je veux mettre un Demarrage windows [ par vdox05 ] Je voudrais savoir comment on fait pour mettre un programme au démarrage d' une session.Le programme doit être portable donc je ne connais pas forcéme pb de fermeture de session ftp sous win 2000 ( InternetCloseHandle ) [ par mzhunix ] Bonjour,J'ai un probleme avec la fermeture des sessions ftp de window 2000 en appelant la fonction InternetCloseHandle je dois attendre plusieurs seco pb de fermeture de session ftp sous win 2000 ( InternetCloseHandle ) [ par mzhunix ] Bonjour,J'ai un probleme avec la fermeture des sessions ftp de window 2000 en appelant la fonction InternetCloseHandle je dois attendre plusieurs seco AIDE SVP ! Programme qui délogue l'utilisateur [ par guilt92 ] Bonjour.Je voudrais réaliser un programme, qui, sous NT, ferme la session d'un utilisateur si la session reste verouillée trop longtemps ou si l utili AIDE SVP !!! delogger un utilisateur ! [ par guilt92 ] Bonjour.Je voudrais réaliser un programme, qui, sous NT, ferme la session d'un utilisateur si la session reste verouillée trop longtemps ou si l utili char[] [ par coockiesch ] Hello tous!En fonction d'un mot que j'ai dans un tableau de char, mon prog doit effectuer un action... J'ai essayé la méthode ci-dessous mais dès lett Créer un compte Admin dans une appli [ par zitou ] Bonjour a tous,dans le cadre de mon projet je cherche a créer un compte Administrateur a l'interieur d'une application.Helas, je n'ai pas trouvé de fo Fichier ini... retrouver toutes les clef d'une session [ par JackosKing ] Bon voilà j'ai fait une recherche sur msdn et sur le frm pour le fichier ini, et il faut donc que j'utilise la fonction:GetPrivateProfileString, avec 100? a gagner pour un script qui ouvre un session ou la fermer sur un reseaux local [ par pifher ] detailune machine maitreet 40 machine client je cherche un script qui peut me loger ou me deloger une session en choisissent le n° de la machinesous w


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,373 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales