Forum Programmation.ruby Avoir un code en entier

Posté par  .
Étiquettes : aucune
0
23
juil.
2007
Bonjour,

Dernièrement, j'ai remarqué qu'un script en Ruby qui avait ceci :

 $sprite = Sprite.new 


Evidemment, ce code appelle la classe "Sprite". Mais le problème, c'est que je ne possède pas ce script. Il doit être "caché" dans le logiciel en question. J'ai donc fait un code disant d'ouvrir un fichier .txt et d'écrire dedans la classe "Sprite". J'obtiens donc le fichier .txt mais voici ce qu'il contient :

<#<Sprite:0x4dee18c>


Comment faire pour avoir le code en entier (toute la classe) ?

Merci d'avance :)
  • # interpreté vs compilé

    Posté par  . Évalué à 1.

    si le logiciel n'est pas compilé tu dois pouvoir faire un grep ou un find pour trouver ta classe sprite.

    grep -i sprite *.py

    pour chercher le mot sprite (sans tenir compte de la casse) dans tous les fichiers .py du dossier courant.

    avec find il y a des options à passer mais ca donne un truc du genre
    find . -iname *.py -exec grep -i sprite;

    à faire confirmer pour le coup du find.
    • [^] # Re: interpreté vs compilé

      Posté par  . Évalué à 2.

      c'est pas du python, c'est du ruby.

      mais sur le principe, on peut rechercher facilement une chaîne de caractères avec grep :

      grep -ERi "chaine" *.rb

      Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

    • [^] # Re: interpreté vs compilé

      Posté par  (site web personnel) . Évalué à 3.

      Recherche dans tout les fichiers de l'arborescence a partir du rep en cours du pattern 'sprite' en case insensitive:
      find -type f -exec grep -li sprite {} \;

      le 'l' est la pour afficher le nom des fichiers trouvé plutôt que la chaine trouvée.
  • # Re: Avoir un code en entier

    Posté par  . Évalué à 1.

    Merci pour les réponses.

    En fait, ce logiciel comporte plusieurs scripts en Ruby. Certains sont visibles, d'autres ne le sont pas. Donc, je ne peux pas avoir le code de la classe "Sprite". Il n'y a pas de dossier contenant de fichier .rb . Tous les codes en Ruby sont dans le logiciel. Il faudrais juste trouvé le moyen d'avoir le code en entier .... peut être en appelant un code en C dans le script Ruby ....
    • [^] # Re: Avoir un code en entier

      Posté par  (Mastodon) . Évalué à 2.

      Je suis curieux de savoir où sont les scripts qui ne sont "pas visibles"... Tu es sur qu'il ne s'agit pas d'objets définis dans une bibliothèque externe, qui serait chargée par un "require" ? Par exemple, à voir le nom de la classe, la bibliothèque SDL ?

      Après, les codes qui sont "dans le logiciel", c'est un peu bizarre. De deux choses l'une, soit tu utilises un logiciel Ruby dont le code est accessible (puisque ruby n'est pas compilé) soit tu utilises un logiciel dont l'auteur a fait un effort particulier pour cacher son code, et dans ce cas je doute que la licence t'autorises à aller chercher le code source.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.