Jump to content

Controlo de licenciamento


Kline777

Recommended Posts

Podes usar o sistema "Windows":

O software gera um código a partir de dados da licença e da propria instalação e PC, e fica à espera de um código de validação, que serás tu a criar com uma qualquer chave privada aplicada ao código inicial.

Depois o programa valida se ao desencriptar (com a mesma chave) o resultado é igual ao código que ele proprio gerou.

Em alternativa, podes usar um "ficheiro de licença" que incluirá os dados da empresa que o usa e um código, e o programa depois irá fazer a descodificação e comparar aos restantes dados do ficheiro de licença.

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

Sim, mas normalmente um sistema desses implica que o teu codigo tenha algo como

 
if validaLicença then
//faz isto
Else
// dá erro

E isso é facil de contornar por alguem que aceda ao assembly do exe.

Eu sei que provavelmente nunca ninguem vai tentar isso, mas mesmo assim vou tentar evitar.

Vou trabalhar mais um pouco sobre uma ideia que tenho e depois posto aqui se nao for muito má ^^

Link to comment
Share on other sites

Isso é verdade, há sempre a possibilidade de alguém ter o conhecimento suficiente para piratear a licença. No entanto convém não esquecer que a solução tem sempre de existir no programa (de outro modo, não vejo como ele poderia validar a licença) pelo que, de forma mais simples ou mais dificil, será sempre possível o acto ilegal.

Posto isto, podemos sempre tentar analisar a melhor maneira de dificultar a vida aos piratas.

Não amadureci as ideias, mas jogo-as para a mesa...

- Licença online (requer internet no servidor do programa)

- Dados da empresa no código da licença (alterando o código, os dados alteravam, fazendo com que o programa trabalhasse mas sob um nome/NIF errado, tornando-o inutil)

- Uma Hash dinâmica que fosse variando conforme a data, por exemplo. (a ideia seria, mesmo que descobrissem a chave, no dia seguinte tinham de a descobrir novamente: não impede que alguém com conhecimento pirateie não a chave, mas o programa, de forma a nem a pedir sequer).

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

Sim mas nao acredito que esses 'grandes' se esforçem realmente para proteger a 100% os softwares... Nao acredito nem por um segundo que a Microsoft queira o Windows 100% seguro, por exemplo... Perdiam o mercado em 3 tempos.

Estive durante o dia a tentar uma soluçao por servidor web assim com umas proteçoes maradas mas acabei por voltar ao mais simples... 😛 Os prazos assim obrigam ^^

A minha ideia inicial era deixar de chamar algumas funçoes pelo método habitual, mas sim guardar o seu nome numa string encriptada que tinha de ser desencriptada pelo WebService.

Tendo o nome da funçao na string, chamava a funçao que lá estava dentro. Não sei se me faço entender 😛 Era complicado crackar já que nem alguem vendo o codigo percebia qual o nome da funçao que tinha de ser chamada naquela momento...

Link to comment
Share on other sites

É uma maneira... Tens tempo para isso? 😉

Mas e o que fazias se, por exemplo, não houvesse net?

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

lol tá boa

Mas aí tens outro problema. Se o nome da função é dada por webservice, para poderes ter o trial de 5 dias tens de poder, de alguma forma, saber dentro do programa qual a função a chamar.

Mas para isso, o nome tem de lá estar! Como farias isso?

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

heheheh Mania que os tecnicos/programadores têm de procurar os problemas, antes de começarem a procurar as soluções... Ou serei só eu? hehehe

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

🙂 Imaginei que sim...

Conheço uma pessoa que diz que os tecnicos em vez de procurarem soluções, procuram defeitos.

Mas como procurar uma solução a sério sem antes identificar todos os defeitos? :|

Como é que vais variando o nome da função? Data?

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

Hehehe sem duvida

"Vou crackar isto...

Yesss! Mais um!"

Um dia depois...

"Olha, não trabalha.

Tem graça, tinha a ideia de já ter crackado isto, mas parece que não.

Mãos à obra...

Já está! Eu sou bom!"

Um dia depois...

"Aaarrggghhhhhh"

E assim, a pouco e pouco, se resolve o problema da pirataria...

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
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.