EXTRAIR O NÚMERO DE SÉRIE DO HD NO CLIPPER???

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Darlan
Usuário Nível 1
Usuário Nível 1
Mensagens: 20
Registrado em: 01 Mai 2005 22:27

EXTRAIR O NÚMERO DE SÉRIE DO HD NO CLIPPER???

Mensagem por Darlan »

Olá !!

Seguinte galera: alguém sabe como carregar o número de série do HD em uma variável ?
Só que tem que ser no clipper 5.1, no visual e no delphi eu sei que dá, mas eu só manjo de
clipper... (preciso para colocar anti-pirataria no programa). No DOS se você der "LABEL C:"
tá lá o número, mas como o programa pode ler esse número?
Ou então se desse para pegar um número fixo do windows por exemplo, do registro... algum
arquivo TXT ou INI e carregar numa váriavel? Alguém sabe onde verificar o número de série
através do windows? Ou algum outro número que seja fixo a cada instalação do windows?

Preciso de uma luz... desde já agradeço !!!

UM ABRAÇO !!!

Darlan (Mafra-SC)
Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

Mensagem por Grings »

.
Editado pela última vez por Grings em 11 Dez 2009 15:33, em um total de 1 vez.
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

Usar o número de série do volume do DOS para proteção é a maior furada, existem diversos programas e até função em clipper para modificar este número, desta forma bastaria para um espertinho pegar o número da máquina onde está instalado o sistema e duplica-lo em outra.

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
marbio
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 29 Jul 2004 16:26

Rotina de Serie

Mensagem por marbio »

Ola,

V se te ajuda





Código: Selecionar todos

      c_serial()

        ***************************
        function C_SERIAL
        ***************************
           local Local1
           Local1:= 0
           run VOL >ARQUIVO
           texto:= fopen("ARQUIVO", 2)
           ntam:= fseek(texto, 0, 2)
           fseek(texto, 0, 0)
           cvol:= Space(ntam)
           if (fread(texto, @cvol, ntam) != ntam)
              fclose(texto)
              return .F.
           endif
           npos:= At("volume ‚", cvol)
           npos:= npos + 9
           cnoserial:= SubStr(cvol, npos, 9)
           fclose(texto)
           for x:= 1 to 9
              letra:= SubStr(cnoserial, x, 1)
              Local1:= Local1 + Asc(letra)
           next
           erase ARQUIVO
           if (!file("REGISTRO.DBF"))
              tone(400, 3)
              tone(400, 3)
              clear screen
              clear gets
              setcursor(0)
              set color to gr+*/n
              @ 23,  0 say ;
                 "O Sistema p“de abrir o Arquivo de Registro. Prov vel causa: CàPIA PIRATA!!!"
              InKey(0)
              setcursor(1)
              set color to w/n
              clear screen
              clear gets
              set color to w/n
              CLEAR
              CLOSE
              QUIT
           endif
           use REGISTRO
           registro:= nregistro
           if (registro != Local1)
              tone(400, 3)
              tone(400, 3)
              clear screen
              clear gets
              setcursor(0)
              set color to gr+*/n
              @ 11,21 clear to 13,58
              @ 11,21 to 13,58
              @ 12,22 say "Haaahaaaa!!! Copia nao autorizada!!!"
              InKey(0)
              setcursor(1)
              set color to w/n
              clear screen
              clear gets
              set color to w/n
              CLEAR
              CLOSE
              QUIT
           endif

Sempre há uma solucao para os nossos problema clipper.....
Avatar do usuário
marbio
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 29 Jul 2004 16:26

Registro

Mensagem por marbio »

Ola, eu esqueci da funcao de registro.


Grava o numero de serie num DBF com valor diferente, vc vai ver.

t+


Código: Selecionar todos


   set scoreboard off
   set date british
   criadbf()
   g_serial()



function CRIADBF

   estru:= {}
   AAdd(estru, {"NREGISTRO", "N", 5, 0})
   dbcreate("REGISTRO", estru)
   return 0


function G_SERIAL

   local Local1
   Local1:= 0
   run VOL C: > ARQUIVO
   texto:= fopen("ARQUIVO", 2)
   ntam:= fseek(texto, 0, 2)
   fseek(texto, 0, 0)
   cvol:= Space(ntam)
   if (fread(texto, @cvol, ntam) != ntam)
      fclose(texto)
      return .F.
   endif
   npos:= At("volume ‚", cvol)
   npos:= npos + 9
   cnoserial:= SubStr(cvol, npos, 9)
   fclose(texto)
   for x:= 1 to 9
      letra:= SubStr(cnoserial, x, 1)
      Local1:= Local1 + Asc(letra)
   next
   use REGISTRO
   append blank
   replace nregistro with Local1
   commit
   erase ARQUIVO
   @ 23,  0 say [Remova o Arquivo "C:\LIXO"]
   return 0

* EOF

Sempre há uma solucao para os nossos problema clipper.....
Darlan
Usuário Nível 1
Usuário Nível 1
Mensagens: 20
Registrado em: 01 Mai 2005 22:27

Mensagem por Darlan »

Valeu Marbio !!! Vou tentar...

Obrigado pela ajuda !!

UM ABRAÇO !!!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: EXTRAIR O NÚMERO DE SÉRIE DO HD NO CLIPPER???

Mensagem por Maligno »

Darlan escreveu:No DOS se você der "LABEL C:" tá lá o número, mas como o programa pode ler esse número?
Ler esse número é fácil. Tenho função pronta para ser utilizada dentro do próprio Clipper. Mas, como bem disse o Marcelo, é uma furada. Esse número pode ser modificado de forma relativamente fácil. Sem falar que é uma proteção muito manjada. E tem também o transtorno para o cliente que dependerá de sua intervenção a cada formatação do HD.

Você precisaria de um número único que não possa ser modificado. Se falamos de HD, existe o número de série gravado na fábrica. Não pode ser alterado, mas pode ser lido. Mas não é uma tarefa banal e, pelo Clipper propriamente, não é possível. A não ser por meio de um artifício especial, que pode ou não funcionar, dependendo da idade do HD e da versão do Windows. Se interessar, leia a seguinte mensagem.

[]'s
Maligno
http://www.buzinello.com/prg
Responder