IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Injection/Modification de code | de packet


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Par défaut Injection/Modification de code | de packet
    Bonjour,

    Je poste ce message car je suis à la recherche d'information sur la modification/ajout de code d'une application java(par une autre application java :p)
    Je voudrait aussi pouvoir "conroler" les packets émis par une application java (depuis une autre apli java)
    Si je vous demande c'est que je ne suis pas parvenu à trouver de documents en rapport à ce sujet. Je sais vaguement qu'il est possible de modifier du code java mais par contre je ne sais rien en ce qui concerne le contrôle des packets / des sockets et quels sont les limitations imposer par la JVM.

    Donc, si vous connaissez quelques documents (de préférence en français mais l'anglais est toujours mieux que rien ^^) ce serait très gentils de les partager, merci d'avance
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Tu veux pouvoir faire de la communication réseau (TCP, UDP...) ? (je suis pas sûr d'avoir compris)


    EDIT : Ah, je crois que je viens de comprendre... Tu veux intercepter les paquets réseaux d'une autre application java ? Grosso modo, c'est du sniffing sur la machine locale. Je pourrais savoir le but ? Je ne suis pas sûr de comprendre

  3. #3
    Membre éclairé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Par défaut
    Citation Envoyé par millie Voir le message
    Tu veux pouvoir faire de la communication réseau (TCP, UDP...) ? (je suis pas sûr d'avoir compris)


    EDIT : Ah, je crois que je viens de comprendre... Tu veux intercepter les paquets réseaux d'une autre application java ? Grosso modo, c'est du sniffing sur la machine locale. Je pourrais savoir le but ? Je ne suis pas sûr de comprendre
    Oui sniffing, mais aussi modifier les packets (un peut comme si on récupérer les packets d'une application java, qu'on les modifiais/analysais et que l'on décidais de leur laisser continuer leur chemin pour certains, et que l'on en filtrais d'autres).

    Le but est de réaliser un petit utilitaire java qui permètrais de surveiller les émissions/réceptions de packets de n'importe quel autre programme java au choix, et aussi d'injecter des portions de bytecode dans un programme java déjà lancer (ou si ce n'est vraiment pas possible, avant de le lancer) (la portion de code compiler est choisi par l'utilisateur et provient d'un fichier réaliser par ce dernier)
    Le tout sans utiliser quelque chose de spécifique à l'os (garder la portabilité de java)
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Il faut savoir que lorsque l'on utilise les Socket avec un write sur l'OutputStream. Cela utilise directement l'appel système "send" ou "recv" pour read du système d'exploitation.

    Ce qui fait d'ailleurs qu'en cas de sniffing, il n'est pas possible de savoir directement si le paquet provient d'une application Java ou d'une autre application.

    En clair, si tes "autres applications java" utilise uniquement des Socket (et non une implémentation différente des Socket qui permettraient de faire transiter toutes les données par un endroit que tu connais) : Ce n'est pas possible car on ne peut pas différencier les applications dans les paquets (mais seulement, comme tu dois le savoir, les adresses mac dest/src, adresse IP dest/src, protocole d'envoi, port (pour tcp et udp))


    Une solution serait de remplacer à chaud les Socket des autres applications Java avec une implémentation à toi... C'est d'ailleurs peut être ça que tu voulais ?

  5. #5
    Membre éclairé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Par défaut
    Citation Envoyé par millie Voir le message
    Il faut savoir que lorsque l'on utilise les Socket avec un write sur l'OutputStream. Cela utilise directement l'appel système "send" ou "recv" pour read du système d'exploitation.

    Ce qui fait d'ailleurs qu'en cas de sniffing, il n'est pas possible de savoir directement si le paquet provient d'une application Java ou d'une autre application.

    En clair, si tes "autres applications java" utilise uniquement des Socket (et non une implémentation différente des Socket qui permettraient de faire transiter toutes les données par un endroit que tu connais) : Ce n'est pas possible car on ne peut pas différencier les applications dans les paquets (mais seulement, comme tu dois le savoir, les adresses mac dest/src, adresse IP dest/src, protocole d'envoi, port (pour tcp et udp))
    Non mais maintenant je le sais ^^
    (Donc ça signifie que quelque sois le system, si je veut filtrer certains packet, il me suffit de filtrer tous les packets du system et de choisir ceux qui vont là ou je veut ou vienne d'où je veut. Ca rend plus claires certains mystères ^^ Donc si je voulais "filtrer" non plus pour des applications mais tout un system, je devrai "hooker" ces endroits là? ^^)

    Citation Envoyé par millie Voir le message
    Une solution serait de remplacer à chaud les Socket des autres applications Java avec une implémentation à toi... C'est d'ailleurs peut être ça que tu voulais ?
    Oui ce serait exactement ce que je voudrait, pouvoir traiter a ma façon le packet avant qu'il soit envoyer, et le packet reçu avant que le logiciel le reçoive (donc ça se rattache à modifier le code d'une application java durant son fonctionnement)

    Connaîtrais-tu des documents sur la modification de code java par une autre application java?
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

Discussions similaires

  1. modification dynamique code html
    Par xtendance dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/10/2006, 11h09
  2. Réponses: 4
    Dernier message: 29/09/2006, 16h38
  3. Réponses: 1
    Dernier message: 03/05/2006, 10h17
  4. [Couleur] Modification du code couleur de l'interface
    Par Therich dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 31/01/2006, 20h00
  5. Modification de code
    Par HADES62 dans le forum Autres langages
    Réponses: 5
    Dernier message: 25/01/2006, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo