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

Shell et commandes GNU Discussion :

Comment compiler, et surtout décompiler un script ?


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Juillet 2019
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Juillet 2019
    Messages : 127
    Points : 126
    Points
    126
    Par défaut Comment compiler, et surtout décompiler un script ?
    bonjour ou re tlm,

    je me souviens il y a des années avoir utilisé un script (un .deb) qui me permettait de compiler et surtout, de décompiler des scripts maison.
    Or, je cherche, et je tombe sur shc, puis sur UnSHc. Ce dernier n'est pas disponible dans mes paquets sources (apt sources).
    Je ne comprends pas, comment c'est si difficile de trouver le nom d'un paquet qui permette de lire dans le texte la source de mes commandes bien aimées.

    j'ai cherché, j'ai fulminé sur des réponses du style "mais pourquoi tu veux lire ce qui est écrit en lisible ?" à des questions ressemblantes, du genre "mais banane parce que je veux lire comment c'est codé une commande robuste, pour apprendre !" .....

    Alors ma question est simple, en quoi et avec quoi sont compilé les commandes appelées et présentes dans les répertoires .bin ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 373
    Points : 1 017
    Points
    1 017
    Par défaut
    Bonjour,

    Les scripts ne sont pas compilés, ce sont des fichiers texte interprétés à la volée.
    Pour les binaires Linux (format ELF), il est possible de les désassembler avec la commande objdump -d /usr/bin/ls par exemple.
    Je ne sais pas par contre s'il est possible d'obtenir du C directement, le plus simple est de consulter le code source, la plupart des commandes utilisées étant issues du projet GNU et donc librement accessibles.

    Les codes sources des commandes sont compilés avec le compilateur correspondant aux sources, ça dépend du langage utilisé (gcc, clang ou d'autres compilateurs C pour le C, freepascal pour du pascal, etc).

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 352
    Points : 42 824
    Points
    42 824
    Par défaut
    un .deb n'est pas un script, c'est un fichier package avec un format bien précis qui sert à installer des logiciels. Il va contenir les fichiers à installer dans le système, des informations sur les dépendances (les autres paquets dont il dépend), et des script pré-installation, post-installation.

    shc est un espèce de packer qui contient le script d'origine sous forme crypté. lors de son appel, il va le décrypter en mémoire et lancer le script d’origine; C'est réversible avec unshc, même si ce n'est pas le but de shc.

    Si les sources de ton programme installé par un .deb sont fournies, elles seront dans un paquet à part, et même dans un dépôt à part (ou sur github par exemple). Quand les sources sont dispo (c'est le cas des produits libres), cela ne veut pas dire qu'elles soient installées par défaut.
    Regardes du coté de deb-src.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Juillet 2019
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Juillet 2019
    Messages : 127
    Points : 126
    Points
    126
    Par défaut
    merci pour vos réponses à tous deux

    Nul besoin de désassembler, de décompiler, de quoique ce soit finalement. Ce qui est en C reste en C, ça me va très très bien. Nul besoin de le lire.
    Effectivement, j'oubliais que si je veux des sources, je Apt des sources, rien de plus simple. J'avais bêtement oublié que les commandes systèmes ne sont pas des scripts, mais du C

  5. #5
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Juillet 2019
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Juillet 2019
    Messages : 127
    Points : 126
    Points
    126
    Par défaut
    pour compiler du C, il y a gcc
    pour "compiler" un script (ce qui de mémoire ne sert à rien, et engendre une perte de performance à l'exécution) il y a shc et unshc (à l'inverse).
    bien, en somme, plus de question.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment compiler un prog Gtk sous Debian ?
    Par GLDavid dans le forum GTK+
    Réponses: 3
    Dernier message: 25/06/2004, 20h49
  2. [CR] Comment compiler un etat ?
    Par glachant dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 20/02/2004, 18h19
  3. Comment compiler un projet en ligne de commande ?
    Par mathieutlse dans le forum EDI
    Réponses: 3
    Dernier message: 11/07/2003, 14h32
  4. Réponses: 2
    Dernier message: 05/12/2002, 17h55

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