Jump to content
kombypetras

Como por um serial num programa

Recommended Posts

kombypetras

Boas pessoal.

Queria saber se alguém me consegue informar e ajudar na forma como eu posso colocar um serial para bloquear o programa.

Ou seja, se eu desenvolver uma aplicação como posso bloquear a utilização da mesma a um único utilizador utilizadores?

Se eu fornecer a app a um utilizador impedir que esse utilizador a forneça a outro utilizador e possam os dois utilizar a app com o mesmo serial.

Se alguém tiver umas dicas de como eu possa fazer isso e resolver esta situação agradecia que me ajudassem a resolver esta dúvida.

Desde já agradeço a atenção a todos.

Share this post


Link to post
Share on other sites
bioshock

Existem várias soluções, algumas mais robustas outras nem tanto.

Uma muito utilizada é a obtenção da serial do hard disk de cada computador.

É claro que podes sempre ter um ficheiro online e sempre que a aplicação é iniciada pela primeira vez ele verifica se a serial em questão já foi utilizada ou não.

Share this post


Link to post
Share on other sites
IceBrain

Sinceramente não aconselho essas medidas. Se usares um sistema de verificação online que "queime" uma key quando se usa, o que acontece se o utilizador quiser reinstalar? Ou se o servidor não estiver online, até daqui a um três ou quatro anos?

E o mesmo com usar a serial do hardware, caso ele faça upgrade de peças ou compre um novo.

A menos que estejas preparado para dar suporte a cada utilizador, acho que é uma péssima opção.


❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

Share this post


Link to post
Share on other sites
bioshock

Sinceramente não aconselho essas medidas. Se usares um sistema de verificação online que "queime" uma key quando se usa, o que acontece se o utilizador quiser reinstalar?

O sistema de verificação online apenas detectava se o utilizador já estava logado.

Quanto ao servidor, isso já não é problema de quem usa a aplicação, mas sim de quem a desenvolve.

Em relação ao serial do hardware, foi uma sugestão.

Share this post


Link to post
Share on other sites
kombypetras

Boas.

Pois já vi que vai ser complicado bloquear a minha aplicação com serial.

Só queria uma maneira de poder garantir que a aplicação só é utilizada por um utilizador para um determinado serial.

Já pensei em criar um ficheiro que é guardado e que contem uma info do pc onde o programa vai ser instalado e respectivo serial.

Já me lembrei de criar um base de dados que guarde essa info online mas acho que pode ser acedida muito facilmente e a info ser corrompida.

não sei que ei-de fazer.

se alguem tiver uma dica que resolva o meu problema agradeço.

Share this post


Link to post
Share on other sites
bioshock

Podes desenvolver o teu próprio sistema, é só pensar um bocado. Regra número 1: quem 'paga' pela licença do software nunca pode ser prejudicado por quem cracka.

Share this post


Link to post
Share on other sites
kombypetras

Pois mas criei este tópico para recolher ideias de como efectuar o bloqueio da aplicação sem que só seja utilizado com serial e por um único utilizador.

Nunca trabalhei neste aspecto e queria agora fazer qualquer coisa do estilo.

Share this post


Link to post
Share on other sites
taviroquai

Essa é uma questão de veras pertinente (o serial do windows deve sofrer a cada minuto do mesmo)... por isso que algumas empresas adoptaram o dongle usb com resposta... se me lembrar de algo coloco aqui... mas a chave gerada por hardware também me parece uma solução embora a comprometa a capacidade de resposta do suporte...

Não me parece que o disco (ou motherboard) do computador se troque todos os dias... talvez gerando uma chave apenas sobre o disco ou sobre a motherboard? Mesmo que tenhas 1000 utilizadores... terias que gerar uma chave 2/3 vezes por mês? Também não tenho muita experiência nisto...

Share this post


Link to post
Share on other sites
apocsantos

    Boa noite,

    A questão do hardware é muito gira mas tem um problema. Se o hardware avaria, a pessoa que pagou não vai querer pagar nova licença.

    Os serials são uma ideia, dependendo do nível de criptografia associado pode ser mais ou menos "viável". Maior parte das aplicações que conheço usa uma combinação de "nome do registo mais um numero de serie" para se licenciar.

    A possibilidade do dongle USB é interessante, mas falível de vários pontos de vista. Os bons são bastante dispendiosos.

    Dependendo do que quiseres fazer uma possibilidade seria uma pen "normal" com uma formatação "Não padrão" de forma a que obriga-se a usar um driver teu, fornecido com a tua app, e que nessa pen contivesse um ficheiro que valida-se tipo sistema de senha e contra-senha, com uma chave embutida na source da app, por exemplo.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
