Chiudere il codice

Ciao a tutti.
Se volessi sviluppare un’applicazione anche semplicissima in RoR,
supponiamo un archivio di documenti e volessi poi venderla a un mio
potenziale cliente…

ci sarebbe il modo di fornirla al mio cliente come se fosse
un’applicazione compilata?

o meglio…

ci sarebbe la possibilità di “chiudere” il codice per evitare che il
cliente ci “rovisti dentro”?

ovviamente non vale l’opzione di hostarla su un mio server e fornire la
uid e pwd al cliente :slight_smile:

Grazie a tutte le persone che mi vorranno aiutare.

Ciao

Cerca su google: obfuscator ruby

mumble …

ho le idee un po’ confuse pero’ tempo addietro quando ho cominciato ad
interessarmi a Ruby mi ricordo di aver trovato gente che parlava di un
tool Ror2exe che in pratica compila un applicazione Ror in un sigolo
eseguibile che poi viene lanciato ed e’ disponibile sulla porta 3000

Se non ricordo male questo tool include anche la Ruby VM e quindi una
volta creato l’ exe non ti serve neppure che il PC abbia Ruby
installato.

Simone R. wrote:

mumble …

ho le idee un po’ confuse pero’ tempo addietro quando ho cominciato ad
interessarmi a Ruby mi ricordo di aver trovato gente che parlava di un
tool Ror2exe che in pratica compila un applicazione Ror in un sigolo
eseguibile che poi viene lanciato ed e’ disponibile sulla porta 3000

Se non ricordo male questo tool include anche la Ruby VM e quindi una
volta creato l’ exe non ti serve neppure che il PC abbia Ruby
installato.

Ho cercato su google ma ho trovato solo questo:

http://www.javaeye.com/topic/132768

solo che chiaramente non ho capito nulla della discussione :slight_smile:

Il 19 aprile 2010 11.40, pezzuya … [email protected] ha
scritto:

Simone R. wrote:
Ho cercato su google ma ho trovato solo questo:

http://www.javaeye.com/topic/132768

solo che chiaramente non ho capito nulla della discussione :slight_smile:

Come, eppure è chiarissimo! :stuck_out_tongue:

Quello che so: Ruby MRI (1.8.6) è interpretato e basta; quasi tutte le
altre implementazioni, compresa la 1.9.1, sono basate su virtual
machine, e quindi su bytecode.

Tuttavia, da una veloce ricerca pare che non sia possibile salvare su
file il bytecode della 1.9.1; esistono però alternative:
Rubinius (sperimentale) - usa un suo bytecode;
jruby - può salvare in .class, bytecode java;
ironruby - può salvare in IL, il bytecode .NET;
Maglev (sperimentale) - usa bytecode gemstone (che non so cosa sia), e
che io sappia può salvarlo;

Molto probabilmente ce ne sono altri.

Tieni però conto che comunque il bytecode si decompila che è un
piacere, e - a meno di offuscatori efficaci - ci vogliono pochi
secondi per ottenere il codice sorgente di un compilato java o .net,
ad esempio.

pietro

2010/4/19 Pietro G. [email protected]:

Tieni però conto che comunque il bytecode si decompila che è un
piacere, e - a meno di offuscatori efficaci - ci vogliono pochi
secondi per ottenere il codice sorgente di un compilato java o .net,
ad esempio.

credo che il punto sia sempre: metti un livello di difficoltà
adeguato, non sarà mai sicuro al 100% ma ti aiuta contro il “casual
abuser”.

Se non ricordo male, la versione “installabile” di github è fatta
così: applicazione ROR portata su jruby, pacchettizzata e con
installer.

Plausibilmente puoi ottenere un risultato decente con gli step

a questo punto hai un war che è utilizzabile, per semplificare il
deploy ti basta aggiungere un file .bat/.sh che usi jetty per lanciare
il war, è piuttosto semplice e rende il tutto completamente for
dummies.

On Friday 16 April 2010 18:14:54 Simone R. wrote:

Se non ricordo male questo tool include anche la Ruby VM e quindi una
volta creato l’ exe non ti serve neppure che il PC abbia Ruby
installato.

Penso che faccia affidamento su RubyScript2Exe [1]. In questo caso e’
comunque
possibile estrarre il codice ruby dall’exe, basta passare il parametro
“–eee-
justextract” all’eseguibile.

Ciao
Flavio

[1] http://www.erikveen.dds.nl/rubyscript2exe/