DLL PARA AVALIACAO, LIMITANDO O PERIODO DE USO...

NICKOSOFT 08/01/2012 14:30:26
#392654
Pessoal, como faco alguns programas, e repasso sem custo, mas cobrando mensalidades para utilização, eu andei pensando pensando e montei uma DLL pra tal finalidade....
Dar um período de avaliação, e poder disponibilizar o uso dentro do período q a mensalidade for paga, tem quem feche pacote anual essas coisas.....
Pois bem...montei e achei simples, logicamente um sistema eficiente desses, é bem complexo....
Gostaria de contar com ajuda de vcs, postando ideias de como acham q deve funcionar um sistema desses, assim posso seguir algumas ideias, pra melhorar e poder fecha-lo e dispobibilizar na área de downloads.
Para terem uma ideia
Sempre q roda o programa, a dll busca informações no registro, se não encontra, é a primeira vez q o programa esta sendo executado, então informações são gravadas
Verifica se a data atual é menor q a data de instalação, ou menor q a data da ultima execução
Verifica alguns hardwares principais se foram modificados, em relação a primeira execução
E assim vai....
Gostaria de ideias, estou usando o registro do Windows pra armazenar informações de instalação e execução do programa, alguém tem uma ideia mais eficiente?
Q tipo de verificações posso elaborar pra algo eficiente?
FOXMAN 08/01/2012 16:55:33
#392675
Bem, vou tentar ser o mais breve possível para descrever como eu desenvolvi a minha própria tecnologia.

Meu sistema necessita de ao menos uma conexão mensal a internet para funcionar.

Nessa conexão eu acesso uma caixa de email , e busco por um email(não aberto) onde contem informações do registro e serial de validação.
Ao ler o email , eu faço uma comparação montando o serial atual com o serial contido no email.

Se por algum momento eu quiser bloquear o cliente, basta eu ir na caixa de entrada e marcar o email como LIDO.
e VOILÁ, o sistema fica bloqueado.

Tudo isso criptografado.

NICKOSOFT 08/01/2012 17:01:03
#392676
eu até pensei na questao de solicitar o registro via email enviado pelo proprio programa, mas nao achei interessante eu configurar o smtp com senha pra uma propria conta minha, apesar q os codigos parecem seguros, vc vem usando esse sistema de autenticacao a uma caixa de email....
bem interessante, ou deixar a dica anotada e pensar sobre
FOXMAN 08/01/2012 17:13:54
#392677
Nick, os dados de email e senha são criptografados e ficam dentro do código, não é configurado pós compilação.
Se por acaso eu mudar o email, eu lanço uma atuailização.

No meu caso eu criei o sistema que gera os seriais e envia para tal email.
Este recurso eu já uso a pelo menos uns 2 anos sem nenhum problema.

O bom é que eu bloqueio e libero um cliente em qualquer lugar, e ainda, de qualquer tipo de dispositivo(Celular, Tablet, etc )

NICKOSOFT 08/01/2012 17:21:54
#392680
sim sim, imagino q os dados ficam no codigo, é q estava vendo artigos tratando da fragilidade dos codigos feitos pra .net
até comecei a usar o dotfuscator, pra proteger um pouco mais, mas vi q é uma solucao gratis nao tao eficiente
VINICIUSVB 08/01/2012 20:26:48
#392687
Olá pessoal!

Eu ainda sou um aprendiz, e gostaria de exemplos de códigos parecidos. Se vocês puderem disponibilizar algo que ajude a desenvolver algo agradeceria muito. Tenho certeza que muitos aqui no forum estão precisando disso. Contamos com a ajuda de vocês experientes e professores.


Desde já agradeço!
NICKOSOFT 08/01/2012 21:10:10
#392691
tmb me considero iniciante...
estou olhando pra ver e tentar uma certificacao no meio do ano...
a ideia é reunir muitas ideias, pra formar um codigo o mais completo possivel, e de preferencia, algo super imbativel, tenho certeza q com um apanhado de ideias, muitos vao desenvolver o seu proprio componente

estou guardando as informacoes no registro do windows, isso de certa forma sabemos q é vulneravel, esta tudo encriptado, mas nao é totalmente seguro....
VINICIUSVB 09/01/2012 17:43:30
#392753
NICKOSOFT será que você poderia postar o fonte de algua coisa que vocêfez em relação a isso?
NICKOSOFT 09/01/2012 18:13:12
#392756
é q sao varias classes, 8 na verdade, fiz bem dividido pra facilidade de modificacoes e entendimento...tem classes q tem meia duzia de linhas, tem outras com muitas linhas
o principal, e mais fragil do sistema ao meu ver, é usar o registro do windows pra armazenar isso tudo....
to muito interessado em migrar pra uma solucao como a do foxman, muito mais garantida

veja o modulo da primeira execucao, simplesmente grava informacoes no registro

    Public Sub PrimeiraExecucao(ByVal Empresa As String, ByVal Programa As String, ByVal Teste As Integer)