kombypetras

Pois mas o problema é que se eu fornecer a minha app a um pessoa com a pen para registo posso correr o risco de essa pessoa fornecer a app com a pen a um amigo e esse amigo instala no pc dele com facilidade certo???? Não consigo restrigir uma chave a uma empresa ou uma pessoa certo???

Share this post


Link to post
Share on other sites
apocsantos

    Bom dia,

    Não necessariamente. Observa as coisas por outro ponto de vista. Se tiveres múltiplas validações à "pen", em que a app tenha literalmente de ter a pen inserida para ser executada, validando várias vezes dentro da própria app a existência da pen (leitura directa ao hardware), em que o programa deixe de funcionar caso a validação não retorne um valor "true", o emprestar para instalar "torna-se inútil".

    A ideia e apenas falando hipoteticamente, era pegares numa pen convencional, formata-la num sistema de ficheiros não padrão, (existem bons programas para fazer isso, e várias filesystems "não padrão") que penso poderes utilizar para o fazer. Basta pesquisar.

    Dentro dessa pen, nessa filesystem, escreverias um ficheiro, algo tipo uma public-key, gerada por exemplo com openssl, por exemplo, e que o teu programa entre outras validações iria ler várias vezes durante a sua execução.

    No teu programa podes ter guardada a outra chave, em conjunto as duas chaves validam e retornam um valor true, ou um valor false. A chave na PEN pode ser uma chave por licença.

    Para evitares a duplicação das pen drives podes utilizar o numero de série da pen drive, isso até pode ser usado em conjunto com outros valores para gerar a key que vai ser armazenada na pen. O programa assim faria essa validação adicional, dificultando imenso a cópia.

    Atenção que tanto do driver para a pen, como o driver para a filesystem em que ela vai estar formatada tem de estar embutido na tua aplicação. Existe código para ler e escrever filesystems não padrão na net. Se pesquisares encontras, basta leres e fazeres o teu próprio.

    Como medida adicional o próprio driver pode fazer validação ao serial number da pen. Aí ainda dificultas mais a reprodução ilegal.

    A questão das cópias dos programas não está na dificuldade de os reproduzir, mas sim na quantidade de potenciais interessados em obter uma cópia ilegal. Ou seja se o programa se destina a um "nicho de mercado" as medidas apresentadas, devem chegar e sobrar. Mais porque a protecção não é standard, por isso não existe uma "mezinha padrão" para ultrapassar a protecção.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
falco

Sinceramente se queres obter proveito comercial, acho que estás a focar-te num aspecto errado.

O sucesso comercial, vem em boa parte da satisfação do cliente. Isso contribui absolutamente nada para a satisfação do cliente. E ainda ficas com custos de investigação e implementação dessa medida. Custos esses que representam menos investimento em melhorar a experiência do cliente, ou redução de lucros.

Quanto a procurar "revenue", acho que deverias permitir a livre cópia do software. E expandires o teu negócio para serviços de suporte (e outros) para todos os que têm a aplicação (quer tenham pago pelas cópias, quer não). Há formas de incentivar a compra da aplicação (promoções, etc...), sem envolver esses métodos, que ainda por cima são relativamente fáceis de quebrar. Já viste que se todos os métodos mais evoluídos e caros são quebrados, quanto mais os métodos a que tu terás acesso...

Para além disso há ainda outros modelos de negócio, como por exemplo o modelo de Application Service Provider, que faz com que nem chegues a distribuir a aplicação, mas forneças o acesso à aplicação como um serviço.

Mas recomendo que te foques em fazer com que queiram comprar a tua aplicação pelos seus méritos técnicos e pelas vantagens comerciais, em vez de ser por colocar obstáculos à sua utilização livre. Não ganhas realmente nada por ter uma aplicação menos utilizada e lembra-te que por cada instalação da tua aplicação é menos uma instalação de um concorrente (pelo menos na maioria dos casos).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.