Injecter un code dans un processus ?

Résolu
OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -  
OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Tout d'abord je tiens à préciser que ce que je demande est, je pense, très compliqué à mettre en oeuvre.

Je voudrais savoir si il est possible d'injecter un code compilé dans un jar, dans le processus javaw.exe, et, si vous savez en plus comment le faire, vous pouviez me donner des exemples.

Bonne journée, OmeGaFire_.
A voir également:

2 réponses

Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Salut,

Quand tu lances ton serveur, le processus javaw.exe se lance donc si ton fichier .jar est présent sur la plate-forme bah voila x).
0
OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Je ne parle pas de serveur. J'ai un processus javaw.exe et j'aimerais injecter un jar compilé dedans alors que le processus est lancé. Comment je fais ?
0
krakixx Messages postés 3404 Date d'inscription   Statut Membre Dernière intervention   718 > OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
je doute que sa soie possible sa serais une fail majeur de sécurité :o
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Oui une fois le processus lancé ce n'est pas possible sinon ce serai la fête x)
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

C'est tout à fait possible et sans avoir à contourner quoi que ce soit en terme de sécurité. C'est même le principe de base des serveurs Java EE qui chargent et des déchargent des jar/war/ear à la volée potentiellement sans jamais arrêter le processus du serveur Java.

Cela se base sur le fonctionnement des ClassLoader et la manière dont Java lit les fichiers .class pour les transformer en objet Class dont on peut ensuite utiliser toutes les fonctionnalités.
0
OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
Tu as un code le permettant ?
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Comme ça tout fait, j'en n'ai pas sous le coude, mais ton besoin a l'air relativement usuel donc la documentation pourrait suffire :

Pour les exemples basiques voir la javadoc de ClassLoader :
https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html

Sachant que pour les fichiers ce sûrement un URLClassLoader :
https://docs.oracle.com/javase/8/docs/api/java/net/URLClassLoader.html

Remarque : le JarClassLoader n'est pas standard dans l'API Java, mais il devrait presque être magique pour ton besoin :
https://docs.oracle.com/javase/tutorial/deployment/jar/jarclassloader.html
https://docs.oracle.com/javase/tutorial/deployment/jar/examples/JarClassLoader.java
0
OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   > KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention  
 
Merci tu me sauves la vie ;)
0
OmeGaFire_ Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   > KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention  
 
Un lien pour télécharger le JarClassLoader ?
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu as le lien vers le code dans ma réponse précédente.
0