begin process at 2010 02 10 08:52:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

svchost.exe imiter


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

svchost.exe imiter

samedi 27 septembre 2008 à 11:35:12 | svchost.exe imiter

qhhu


Bonjour tout le monde.
Je crois savoir que le programme svchost.exe, l'hote de tous les services windows parvient à charger certains programmes dans sa propre mémoire. En effet, il arrive a "héberger" un programme dans sa propre mémoire alouée.
Par example, quant je tape services.msc, je trouve une tonne de services démarrés qui font référence à des executables que je ne trouve pas dans le gestionnaire des taches. Je n'en suis pas sur, dites moi si c'est faux, mais je pense qu'ils sont "stockés" dans le processus svchost.exe.

J'aimerais simplement imiter son fonctionnement, c.a.d pouvoir appeler un programme dans la mémoire d'un autre..
Merci d'avance !
mardi 30 septembre 2008 à 19:00:00 | Re : svchost.exe imiter

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Sur le plan purement théorique, il n'est pas possible de charger un .exe dans un processus et de le faire tourner. Le problème vient du fait que les .exe sont (généralement) conçut pour tourner à une adresse précise.

Tu lances ton processus hôte Host.exe, qui veut l'adresse 12. Comme il est pas petit, il va consommer de l'adresse 12 à l'adresse 15.

Puis tu veux charger Child.exe. Rien ne te dit que Child.exe ne veut pas les adresses de 14 à 17. De plus, mis à part Host.exe, dans la mémoire de ton processus, tu as une pile, un tas, et toutes les dlls chargées par Host.exe.

Conclusion : faire un logiciel capable d'héberger un logiciel quelconque est impossible.

Par contre, il y a les dlls... Les dlls, ressemble à s'y méprendre à des .exe, et respèctent le même format de fichier. Cependant, quand on compile (Ca doit plutôt se faire au link d'ailleur) une dll, on peut préciser son adresse préférée, mais ce n'est pas une adresse forcée. La dll inclus en effet une table de relocation, qui permet à Windows de corriger la dll si elle est chargée à une autre adresse.

C'est ainsi que svchost n'héberge pas des .exe, mais des .dll. Sur cette page, on peut voir les principale correspondances dll <-> service.

Plus d'infos ici.


Cette discussion est classée dans : exe, programme, services, svchost, imiter


Répondre à ce message

Sujets en rapport avec ce message

DEV C++ -> pr lancer "exe" de mon programme [ par grandebutant ] svp Sur DEV C++, je voudrais lancer un exe de mon programmeAAAauuuuuuuu seeeeeccccouuurrrr!!Merci aux dieux de la programmation !! Programme exe [ par r144 ] Bonjour, je voudrais intégrer dans mon exe un fichier (xxx.template) que je devrais ensuite lire une fois le prog executer.Je pense qu'il faut utilise Faire tourner un .exe indéfiniment [ par julien20vt ] Je fais un programme qui doit rester actif constamment sur un PC:Il ne doit rien faire du tout sauf en cas de remontée d'evenements ou il a différente Pb avec WinExec [ par lysane ] Bonjour,je voudrais lancé un executable depuis mon programme si je code :WinExec ("monprog.exe", SW_SHOW); celà fonctionne mais mon programme prend de system() [ par LordBob ] Bonjour a tous,voilla j'essai de lancer un programme externe au miens, qui est un programme console et qui a me besoin d'argument supplementaire pour Lancer un exécutable à partir d'un programme C [ par yoyo_du_49 ] Est-il possible de lancer un exécutable (.exe) à partir d'un programme C en écrivant une instruction particulière dans le main() ?Exemple:lancer exemp quel programme pour modifier un exe [ par ata100t ] super neuneu en programmation mais tres curieux, (rester au dos et fichier .bat)je souhaite modifier servudaemon.exe histroire de comprendre comment c Auto modifier un exe [ par LuckyNut ] Salut à tous,Un programme peut-il auto modifier son propre .exe ?Si oui comment (sans utiliser de batch) ?Exemple on lance le programme "revoir.exe", Nom de l'executable lancé [ par fierix ] Bonjour,Voila je cherche comment récupérer le nom de l'éxécutable lancé (en C).(Le programme affiche son propre nom de fichier).En gros si je lance "t Exportations de fonction EXE --> DLL [ par rclsilver02 ] Voila. Je suis sur un projet qui pourra gérer des modules. Chaque module se trouver dans une DLL et pourra utiliser des fonction du programme principa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,140 sec (4)

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