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

Windows Discussion :

Quel est ce language et comment le décrypter ?


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Quel est ce language et comment le décrypter ?
    Le fichier est en .exe et est plein de : "MZ" "NUL" "ETX" "EOT" "&" "+0" " ÿÿÿ" ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
          <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
            <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
          </requestedPrivileges>
        </security>
      </trustInfo>
    </assembly>

  2. #2
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut
    C'est de l'XML.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    t'es sur ? et ce serait quoi les code "NUL" ... que j'ai marqué ?
    Et c'est dur a apprendre ?

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    T'es apparemment en train de regarder ce que l'on appelle un manifeste, c'est à dire un bout d'XML inclus dans les ressources de l'exécutable et qui définit certains comportements du programme (droits d'exécution, style graphique, etc.). Ce qui ne renseigne absolument pas sur le langage utilisé pour créer l'exécutable en question, qui est binaire : le "MZ", situé aux deux premiers octets du fichier, est justement la signature d'un fichier exécutable...

    Par exemple, Delphi me fait ce genre de manifeste :
    Code XML : 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
    19
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity
      	type="win32"
        name="DelphiApplication"
        version="1.0.0.0" 
      	processorArchitecture="*"/>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            publicKeyToken="6595b64144ccf1df"
            language="*"
            processorArchitecture="*"/>
        </dependentAssembly>
      </dependency>
    </assembly>
    Très différent, comme tu peux le voir !! Et surtout, ça ne fait quasiment RIEN par rapport au programme final : cela informe juste le système d'exploitation de quelques particularités / dépendances du programme, ni plus, ni moins... Rien à voir avec le langage de programmation utilisé pour réaliser l'application elle-même.

    Cependant, d'après cette page, ce serait lié aux déploiements ClickOnce, donc sur plate-forme .NET : cela peut être du C# ou du VB .NET, pour citer les plus courants...

  5. #5
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Comme l'a déjà dit Mac LAK, c'est un manifeste, texte descriptif facultatif (pas pour toutes les applications) qui peut se trouver à l'intérieur ou à l'extérieur d'un fichier exécutable (exe, dll, etc.) et lu par windows à chaque chargement du fichier (c'est-à-dire, en gros, à chaque exécution).

    Sous Windows, il y a plusieurs langages qui permettent de générer des exe pour ne citer que C, C++, VB, Delphi, les langages de la plateforme .NET (C#, VB.NET, C++.NET), etc. Le manifeste n'a rien à voir avec tout ça. C'est Windows qui requiert juste parfois sa présence et enfin, je confirme aussi que c'est de l'XML.

    Les "MZ" "NUL" "ETX" "EOT" "&" "+0" " ÿÿÿ" ... ne sont pas importants. Tu ouvres un fichier qui ne contient pas que du texte dans un éditeur de texte, qu'est-ce que tu espérais trouver ? ...

  6. #6
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    On peut quand même s'amuser à remarquer quelques dépendances des applications vis à vis de certaines dll.
    En général (si le runtime n'est pas lié), on peux trouver :
    msvcm*.dll / msvcr*.dll : C/C++
    mscoree.dll : Un des langages .NET
    msvbm*.dll : Visual Basic 6 ou antérieur

    Après, les applications en Delphi ont tendance à avoir des resources particulières genre certaines qui contient les différentes forms du logiciel ou le manifest avec DelphiApplication par exemple.

    Le fait est ceci dit que ce que je vois là c'est du xml comme dit précédemment

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par smyley Voir le message
    Le fait est ceci dit que ce que je vois là c'est du xml comme dit précédemment
    Complètement. Mais apparemment, c'est un manifest .NET lié aux installations ClickOnce, ce qui donne (comme tu le précises) une indication sur le langage utilisé pour développer le programme qui contient ce manifeste.

  8. #8
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Complètement. Mais apparemment, c'est un manifest .NET lié aux installations ClickOnce, ce qui donne (comme tu le précises) une indication sur le langage utilisé pour développer le programme qui contient ce manifeste.
    Ah bon ?
    Moi je vois un manifest d'UAC pour Vista qui indique que le programme peut être lancé sans différence avec le jeton limité ou le jeton administrateur, qu'il n'autorise pas l'accès à son interface par une application qui ne serait pas administrateur si lui démarre en administrateur, et qui enfin n'a pas besoin du mode virtualisé pour fonctionner ... ça c'est pour le trustInfo.
    La ligne assemblyIdentity veux rien dire de spécial ici ...

    Pour illustrer, ça c'est un manifest ClickOnce :
    Code xml : 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
    19
    20
    21
    22
    23
    24
    25
     
    <?xml version="1.0" encoding="utf-8"?>
    <asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <assemblyIdentity name="ValidateChildrenWithConstraints.app" version="1.0.0.0" publicKeyToken="6c3d632f25ac9964" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />
      <description asmv2:publisher="MS" asmv2:product="Validate With Constraints" xmlns="urn:schemas-microsoft-com:asm.v1" />
      <deployment install="false" minimumRequiredVersion="1.0.0.0" trustURLParameters="true">
        <deploymentProvider codebase="http://localhost/ValidateChildrenWithConstraints.application" />
      </deployment>
      <dependency>
        <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Debug\ValidateChildrenWithConstraints.exe.manifest" size="5912">
          <assemblyIdentity name="ValidateChildrenWithConstraints.exe" version="1.0.0.0" publicKeyToken="6c3d632f25ac9964" language="neutral" processorArchitecture="msil" type="win32" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>RokPpIeGiPcO/+UUi5thetccDTc=</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
     
      <Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#">
        ...
      </Signature>
    </asmv1:assembly>

  9. #9
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par smyley Voir le message
    La ligne assemblyIdentity veux rien dire de spécial ici ...
    En toute honnêteté, j'ai juste cherché le premier champ sur MSDN (urn:schemas-microsoft-com:asm.v1), et la première réponse était "ClickOnce Deployment Manifest".
    Je n'ai pas cherché plus loin, vu la question initiale...

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Un tel manifeste, c'est celui par défaut pour une application, non?

    Par contre, je ne vois aucune dépendance, ni pour le runtime C/C++, ni pour les assemblys "core" du Framework .Net...

  11. #11
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Un tel manifeste, c'est celui par défaut pour une application, non?
    Une appli sur Vista ou avec VS 2008 ...

    Citation Envoyé par Médinoc Voir le message
    ni pour les assemblys "core" du Framework .Net...
    C'est jamais indiqué. Il y a juste un import de la dll mscoree.

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Ah oui, en effet.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/03/2009, 08h23
  2. Quel est cet encodage? Comment le décoder?
    Par moalmeyer dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 24/07/2006, 14h28
  3. Réponses: 6
    Dernier message: 12/06/2006, 13h05
  4. quel est le Meilleur language pour piloter le port serie ?
    Par flyfab dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 21/07/2003, 10h03

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