Page 1 sur 1

Nspire-Lua Script Extractor : tns -> lua avec TINCS

Message non luPosté: 18 Mar 2014, 16:32
de Adriweb
Pour pouvoir extraire le code source Lua d'un script dans un .tns, il n'y a pas 36 façons, surtout "simples"...
  • La technique de récupération des données du Clipboard (là où se stockent les données quand vous faites un copier/couper(+coller)), notamment rendu rapide grâce au ClipboardDumper de Levak
  • Récupérer le XML complet depuis une calculatrice ndlessée, grâce à TNS2XML d'Excale.
  • Dumper la RAM sur nspire_emu, ce qui est quand même déjà un peu plus complexe (c'est comme ça que ça s'est passé lors de la découverte du Nspire Lua, d'ailleurs...)

Bref, j'ai décidé d'améliorer la première de ces solutions en reprenant l'idée de Levak, mais en, cette fois-ci, "parsant" le contenu (xml, en gros) récupéré depuis le clipboard et en isolant le script correctement. Le programme détecte aussi si le script vient d'un doc créé en 3.6+ ou avant (TI a mis, à partie de 3.6, le source lua dans un CDATA ce qui évite d'avoir à déserialiser le contenu...), récupère le titre si il y en a un, et vous indique s'il y avait un mot de passe (sans (pouvoir) le révéler, puisque c'est un one-way hashing) pour vous avertir de respecter du contenu copyrighté si c'est le cas. (Et en général, à n'utiliser qu'en cas légitime de perte du mot de passe de votre propre script, donc - je me dégage de toute responsabilité ;) )
Un autre usage légitime est la non-utilisation d'une version 3.2+ de TINCS (donc, pas d'éditeur de script Lua)...
L'autre avantage est qu'il est multi-plateforme directement (Java).

Pour pouvoir l'utiliser, rien de spécial :
  • Ouvrez votre .tns dans le logiciel ordinateur
  • Copiez l'onglet (voire widget) courant du script
  • Lancez le .jar (directement ou en CLI)
Un fichier 'source.lua' apparaîtra au même endroit que le .jar

Image

Téléchargement : archives_voir.php?id=35819
Source : https://github.com/adriweb/NspireLuaScriptExtractor

Re: Nspire-Lua Script Extractor : tns -> lua avec TINCS

Message non luPosté: 18 Mar 2014, 17:22
de technolapin
Mais, on pouvait tout simplement copier le code que l'on peut avoir avec l'éditeur de script du software (à moins que je n'ai pas compris)!

Re: Nspire-Lua Script Extractor : tns -> lua avec TINCS

Message non luPosté: 18 Mar 2014, 17:23
de Adriweb
Ben, quand on peut, oui, mais mon programme traite justement les cas où on ne peut pas/plus :P
(TINCS < 3.2 ou perte du mot de passe du script)

Re: Nspire-Lua Script Extractor : tns -> lua avec TINCS

Message non luPosté: 18 Mar 2014, 18:11
de pierrotdu18
C'est un super boulot, merci beaucoup!
Mais donc ça veut dire que maintenant, il n'y a plus aucun moyen pour protéger son code?

Re: Nspire-Lua Script Extractor : tns -> lua avec TINCS

Message non luPosté: 18 Mar 2014, 18:13
de Adriweb
C'était tout autant possible avant, fallait juste récupérer le bon bout du XML, hein, ya rien de nouveau avec mon programme (juste un peu plus de noob-friendliness) :D

Et si, il y a bien d'autres moyens (troll XML, QnA Lua, obfuscation, etc.) (+ combinaisons de tout ca....)

Re: Nspire-Lua Script Extractor : tns -> lua avec TINCS

Message non luPosté: 18 Mar 2014, 18:27
de Excale
Et si, il y a bien d'autres moyens (troll XML, obfuscation, etc.) (+ combinaisons de tout ca....)

(comme ça que je fais du basic closed-source :D)