Retourner aux forums || Retourner au forum Programmation.ruby

Programmation.ruby : Avoir un code en entier

Posté par Samarium () le 23 juillet 2007
0
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 :)

> Lire le message (6 commentaires, moyenne: 1,7).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

interpreté vs compilé

Posté par NeoX () le 23/07/2007 à 19:15. (lien). É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.

--
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux
  • [^]Re: interpreté vs compilé

    Posté par Farvardin (page perso, ) le 23/07/2007 à 20:49. (lien). É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

    --
    You can't grep dead trees...
  • [^]Re: interpreté vs compilé

    Posté par -=[ Benoit Plessis ]=- (page perso, ) le 23/07/2007 à 20:55. (lien). É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.

    --
    Il [e2fsck] a bien démarré, mais il m'a rendu la main aussitot en me disant "houlala, c'est pas beau à voir votre truc, je préfèrerai que vous teniez vous même la tronçonneuse" (traduction libr

Re: Avoir un code en entier

Posté par Samarium () le 24/07/2007 à 11:32. (lien). É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 Yusei () le 25/07/2007 à 08:21. (lien). É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.

    • [^]Re: Avoir un code en entier

      Posté par Thomas () le 27/07/2007 à 12:52. (lien). Évalué à 1.

      Tu as des trucs comme ça:
      http://www.erikveen.dds.nl/rubyscript2exe/index.html
      pour planquer code avec dépendances et interpréteur dans un exe unique.

      Mais bon là il a un script qu'il peut lire. Donc il doit y avoir un require caché quelque part.

      Une rapide recherche sur google indique qu'il s'agit peut-être de la lib rubygame.

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.ruby