Offuscamento del gioco HTML5


8

I giochi HTML5 hanno un codice sorgente visualizzabile. C'è un modo per renderli come file swf?

Come nascondere l'algoritmo di gioco?

Cosa ne pensi del plug-in Deobfuscator di Firefox JavaScript e dell'offuscamento ?


1
Se ci dici il motivo per cui vuoi offuscare, possiamo darti una risposta molto migliore, possibile (probabilmente), mostrarti che in realtà non hai bisogno di nascondere il tuo codice.
jcora,

3
Anche un file SWF non è protetto .. puoi facilmente decompilare ed estrarre da esso tutte le risorse e il codice. Ci sono degli offuscatori là fuori, ma non stanno fermando qualcosa che è veramente determinato.
bummzack,

Quanto tempo è necessario per ripristinare completamente l'applicazione swf dopo la decompilazione?
Rustam,

Inoltre, perché dovresti farlo?
brice

Risposte:


10

Se vuoi proteggere la tua fonte, non scriverla in HTML / Javascript?

Parte delle cose davvero belle del web in quanto è tutto leggibile dall'uomo. Questo lo rende un'ottima risorsa di apprendimento. Se mi stai dicendo che non hai mai guardato la fonte di un sito web per sapere come fa qualcosa, allora sentiti libero di dirmi che mi sbaglio.

Sto tutti condividendo l'amore con il codice, altrimenti non risponderei alle domande su un sito web sull'offerta di aiuto, tutto gratis, vero?

Modifica: ho detto cosa ne penso, c'è un modo per renderlo non leggibile? No, non in puro JS / HTML. Il motivo è semplice: da qualche parte lungo la linea, diventa leggibile. Se lo offuschi, allora un deobfuscatore ti prende. Se usi un codice o lo traduci in qualche modo, a un certo punto devi tradurlo in javascript (e anche il codice per tradurlo deve essere nella tua fonte!).

Il meglio che puoi fare è proteggere dal furto della larghezza di banda e offuscare se ne senti davvero il bisogno, ma non fermerà le persone se sono veramente determinate.


6
flash e java possono essere decompilati, i binari possono essere disassemblati, javascript può essere deo-offuscato. La tua fonte non è protetta solo perché non l'hai scritta in javascript.
Esailija,

2
@Esailija lo sforzo medio necessario non è lo stesso, tranne che tu sei un ingegnere inverso / esperto di sicurezza / hacker / waht così mai.
daemonfire300,

3
Solo una citazione da qualsiasi parte: "Ciò che un uomo fa qualsiasi altro uomo può annullare". e aggiungo ad esso: "Con l'intento e la volontà giusti, nulla è veramente protetto".
Ricardo Souza,

beh non lo definirei una cosa davvero bella; più una situazione di "benedizione e maledizione"
CobaltHex,

Lo definirei il suo "meccanico di base": è davvero facile rubare sul web. Questo è il motivo per cui abbiamo la velocità e la complessità dell'innovazione che facciamo. Newton, Picasso, Eliot e sono sicuro che molti altri hanno coniato le massime attorno al furto diretto, anche se nobilmente giustificato dalle spalle dei giganti. Shakespeare è stato eccellente al furto.
Matt Kemp,

5

Puoi metterne molto sul server tramite Node.js e restituire semplicemente i risultati delle funzioni. ma a parte questo è come dice Matt Kemp. Il codice che viene eseguito è leggibile da un essere umano, è impossibile nasconderlo.


2

Anche se non offuschi il tuo codice, HTML / JS ha già lo stesso livello di difficoltà nell'ingegnerizzazione di SWF.

I file SWF contengono il codice ActionScript originale, (IIRC), con commenti ecc., A meno che non siano offuscati. Nomi di oggetti ecc., Sono anche contenuti nel file SWF.

Esistono decompilatori / ricompilatori SWF e solo perché non è possibile vederlo con un editor di testo, ciò non significa che SWF sia in alcun modo al sicuro dal reverse engineering.

