begin process at 2012 05 24 03:08:35
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

68xxx

 > INSCRIPTION HKLM ET COPIE SYSTEM

INSCRIPTION HKLM ET COPIE SYSTEM


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :68xxx Niveau :Débutant Date de création :04/04/2003 Date de mise à jour :04/04/2003 23:32:45 Vu :4 562

Auteur : Stormy

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

 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

DÉCONCATÉNATION DE CHAÎNE SOUS MASM32V8
Source avec Zip Source avec une capture EDEN KILLER D'APPLICATIONS HOSTILES
Source avec Zip CRYPTOR (PROGRAMME DE CRYPTAGE DE TYPE SIMPLE XOR, RCL & RCR...
Source avec Zip SHELL EXEC (MA$M)

 Sources de la même categorie

Source avec une capture AIRSTRIKE, JEU DE ‘SHOOT THEM UP’ EN ASSEMBLEUR par loudadyassine
LECTURE ET ECRITURE D'UN CARACTERE ET D'UNE CHAINE DE CARACT... par yasmus
Source avec Zip EN UTILISANT LES INTERRUPTIONS DE DOS , CECI EST UN CODE DE... par iltir_master
DÉCONCATÉNATION DE CHAÎNE SOUS MASM32V8 par Stormy
GENERIC WINDOWS XP URL DOWNLOAD AND EXECUTE SHELLCODE par theXman

Commentaires et avis

Commentaire de Marcal le 12/08/2003 22:45:12


Bonjour,

tout d'avord merci pour cette source pratique à utiliser. Malheureusement l'inscription dans la base de registre (HKLM...currentVersion/run) ne se fait pas chez moi. Par contre la copie du programme dans Windows/system c'est ok. Y a-t-il une astuce? J'ai Windows XP...

Merci d'avance pour tout retour,

Marcal

Commentaire de c3rb3r3 le 28/11/2004 08:14:41

Bonjour,

Merci à toi,
Simple petite erreur mais bon, ce n'est pas grand chose.
La valeur que j'ai dans le registre à l'emplacement est "Test."
Sinon ça fonctionne très bien sous Win 2ooo.
Thx, bon code ++

 Ajouter un commentaire




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 : 0,733 sec (4)

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