Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

~TiuTalk~

Protegendo um Projeto

Recommended Posts

Bom gente...

 

Estou começando um projeto novo que vai ser usado para gerenciar algumas funcionalidades em um jogo... O sistema em si, pro que ele está sendo projetado, pode agir sozinho e eu posso deixá-lo no meu servidor e criar conta para as pessoas que comprarem o sistema, isso resolveria meu problema...

 

Mas também posso fazer o sistema interagir com o banco de dados do jogo (no servidor do cliente) e deixar o sistema mais eficiente e robusto... O problema é: como fazer o sistema não ser re-distribuído e repassado entre amigos?

 

Sei que é praticamente 'impossível' deixar um projeto em PHP totalmente 'bloqueado' a copias... Já passei tardes pensando como seria a melhor maneira de fazer algo realmente difícil de ser quebrada, mesmo que alguém demorasse MUITO tempo pra quebrar o sistema de segurança já seria uma boa... Aposto que muitos aqui já se depararam com um problema parecido (proteger seu código)...

 

Sei que existem ofuscadores (o que complica mas não resolve) ou até aquele Zend Encoder, mas isso exigiria que o cliente tivesse o pacote instalado no servidor dele pro sistema funcionar e quanto menos coisa meus clientes precisarem instalar no servidor deles, melhor pra mim...

 

Alguém tem uma idéia ou dica de como posso proceder? Qualquer sugestão, caminho ou recurso vai ser extremamente bem vinda...

 

Abraços!

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

o seu software será pirateado se derepente se tornar popular

 

se não for popular não será alvo de crackers.

 

os hackers que burlam sistemas operacionais, e softwares complexos são geralmente grupos financiados por concorrentes. Há um investimento pesado nisso, por isso, não há com o que se preocupar a não ser que você queira lançar um produto a nível mundial.

 

 

não entendi muto bem..

se o seu produto depende do seu servidor, então.. basta verificar o hash dos arquivos do cliente.

se for alterado, bloqueie..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo assim?

 

$original = '5c6ffbdd40d9556b73a21e63c3e0e904';
if (hash_file('sha256', '__FILE__') != $original)
die("Arquivos não originais");

(não to dizendo que vai ser assim a parte de bloqueio, só to perguntando pela verificação... se for 'só isso' não seria bem burlável? O.o

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sei... mas eu quero fazer o melhor possível pra "velha pirataria" demorar o máximo... xD

Se você esta em busca do "melhor possível", ou "menos pior", você não pode descartar a instalação de recursos no servidor do seu cliente. E se o servidor não aceitar este nível de personalização, é aconselhável até que seu cliente troque o prestador de serviços.

 

Algumas técnicas que podem ser utilizadas.

- Gerar um arquivo de licença individual ou ter um site onde a licença pode ser ativada ao instalar a ferramenta, controlado por cliente ou por periodicidade;

- Um arquivo binário desenvolvido em outra linguagem, como C, compilado, com dados do seu cliente;

- Usar um serial, que seria gerado no momento da instalação por uma outra ferramenta, que seria apagada após a instalação, impedindo que o serial fosse criado em outra situação a não ser numa nova instalação;

 

A técnica apresentada pelo Hinom também pode ser útil com ofuscadores.

 

É isso, não consigo pensar em mais nada muito diferente.

Claro que as "técnicas" podem ser misturadas, aumentando o nível de proteção.

Ter alguns arquivos ofuscados também vai ajudar bastante.

 

Tenha em mente também um bom contrato de prestação de serviços, deixando bem claro os termos de licença de uso da ferramenta etc.

 

Boa sorte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar o zendo encode para embaralhar o codigo do seu sistema e nele criar um verificado de serial como citado acima, pois se as funcoes para tal verificacao foresm faceis de entender...bom ae ja sabe...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O sistema usaria algumas 3~4 tabelas próprias, o que acham dessas tabelas ficarem em um servidor MEU e o sistema fazer conexão com 2 servidores e bancos de dados? =D

 

1. Eu precisaria liberar o IP do serv. do cliente pra conexão do SQL

 

2. Como as tables terão o 'id' do cliente, não tem como sair criando ID nova de fora =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O sistema usaria algumas 3~4 tabelas próprias, o que acham dessas tabelas ficarem em um servidor MEU e o sistema fazer conexão com 2 servidores e bancos de dados? =D

 

1. Eu precisaria liberar o IP do serv. do cliente pra conexão do SQL

 

2. Como as tables terão o 'id' do cliente, não tem como sair criando ID nova de fora =)

Bem... isto tornaria o sistema muito dependente de uma conexão externa, mas sim, pode ser feito.

Apesar de entender que isto seria equivalente, porém mais simples e seguro, a uma solução Web para ativar uma licença.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O decoder é de graça, e é facil instalar no servidor... você também pode enviar os arquivos do decoder junto do projeto que roda direitinho... o problema tá sendo achar uma versão do encoder full, que funcione (e que não custe os U$ 199) xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.