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.

Código: Selecionar todos

? nSerialHD("C:"),nSerialHD("D:")

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