Obter o numero serial do HD indepente do Windows... Testem

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

carlos_dornelas escreveu:
Pois é onde eu parei ....tenho meus sistemas autenticando por Internet via Mysql....mas para os que não tem é que o bixo pega...a melhor solução até agora é a do Marcelo(CLIPPER) ...
Qual seria essa solução?

Antonio Carlos
Entre contato com o Marcelo que ele te passa !!!
https://pctoledo.org/forum/profil ... file&u=322

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Não seria mais prático descrever qual é esse sistema de proteção? Assim todos poderiam aproveitar, ao invés de mandar todo mundo falar com o Marcelo.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

O proprio não quiz divulgar aqui...vou respeitar a vontade dele !!!..acredito por se tratar de segurança do sistema...isso até mesmo não seria bom divulgar...mas a idéai é mais ou menos gerar um numero randomico que se faz autentição por outro numero fixo...e outras atribuições em arquivos !!
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Se ele assim pediu, tudo bem. Vamos respeitar. Mas acho uma tremenda bobagem. Até parece que os clientes estarão à espreita no fórum pra poder aprender a desbloquear a segurança dele.
Mas, de qualquer forma, é mais um sistema que não é 100%, assim como os demais. É como eu disse, a proteção é fraca quando a paranóia é forte. Mas a proteção passa a ser forte quando o conhecimento do usuário é fraco.

Em vista disso, acho que o problema principal não é tanto com relação à segurança em si, mas ao incômodo (e custo) que ela poderá proporcionar ao programador. Por isso que eu acho uma bobagem guardar segredo quanto a esta ou àquela técnica.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Maligno, se o seu cliente não tiver internet...como ele faz para liberar a segurança do seu sistema ? ou ele não pode ser seu cliente ?....alguma alternativa ...pq toh parado em tudo isso...tenho clientes no interior do estado que não tem internet...e não posso ficar indo lá a todo momento !!!
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Maligno, se o seu cliente não tiver internet...como ele faz para liberar a segurança do seu sistema ? ou ele não pode ser seu cliente ?
Segunda alternativa. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
diogenes_varela
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 04 Nov 2006 19:33
Localização: Brasília - DF

Mensagem por diogenes_varela »

tenho clientes no interior do estado que não tem internet...

Eu usava um controle que usava disquete. Além da fragilidade da mídia, os computadores atuais aboliram esse famigerado periférico, portanto ficou meio inviável. Mas era muito bom, porque podia gravar muitas informações.

Podia fazer reinstalação, desde q na mesma máquina. Se alguém fuçasse já era...
O problema era a troca de HD.

No seu caso você pode criar uma numeração, baseada em várias informações, como serial do HD e algum outro número da placa-mãe, junta com o CPF do cara, só que o cliente deverá anotá-la. Se houver algum problema de não poder acessar o conteúdo do disco, ele te passa e você refaz a numeração em cima do que ele te passou.

Pode ser q funcione, porque acho difícil queimar o HD, a placa-mãe e o CPF dele, tudo de uma vez só...
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...

E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Pode-se criar um esquema semelhante ao da Microsoft, em que pode-se trocar até uma certa quantidade de hardware sem prejuízo para a licença concedida.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Mensagem por TerraSoftware »

Caros colegas...

Voltando ao tema inicial, observei que usando a função em C disponibilizada pelo Sygecom o retorno na maioria das maquinas é o mesmo da função VolSerial() do xHarbour. Mas em alguns casos o retorno é diferente. Em outros poucos casos o número retornado é negativo. Achei muito estranho, pois se a formatação gera um número hexadecimal, seria possível transformar este número em um número decimal negativo?? E outra coisa: o principio de obtenção do serial do HD não é o mesmo usado pela função VolSerial() do xHarbour ??
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

se a formatação gera um número hexadecimal, seria possível transformar este número em um número decimal negativo?
Claro. Dependeria só da base. Se o bit mais à esquerda for 1, será negativo. Mas nem é esse o caso. Se é um número de identificação, não há por quê conertê-lo pra decimal. Deveria ser usado in natura. Aliás, a função que o Leonardo postou deveria devolver o número como char e não como long. Daí a diferença. Inclusive, a função em C armazena temporariamente o número numa variável do tipo long sem sinal. Mas não adianta. Como o XHarbour não sabe que você quer converter o valor para unsigned, ao executar a função de retorno hb-retnl, ele converte com o sinal. Daí alguns números acabam chegando negativos.
Na função em alto nível, note:

Código: Selecionar todos

vhdserial := HdGetSerial(p_hddrive) 
vhdserial := IIF(VALTYPE(vhdserial) == 'N',ALLTRIM(STR(vhdserial)),vhdserial)  //hb_NumToHex(vhdserial) 
vhdserial := SUBSTR(vhdserial,1,4) + SUBSTR(vhdserial,5,4)
O IIF() é totalmente desnecessário. A função C sempre retornará um valor do tipo numérico. Ao "converter" para caractere com STR(), ele está supondo que vai obter de volta o hexa. Errado. Então ocorrem as discrepâncias na "montagem" da ID em hexa. Mas como não é hexa, dá tudo errado. Acho que ele esqueceu de remover o comentário da rotina de conversão hb_NumToHex().
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Mensagem por TerraSoftware »

Exato.

Ter uma função para tratar o retorno da HdGetSerial() é completamente desnecessário, pois ela sempre retorna um número. Se ao gravar ou comparar for necessário string, basta transforma-la no ato. Maligno esta com a razão.

Mas ainda tenho uma dúvida: por que em algumas maquinas o número obtido é diferente da função VolSerial do xharbour??
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Mas ainda tenho uma dúvida: por que em algumas maquinas o número obtido é diferente da função VolSerial do xharbour?
Imagino que a função do XHarbour deve estar retornando o número corretamente, em string, representando o hexa da série do volume. Mas note que a função do Leonardo converte para char um número decimal. Em seguida, ele "monta" o que supostamente seria um hexa. Mas não é. Daí a confusão. Aliás, repare também que a função dele sempre retornará uma string sem letra alguma. Apenas dígitos numéricos. Não é isso?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

TerraSoftware, vou analisar a possibilidade de usar a função do Maligno ler o numero de fabrica no xharbour....assim que der coloco na sessão xharbour...

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

É só montar a interface do XHarbour. Não tem mistério nenhum. Mas tem que conhecer.

Se bem que, conforme eu disse antes, vou incluir na WAPI a informação de número de série de volume. É só aguardar mais alguns dias, pois estou meio sem tempo agora. A interfacer será a mais simples possível. Algo como GetVolSer("C:").
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Mensagem por carlos_dornelas »

Maligno,
A configuração de montagem dos HDs pode estar causando algum problema. Execute o HDI.EXE diretamente e me diga qual é a mensagem de erro que ele retorna. Assim eu posso identificar o ponto do programa C em que o erro ocorre. A mensagem que você me passou é do PRG.
Executei o hdi.exe e a mensagem é a seguinte:

HDinfo v1.0
Recuperacao de informacoes de Hard Disks IDE
(c) 05/2003, Paulo A. Buzinello
paulo@buzinello.com
Londrina/PR
--------------------------------------------
Erro na abertura do dispositivo S.M.A.R.T.
Responder