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

VB 6 et antérieur Discussion :

Dépendances d'un exécutable


Sujet :

VB 6 et antérieur

  1. #1
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut Dépendances d'un exécutable
    Bonjour,
    A mon tour cette fois.

    J'aimerais récupérer les dépendances DCOM(les références utilisées) d'un exécutable PE,
    soit en tant que fichier soit au pire en tant que Process en cours d'exécution.
    TLI ne veut pas le faire et EnumProcessModule ne concerne que les modules non DCOM

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    J'ai essayé et m'y suis cassé les dents.

    Parfois on trouve le nom des ocx dans l'executable, mais pas toujours.
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  3. #3
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Par quelle méthode ?

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    Tu veux développer toi-même la chose ou tu en as simplement besoin ?

    Si tu en as seulement besoin ponctuellement, tu peux utiliser certains outils, tel celui-ci :

    http://www.pe-explorer.com/peexplore...cy-scanner.htm

  5. #5
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Ben, en ouvrant l'exe en mode binaire et en recherchant .OCX

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub Command1_Click()
      Dim hFich As Integer
      Dim Buffer As String
      Dim lPosit As Long
      Dim lDebPosit As Long
      hFich = FreeFile
      Open txtFilename For Binary As #hFich
      Buffer = String(LOF(hFich), 0)
      Get #hFich, , Buffer
      Close #hFich
      Buffer = UCase(Buffer)
      lPosit = InStr(Buffer, ".OCX")
      Do While lPosit
        lDebPosit = InStrRev(Buffer, Chr(0), lPosit)
        Debug.Print Mid(Buffer, lDebPosit, lPosit - lDebPosit)
        lPosit = InStr(lPosit + 1, Buffer, ".OCX")
      Loop
    End Sub
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  6. #6
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Bonjour,

    Tu veux développer toi-même la chose ou tu en as simplement besoin ?
    Devines
    Citation Envoyé par ucfoutu Voir le message
    Si tu en as seulement besoin ponctuellement, tu peux utiliser certains outils, tel celui-ci :

    http://www.pe-explorer.com/peexplore...cy-scanner.htm
    Il n'en fait pas plus que depends (voir moins que la version 2) - bref, pas beaucoup plus que ce qu'on peux récupérer gratuitement via un EnumProcessModule
    Citation Envoyé par Delbeke Voir le message
    Ben, en ouvrant l'exe en mode binaire et en recherchant .OCX

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub Command1_Click()
      Dim hFich As Integer
      Dim Buffer As String
      Dim lPosit As Long
      Dim lDebPosit As Long
      hFich = FreeFile
      Open txtFilename For Binary As #hFich
      Buffer = String(LOF(hFich), 0)
      Get #hFich, , Buffer
      Close #hFich
      Buffer = UCase(Buffer)
      lPosit = InStr(Buffer, ".OCX")
      Do While lPosit
        lDebPosit = InStrRev(Buffer, Chr(0), lPosit)
        Debug.Print Mid(Buffer, lDebPosit, lPosit - lDebPosit)
        lPosit = InStr(lPosit + 1, Buffer, ".OCX")
      Loop
    End Sub
    Carrément - en dur - cela suppose un exécutable vb.

    J'ai cru un temps y parvenir par le biais de TLBInf32 mais je scannais un exe activeX -
    cela semble pourtant la voie à emprunter.

  7. #7
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    J'avais bien dit que je m'y etais cassé les dents, c'est ce que j'ai pu trouver de mieux, et c'est pas grand chose
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  8. #8
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Ma réponse d'hier soir était un peu laconique :
    il me semblerait plus judicieux de rechercher des clsid que des terminaisons
    et tant qu'à faire plutôt dans la zone mémoire du process que dans l'exécutable qui est compressé.

    En y repensant, il y a peut-être aussi une voie à explorer via WMI.

  9. #9
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    En tout cas, si tu trouves une solution, je suis preneur
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  10. #10
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Une idée sans doute idiote :
    Rechercher dans les fichiers de désinstallation du produit (s'il a été installé de manière orthodoxe)...

    Vaut ce qu'elle vaut ...

  11. #11
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    A défaut de mieux, cela peut-être tenté en dernier ressort mais cela reste aussi de la bidouille.

  12. #12
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Bon, petite avancée :
    pour un exécutable créé avec VB, les ProgID sont en durs au format Unicode.
    Etant donné qu'un appel à CoCreateInstanceEx et à CLSIDFromProgIDEx est effectué
    je suppute (peut-être un peu vite) que
    1/ c'est un schéma commun aux exécutables PE
    2/ et qu'en conséquence qu'ils sont décrits à une adresse précise du header PE

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/06/2014, 14h18
  2. Extraction des dépendances DCOM d'un exécutable
    Par DarkVader dans le forum Windows
    Réponses: 5
    Dernier message: 13/06/2008, 14h14
  3. Réponses: 6
    Dernier message: 10/08/2007, 15h17
  4. Créer un jar exécutable avec ses dépendances
    Par Foub dans le forum Langage
    Réponses: 8
    Dernier message: 13/05/2007, 12h38
  5. [ArchiveBuilder][JavaMail] exécution impossible...
    Par Gorthal dans le forum JBuilder
    Réponses: 7
    Dernier message: 10/01/2003, 09h12

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