In effetti il ​​livello di offuscamento non è davvero diverso da un SWF. Potresti offuscare il tuo codice JS usando un po 'di offuscatore, ma ciò rende solo più difficili da interpretare le segnalazioni di bug.

Probabilmente vuoi concentrare i tuoi sforzi nel rendere qualcosa che valga la pena rubare, piuttosto che impedire alle persone di rubarlo. Molti SWF vengono strappati e utilizzati per scopi non autorizzati (con grafica modificata, ecc.)


2

Utilizza il compressore Yahoo YUI gratuito.

Lo uso perché comprime drasticamente il mio codice (inclusa la rimozione di commenti e spazi bianchi non necessari). Questo mi permette di commentare e strutturare il mio codice esattamente come voglio senza preoccuparmi di quanto sia facile farlo per i ladri.

Inoltre, se vuoi leggere il Javascript per un sito complesso dopo che tutti i nomi di variabili e funzioni sono stati sostanzialmente distrutti, beh, buona fortuna. È molto più difficile capire cosa sta facendo il codice quando non hai suggerimenti.

(Anche se con il compressore YUI potrebbe essere necessario aumentare la sua funzionalità per sbarazzarsi anche dei nomi delle funzioni. Ho modificato il modo in cui nome le funzioni in modo specifico allo scopo di rimuovere automaticamente e selettivamente la maggior parte dei nomi delle funzioni. Ciò potrebbe richiedere un codice personalizzato da parte tua .)


1

No, e non c'è davvero motivo di farlo! Se vuoi vendere il tuo lavoro, puoi farlo senza offuscamento. Le persone pagano per il contenuto, non per il codice. Vendi la tua opera d'arte, storia, musica, ecc. E distribuisci il codice liberamente (lo è già, comunque).


1

I giochi HTML5 hanno un codice sorgente visualizzabile. C'è un modo per renderli come file swf?

Sì, usa Flash e traduci il tuo codice in ActionScript.

Come si potrebbe nascondere gli algoritmi di gioco?

In termini assoluti, non puoi farlo.

Cosa ne pensi del plug-in Deobfuscator di Firefox JavaScript e dell'offuscamento?

L'offuscamento non è altro che una barriera molto sottile per qualcuno che vorrebbe seriamente rubare il tuo codice. Tuttavia, è semplice da configurare, può respingere i kiddie di script più stupidi ed è l'unica cosa che puoi fare per proteggere il codice lato client. Ha il vantaggio aggiuntivo di ridurre le dimensioni dello script (download più veloce) e persino di ottimizzare il codice (esecuzione più veloce). Controlla questa voce su Stack Overflow per dettagli sull'offuscamento. Riepilogo: hai molte opzioni. Personalmente ho provato UglifyJS e ho avuto risultati molto soddisfacenti.


0

Come tutti sappiamo, HTML5 si basa su JavaScript come linguaggio di programmazione. In teoria tutti gli strumenti che proteggono JavaScript dovrebbero funzionare su HTML5.

L'unico strumento che conosco che attualmente supporta HTML5 nel contesto dello sviluppo del gioco è JScrambler . Non sono sicuro se gli altri funzioneranno.

Per la discussione, l'offuscamento non è un proiettile d'argento. Abbiamo un software che viene compilato crittografato, protetto con diverse soluzioni anti copia e che può ancora ottenerlo senza pagare. Detto questo, credo che l'offuscamento batte lasciando il tuo codice aperto a chiunque possa leggerlo quando la tua intenzione non è quella.

Amo davvero l'open source e sostengo il movimento, ma a volte chiudere la fonte ha molto senso.


0

Puoi usare il codice nativo. Programmazione su C ++ e compilazione per HTML5. Cocos2d-X è una libreria che funziona su iOS, Android e HTML5. Il tuo codice sarà nascosto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.