Accueil > > > INSCRIPTION HKLM ET COPIE SYSTEM
INSCRIPTION HKLM ET COPIE SYSTEM
Information sur la source
Description
Une méthode classique pour gérer l'automatisme des applications par HKLM et une copie dans le registre System. Ce code permet ainsi de reproduire l'activité d'un programme à chaque redémarrage. Pratique...
Source
- .386
- .model flat,stdcall
- option casemap:none
- ; La seule inclusion nécessaire pour le code relatif
- ; à l'inscription est advapi.inc et advapi.lib
- include \masm32\include\windows.inc
- include \masm32\include\user32.inc
- include \masm32\include\kernel32.inc
- include \masm32\include\advapi32.inc
-
- includelib \masm32\lib\user32.lib
- includelib \masm32\lib\kernel32.lib
- includelib \masm32\lib\advapi32.lib
-
- .data
- szKeyName db "Software\Microsoft\Windows\CurrentVersion\Run\",0
- ; La valeur inscrite et le nom de l'exécutable soit Test.exe
- szStringValue db "Stormy",0
- RegistryText db "Test.exe",0
- Slash db "\",0
- ; Les OFFSETs initialisés de notre MessageBox.
- Title_Box db "ASM-Reg",0
- Msg_Box db "-Redémarrage automatisé-",0
-
- ; Nous réservons les zones mémoires non-initialisées.
- .data?
- Disp DWORD ?
- pKey DWORD ?
-
- Himself db 256 dup (?)
- Systm_Dir db 256 dup (?)
-
- .code
-
- start:
- ; Inscription de la clé par la fonction SetRegKeysz
- ; avec passage de tout les paramètres OFFSET et SIZEOF.
- push SIZEOF szStringValue
- push OFFSET szStringValue
- push OFFSET szKeyName
- push OFFSET RegistryText
- call SetRegKeysz
- cmp eax,ERROR_SUCCESS
- ; Nous sollicitons le répertoire Windows\System.
- push SIZEOF Systm_Dir
- push OFFSET Systm_Dir
- call GetSystemDirectory
- ; Nous associons à notre buffer "Syst_Dir" le caractère Slash.
- push OFFSET Slash
- push OFFSET Systm_Dir
- call lstrcat
- ; Auquel nous associons le nom de l'application Test.
- push OFFSET RegistryText
- push OFFSET Systm_Dir
- call lstrcat
- ; Nous obtenons le nom de l'application par la
- ; fonction GetModuleFilename. On doit le placer
- ; dans notre buffer adéquat nommé "Himself".
- push SIZEOF Himself
- push OFFSET Himself
- push NULL
- call GetModuleFileName
- ; Nous copions l'application dont le nom est contenu
- ; dans le buffer "Himself". Le répertoire nommé dans
- ; notre buffer "Systm_Dir" est donc la destination.
- push FALSE
- push OFFSET Systm_Dir
- push OFFSET Himself
- call CopyFile
- ; Création de notre MessageBox.
- Continue:
- push MB_OK
- push offset Title_Box
- push offset Msg_Box
- push NULL
- call MessageBox
-
- push NULL
- call ExitProcess
- ; Voici la fonction qui permet l'écriture pour une Reg Key.
- SetRegKeysz PROC lpszString:DWORD,
- lpszKeyName:DWORD,
- lpszValueName:DWORD,
- dwStringLength:DWORD
-
- push OFFSET Disp
- push OFFSET pKey
- push NULL
- push KEY_ALL_ACCESS
- push REG_OPTION_NON_VOLATILE
- push NULL
- push NULL
- push lpszKeyName
- push HKEY_LOCAL_MACHINE ; soit HKLM
- call RegCreateKeyEx
- cmp eax,ERROR_SUCCESS
-
- push dwStringLength
- push lpszString
- push REG_SZ
- push NULL
- push lpszValueName
- push pKey
- call RegSetValueEx
-
- push pKey
- call RegCloseKey
- ret
-
- SetRegKeysz ENDP
- End start
.386
.model flat,stdcall
option casemap:none
; La seule inclusion nécessaire pour le code relatif
; à l'inscription est advapi.inc et advapi.lib
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\advapi32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\advapi32.lib
.data
szKeyName db "Software\Microsoft\Windows\CurrentVersion\Run\",0
; La valeur inscrite et le nom de l'exécutable soit Test.exe
szStringValue db "Stormy",0
RegistryText db "Test.exe",0
Slash db "\",0
; Les OFFSETs initialisés de notre MessageBox.
Title_Box db "ASM-Reg",0
Msg_Box db "-Redémarrage automatisé-",0
; Nous réservons les zones mémoires non-initialisées.
.data?
Disp DWORD ?
pKey DWORD ?
Himself db 256 dup (?)
Systm_Dir db 256 dup (?)
.code
start:
; Inscription de la clé par la fonction SetRegKeysz
; avec passage de tout les paramètres OFFSET et SIZEOF.
push SIZEOF szStringValue
push OFFSET szStringValue
push OFFSET szKeyName
push OFFSET RegistryText
call SetRegKeysz
cmp eax,ERROR_SUCCESS
; Nous sollicitons le répertoire Windows\System.
push SIZEOF Systm_Dir
push OFFSET Systm_Dir
call GetSystemDirectory
; Nous associons à notre buffer "Syst_Dir" le caractère Slash.
push OFFSET Slash
push OFFSET Systm_Dir
call lstrcat
; Auquel nous associons le nom de l'application Test.
push OFFSET RegistryText
push OFFSET Systm_Dir
call lstrcat
; Nous obtenons le nom de l'application par la
; fonction GetModuleFilename. On doit le placer
; dans notre buffer adéquat nommé "Himself".
push SIZEOF Himself
push OFFSET Himself
push NULL
call GetModuleFileName
; Nous copions l'application dont le nom est contenu
; dans le buffer "Himself". Le répertoire nommé dans
; notre buffer "Systm_Dir" est donc la destination.
push FALSE
push OFFSET Systm_Dir
push OFFSET Himself
call CopyFile
; Création de notre MessageBox.
Continue:
push MB_OK
push offset Title_Box
push offset Msg_Box
push NULL
call MessageBox
push NULL
call ExitProcess
; Voici la fonction qui permet l'écriture pour une Reg Key.
SetRegKeysz PROC lpszString:DWORD,
lpszKeyName:DWORD,
lpszValueName:DWORD,
dwStringLength:DWORD
push OFFSET Disp
push OFFSET pKey
push NULL
push KEY_ALL_ACCESS
push REG_OPTION_NON_VOLATILE
push NULL
push NULL
push lpszKeyName
push HKEY_LOCAL_MACHINE ; soit HKLM
call RegCreateKeyEx
cmp eax,ERROR_SUCCESS
push dwStringLength
push lpszString
push REG_SZ
push NULL
push lpszValueName
push pKey
call RegSetValueEx
push pKey
call RegCloseKey
ret
SetRegKeysz ENDP
End start
Conclusion
Pour les applications qui réclament un lancement automatique. @
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
974 Application Server (12.2.4.0)974 APPLICATION SERVER (12.2.4.0)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP mySongBook Player (1.0.0)MYSONGBOOK PLAYER (1.0.0)mySongBook Player est un logiciel gratuit permettant l'accès à une archive de tablatures/partitio... Cliquez pour télécharger mySongBook Player
|