Comentário: um jogo de inteligência de vídeo html5, o processo de desenvolvimento é muito interessante, eu gosto de programar, mas depois de implementar a lógica do jogo, tenho uma ideia interessante: por que você não pensa em uma maneira de ocultar o código
Recentemente, desenvolvi meu primeiro jogo na web: um videogame HTML5. O processo de desenvolvimento é muito interessante, eu gosto de programar, mas depois de implementar a lógica do jogo, tenho uma idéia interessante: por que você não pensa em uma maneira de ocultar o código? No começo, eu estava pensando em algumas práticas muito simples, como proibir o menu de contexto, caso você possa visualizar o código-fonte da página quando clicar com o botão direito do mouse. Mas isso não faz sentido. O menu do clique com o botão direito não pode ser usado. As pessoas ainda podem visualizar o código -fonte através de atalhos de teclado ou visualizar arquivos de origem na barra de menus.Uma imagem pode conter milhares de palavras
Isso depende do volume da imagem. Mas decidi criptografar o código -fonte e armazená -lo em uma foto. O componente de tela do HTML5 é muito adequado para esse tipo de coisa, pois suporta a operação para pixels de imagem. Um pixel é representado por quatro valores (canais): canais vermelhos, verdes, azuis e alfa. Seus valores são distribuídos de 0 a 255. Meu código JavaScript é um caractere, cada caractere tem um valor correspondente ASCII. O intervalo de valores ASCII também é 0-255, então o que eu quero fazer é atravessar cada pixel na tela e definir o valor ASCII de 3 caracteres de código para cada pixel como seu valor RGB, você pode facilmente obter esses caracteres através da função Charcodeat.
.Charcodeat (0)
O que é gerado é uma imagem colorida e pequena, que é o código do meu programa e vamos dar uma olhada:
Ao decodificar, eu só preciso desenhar esse quadro na tela, atravessar os pontos de pixel e tirar os personagens representados pelos valores R, G e B:
String.FromCharCode (código)
Concatená -los em uma string grande, e esse é o seu código - código executável.
Você pode proteger seu código -fonte dessa maneira?
Na verdade, ele não pode - um programador experiente (ou até inexperiente) ainda pode saber como decodificar imagens e remover o código dentro, mas acho que este é o primeiro passo para impedir que aqueles que têm fins comerciais ruins roubam seu código - e os programadores que podem descobrir como decodificar (principalmente) não são plagiadores
As principais desvantagens deste método
Essa tecnologia só pode ser usada em navegadores modernos que suportam a tecnologia HTML5 Canvas, e definitivamente não é possível no IE6 e IE8. Até alguns navegadores modernos têm problemas de suporte com a codificação do canal alfa da imagem, para que você possa colocar apenas 3 caracteres por pixel - uma imagem de 100 × 100 pode armazenar 30.000 caracteres de texto.
Você tem outras maneiras simples de impedir que outras pessoas copiem seu código? É claro que podemos criptografar personagens, mas como podemos garantir que suas etapas de descriptografia não possam ser facilmente rachadas? Diga -me o que você pensa!