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 NeoX . Évalué à 1.
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 B16F4RV4RD1N . Évalué à 2.
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 -=[ silmaril ]=- (site web personnel) . Évalué à 3.
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 Samarium . Évalué à 1.
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 (Mastodon) . Évalué à 2.
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 . Évalué à 1.
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.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.