Dim Cifrado As New clsCriptografiaRegistro()
Dim Processador As New clsProcessador()
Dim PlacaMae As New clsPlacaMae()
Dim PlacaRede As New clsPlacaRede()
Dim HD As New clsHD()
Instalacao = FormatDateTime(Now, DateFormat.ShortDate)
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\[Ô] & Empresa & [Ô]\[Ô] & Programa, Cifrado.Criptografia([Ô]Instalacao[Ô], True), Cifrado.Criptografia(Instalacao, True))
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\[Ô] & Empresa & [Ô]\[Ô] & Programa, Cifrado.Criptografia([Ô]Execucao[Ô], True), Cifrado.Criptografia(Instalacao, True))

Validade = FormatDateTime(DateAdd(DateInterval.Day, Teste, Now), DateFormat.ShortDate)
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\[Ô] & Empresa & [Ô]\[Ô] & Programa, Cifrado.Criptografia([Ô]Validade[Ô], True), Cifrado.Criptografia(Validade, True))

[ô]hardware
[ô]processador
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\[Ô] & Empresa & [Ô]\[Ô] & Programa, Cifrado.Criptografia([Ô]ModeloPr[Ô], True), Cifrado.Criptografia(Processador.Modelo(), True))
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\[Ô] & Empresa & [Ô]\[Ô] & Programa, Cifrado.Criptografia([Ô]ID[Ô], True), Cifrado.Criptografia(Processador.Identificador, True))
[ô]placa mae
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\[Ô] & Empresa & [Ô]\[Ô] & Programa, Cifrado.Criptografia([Ô]ModeloPl[Ô], True), Cifrado.Criptografia(PlacaMae.Modelo, True))
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\[Ô] & Empresa & [Ô]\[Ô] & Programa, Cifrado.Criptografia([Ô]Fabricante[Ô], True), Cifrado.Criptografia(PlacaMae.Fabricante, True))
[ô]placa rede
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\[Ô] & Empresa & [Ô]\[Ô] & Programa, Cifrado.Criptografia([Ô]MAC[Ô], True), Cifrado.Criptografia(PlacaRede.Mac, True))
[ô]hd
My.Computer.Registry.SetValue([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\[Ô] & Empresa & [Ô]\[Ô] & Programa, Cifrado.Criptografia([Ô]HDSerial[Ô], True), Cifrado.Criptografia(HD.Serial, True))
End Sub
NICKOSOFT 11/01/2012 06:24:14
#392915
estive a pensar gente, como a melhor solucao realmente é a do foxman, estou pensao ao inves de trabalhar guardando as infos num registro do windows, poderiam ser trabalhadasaté mesmo num arquivo com qq extensao, e numa caixa de email, eu buscar um HASH para esse arquivo, estou pensando em algo pra busca constante, em toda a execucao do programa, porem pensando no contra de haver algum problema com a internet, o sistema ficar parado, seria necessario 2 tipos de verificacao, uma local e uma para internet....
vamos la pessoal, vamos contribuir coim ideias, nao precisa ser com codigos, uma ideia de verificar a fase da lua de jupter é uma ideia.....
MYNAMEISONE 11/01/2012 08:04:42
#392918
NICKOSOFT-
seguinte a um tepo atrás eu fiz um inventário de hadware, um sisteminha pra controle alteração de hadw desde o teclado até a bios...ficou até legal...enfim..

minha sugestão para validar tal sistema...não use datas, acho q o mais legal..é o seguinte..faça com que após feito o download a pessoa deve ir até a internet e se cadastrar gratuitamente, assim ela recebe um [Ô]serial[Ô] faça um md5 desse serial [Ô]gerado[Ô] e salva em um banco no seu site..... dai é simples a pessa após o cadastro e receber o seu codigo..ele coloca tal serial no programa e o programa passa a validar...dai blz..pra mim esse seria um bom primeiro acesso..

já para o s demais acessos no caso de 30 dias e 180 ..etc
pensaria no seguinte...você pode até criar uma chave de registro...mais lhe aconselho uma contra chave,...quando eu pego alguns programas para down..pagos...eu fiz um programinha para verificar alterações na chave de registro...e vou testando para ver se o cara não fez um esquema de salvar no regist5ro...dai eu vou alterando..de acordo com o que eu quero...
então se vc tiver chave e contra-chave de um modo que a contra-chave faça sentido para detectar alteração na primeira chave...

Por exemplo: A primeira chave aponta o dia inicial [Ô]talvez a data da instalação[Ô] dai vc tera uma contra-chave, com alguma brincadeira no algoritimo em cima dessas datas, pois se o cara for malandrinho ele alterar a data do pc..pode ser essas situações...

ele altera a data antes da instalação.....e depois altera após a instalação...

com esse metodo de contra-chave no registro..vc pega essas anomalias...bom ..

acho q não fica muito trabalhoso..na verdade é bem simples...já fiz algumas coisas do tipo com hardware..gerei serial com base nas informações dos hadwares...e ficou show...se alterasse o serial xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxxxxxx
eu sabia comprar o pedaço alterado com o pedaço original.;..pois eu criei a criptografia...dai dava pra reverter da forma q eu queria...cara...não sei se ajudei ou compliquei..mais tá ai minha colaboração...vlw abraçossss
Página 1 de 4 [39 registro(s)]
Tópico encerrado , respostas não são mais permitidas