Número serial do HD - Anti cópia

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Número serial do HD - Anti cópia

Mensagem 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)
Editado pela última vez por Pablo César em 06 Jul 2012 11:56, em um total de 1 vez.
Razão: O presente tópico foi movido da seção CA-Clipper, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o Clipper.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Pirataria via portabilidade (Máquina Virtual)

Mensagem 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
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Número serial do HD - Anti cópia

Mensagem por Abel »

fiz o teste e retornou -1

voce sabe porque ?

Grato
ABEL
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Número serial do HD - Anti cópia

Mensagem 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?
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Número serial do HD - Anti cópia

Mensagem 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
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Número serial do HD - Anti cópia

Mensagem 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 ":\".
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número serial do HD - Anti cópia

Mensagem 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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Número serial do HD - Anti cópia

Mensagem 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:")
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Número serial do HD - Anti cópia

Mensagem 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.....
lugab
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Número serial do HD - Anti cópia

Mensagem 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.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Número serial do HD - Anti cópia

Mensagem 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/
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Número serial do HD - Anti cópia

Mensagem 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...
lugab
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número serial do HD - Anti cópia

Mensagem 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        
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Número serial do HD - Anti cópia

Mensagem 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
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número serial do HD - Anti cópia

Mensagem 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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder