Página 1 de 4
Número serial do HD - Anti cópia
Enviado: 06 Jul 2012 02:09
por Abel
ola, pessoal
lendo os posts e fazendo uns testes, acabei tendo algumas duvidas
volserial("c:\")
retorna no harbour um numero de 9 digitos, onde posso verificar que numero é este ? e de onde ele pega ?
testei alguns comandos postados, mas retornaram erro de compilacao, mesmo incluindo as funcoes.
hdgetserial()
serial_hd()
idehdsnum(0)
estou usando harbour 3.1 nighty
agradeço desde ja todo e qualquer esclarecimento a respeito deste assunto.
ABEL
Nota de Moderação:por
[url=https://pctoledo.org/forum/memberlist.php?mode=viewprofile&u=100899][color=#00AA00]Pablo César[/color][/url]: Esta mensagem não tem relação com MV (Máquina Virtual), ela tem mais a ver com alguma forma de evitar cópia não autorizada do sistema e os questionamentos estão sendo feito através do numero serial do HD. Portanto está fora de contexto do tópico em que foi adicionado:
Pirataria via portabilidade (Máquina Virtual)
Pirataria via portabilidade (Máquina Virtual)
Enviado: 06 Jul 2012 04:05
por Jairo Maia
Olá Abel,
Este é o número serial do HD, o mesmo que você pode abter digitando VOL no prompt do DOS, ou usando qualquer outro utilitário.
PS: Você deve usar apenas um único caracter para especificar a unidade que deseja o número de Série, por exemplo: VolSerial( "C" ), ou VolSerial( "D" ). Se você omitir ou especificar de forma diferente, sempre irá retornar o serial da unidade corrente.
Veja:
Código: Selecionar todos
nDiskSerie := VolSerial( "C" )
If nDiskSerie # -1
cDiskSerie := Stuff( NumToHex( nDiskSerie ), 5, 0, "-" )
? cDiskSerie
Else
Alert( "Erro na leitura do Serial do HD" )
Endi
Número serial do HD - Anti cópia
Enviado: 06 Jul 2012 13:03
por Abel
fiz o teste e retornou -1
voce sabe porque ?
Grato
ABEL
Número serial do HD - Anti cópia
Enviado: 06 Jul 2012 14:00
por Jairo Maia
Olá Abel,
O retorno de -1 significa que não foi possível ler o serial do HD. Não sei quais são as circustância, se relacionado a HD antigo ou SO antigo. Quando faço o teste no Windows 98 por exemplo, retorna -1
Qual o Windows da máquina que você fez o teste?
Número serial do HD - Anti cópia
Enviado: 06 Jul 2012 15:31
por Abel
windows 2003 server, hd 160giga
testei em um win xp, hd 80 giga e tb retorna -1
sera q é o hd mesmo, que é dos mais antigos ?
Abel
Número serial do HD - Anti cópia
Enviado: 06 Jul 2012 15:45
por Jairo Maia
Abel, esquece o que eu disse que deve ser apenas um caracter.
Tente usar assim por exemplo: VolSerial( "C:\" ) ou VolSerial( "D:\" ) e veja se funciona. Note que acrescentei o ":\".
Número serial do HD - Anti cópia
Enviado: 06 Jul 2012 17:30
por asimoes
Para ajudar, eu uso em minha rotina de tratamento de erro:
Código: Selecionar todos
FUNCTION Serial_HD
LOCAL cSerial:="", nSerial:=VolSerial( "C:"+HB_OSpathseparator())
IF nSerial <> -1
cSerial:=NumToHex( nSerial )
cSerial:=Stuff(cSerial,5,0,"-")
EndIf
RETURN cSerial
Número serial do HD - Anti cópia
Enviado: 07 Jul 2012 01:21
por rochinha
Amiguinhos,
Se usar apenas "C:" ou "D:" deve funcionar, não precisa especificar com barras "\" ou "/"
Quando voce especifica "\" esta dizendo ao S.O. que quer retorno da
raiz ou de um diretório.
Eu uso nSerialHD() mas não sei qual biblioteca a contém. Acho que ela seja apenas do Fivewin.
Número serial do HD - Anti cópia
Enviado: 07 Jul 2012 18:27
por lugab
E pra rodar essa rotina para descobrial o número serial do servidor ?
De longe, a gente quase nunca sabe com qual letra o servidor está mapeado no pc do usuário, fora que essa letra pode ser trocada a qq tempo, que cada usuário pode mapear com F, S, X, Z, etc.....
Número serial do HD - Anti cópia
Enviado: 08 Jul 2012 00:19
por rochinha
Amiguinho,
Um laço de 1 a 26(A a Z)d, um vetor para salvar os seriais encontrados pode resolver este problema.
Usar alguma função que indique se a letra já esta em uso. Para isto usar um fwrite para tentar escrever um arquivo qualquer na letra. Retornando verdadeiro é porque existe um drive.
Um flag para marcar se o mesmo é o servidor. Este flag fará a critica do numero serial armazenado no vetor com o numero serial encontrado na busca. O interessante disto é que se o mapeamento foi modificado todos os caminhos de busca em seu sistema poderão ser automaticamente alterados.
Número serial do HD - Anti cópia
Enviado: 08 Jul 2012 13:47
por sygecom
Olá Pessoal,
Apenas lembrando que esse volume pode ser facilmente alterado, podendo o usuário final clonar várias vez o mesmo volume.
Na internet achasse facilmente algo para mudar isso:
http://freemestre.blogspot.com.br/
Número serial do HD - Anti cópia
Enviado: 08 Jul 2012 20:21
por lugab
Um laço de 1 a 26(A a Z)d, um vetor para salvar os seriais encontrados pode resolver este problema.
Usar alguma função que indique se a letra já esta em uso.
Um flag para marcar se o mesmo é o servidor.
É mesmo, Rochinha,
Da até vontade de desenvolver esse seu preciso roteiro e compartlhar com os amigos aqui do fórum...
Número serial do HD - Anti cópia
Enviado: 09 Jul 2012 21:21
por asimoes
Pessoal,
Se tem como alterar o serial do HD então essa não é solução mais segura, e o serial da placa mãe, tem como pegar?
Código: Selecionar todos
FUNCTION GetSerialPlacaMae()
LOCAL oLoc := CREATEOBJECT( "wbemScripting.SwbemLocator" )
LOCAL oSrv := oLoc:ConnectServer()
LOCAL oJbs := oSrv:ExecQuery( "SELECT * FROM Win32_BaseBoard" )
LOCAL oJob
FOR EACH oJob IN oJbs
cSerial:=oJob:SerialNumber
NEXT
RETURN cSerial
Número serial do HD - Anti cópia
Enviado: 09 Jul 2012 22:39
por sygecom
Olá Asimões,
O que o pessoal está discutindo e usando ai é o VOLUME do HD e esse é facilmente alterado, o SERIAL DO HD não muda, nem formatando o micro, uso ele e postei exemplo de como usar aqui no fórum.
viewtopic.php?f=43&t=9322
Número serial do HD - Anti cópia
Enviado: 09 Jul 2012 23:09
por asimoes
Olá Sygecom,
Sim entendi o que estão querendo, nesse caso o serial do hd é a melhor opção, fica então ai a dica do serial da placa mãe que pode combinar com o serial do hd.
[]´s