Página 1 de 1
Como obter o numero da BIOS da maquina?
Enviado: 22 Set 2004 00:14
por ANDRIL
Ola pessoal!
Estou procurando uma lib ou funcao que retorne o numero da BIOS.
Alguem teria esta função! Meu e-mail é
andrilsp1@ig.com.br
Abraços!
Re: Como obter o numero da BIOS da maquina?
Enviado: 22 Set 2004 10:33
por Maligno
ANDRIL escreveu:Estou procurando uma lib ou funcao que retorne o numero da BIOS.
Conhecer eu não conheço. Inclusive, acho pouco provável que exista algo do tipo. Mas resolvi entrar na thread para lhe dizer que, se a sua intenção é usar esse número como parte de algum sistema de proteção de software, esqueça. O número do BIOS não diz respeito a qualquer tipo de serialização, o que viabilizaria esse esquema. Ele é um número utilizado para classificação e cada dígito tem um significado com relação às características da placa. Ou seja, sempre existirão duas ou mais placas com o mesmo número de BIOS.
Se pesquisar no Google, certamente encontrará diversos sites que ensinam a entender os tipos de classificação existentes para muitos (se não todos os) fabricantes de motherboards.
[]'s
Maligno
http://www.buzinello.com/prg
Enviado: 22 Set 2004 13:10
por MARINI
Todavia, mesmo sem qualquer utilidade, apenas para
complementar o assunto, existe na
CTP.LIB a função BIOSDATE() que retorna a data da
ROM BIOS, bem como outras:
CPUTYPE() -> determina o tipo de processador em uso
PCTYPE() -> retorna o tipo de computador
Enviado: 22 Set 2004 21:12
por Diderot
Concordo com tudo mas tenho que registrar que se esse sistema de proteção funciona muito bem se associado ao netname() por exemplo.
Uso a copyprot (Toledo) com o netname() (Clipper) e tenho uma restrição séria pois não funcionas em modo protegido o que é um limitador importante.
Mesmo com tudo isso dá para assegurar alguma proteção. Existem outra maneiras de incrementar um pacote melhor com tudo que já tem sido divulgado por aqui mas falta tempo e o ganho seria questionável.
Registro ainda que quando o sistema for rodar em um thin-client ai a coisa fica feia pois o hardware será sempre o do servidor.
Acredito que em que o provérbio "em terra de cego quem tem um olho é rei..." se aplica bem e deve ser considerado.
Enviado: 23 Set 2004 00:38
por ANDRIL
Obrigado pessoal!
Estou pensando em realmente mudar a trava de protecao do sistema e pensei que o numero da bios seria uma boa saida...
Vou tentar ver se desenvolvo outro algoritmo de proteção, mais uma vez obrigado a todos
Abraços
Enviado: 23 Set 2004 01:30
por Maligno
ANDRIL escreveu:Vou tentar ver se desenvolvo outro algoritmo de proteção, mais uma vez obrigado a todos
Não é 100%, mas tem a opção do checkSum das ROMs do sistema. Já conhece?
[]'s
Maligno
http://www.buzinello.com/prg
Enviado: 23 Set 2004 02:29
por Tim9
Olá Maligno!
Tudo bem com vc?
Também vou entrar nessa Thread para aumentar o cabedal de meus conhecimentos.
Gostaria que vc desse aqui aquela costumeira aula sobre o checkSum das ROMs do Sistema. Num apanhado geral e amplo.
E uma dúvida já paira no ar. Vc citou das ROMs do Sistema, posso entender que se trata de um check que será efetuado em todas as máquinas de uma rede? Ou não tem nada a haver? Se assim o for isso funciona para um Sistema em uma única máquina?
Aguardo e antecipo meus agradecimentos.
Enviado: 23 Set 2004 03:06
por Maligno
Tim9 escreveu:posso entender que se trata de um check que será efetuado em todas as máquinas de uma rede? Ou não tem nada a haver?
Não. É para uma máquina só. Essa rotina, que aliás funciona no modo protegido, é muito simples. Ela apenas lê e soma os bytes das ROMs que existem na máquina, formando assim, uma espécie de assinatura. Quando eu disse que não era 100%, me referia a dois problemas que encontrei. Primeiro que no Windows, operando em Terminal Service, o sistema operacional pode mudar alguma coisa que acaba por alterar o resultado da execução da função. E em segundo: se houver uma troca de hardware o checkSum pode se modificar também, o que pode causar um certo desconforto com o cliente, que teria de, digamos, re-licenciar o software.
Quer testar? Vou colocar no meu site. Baixe o arquivo clicando
aqui.
[]'s
Maligno
http://www.buzinello.com/prg
Enviado: 24 Set 2004 03:43
por Tim9
Valeu Maligno.
Já baixei.
Obrigado pela aula e pela atenção.
Enviado: 24 Set 2004 22:36
por carlos_dornelas
Maligno! Utilizo a tua função com o Clipper já há algum tempoe funciona muito bem. Seria possível portá-la pro xHarbour?
[]s
Antonio Carlos
Enviado: 28 Set 2004 01:51
por Maligno
carlos_dornelas escreveu:Maligno! Utilizo a tua função com o Clipper já há algum tempoe funciona muito bem. Seria possível portá-la pro xHarbour?
Uma observação: a função ROMChkSum() não foi feita por mim. Apenas distribuí para os colegas, depois de ter achado, em primeira instância, que ela tinha algum valor.
Respondendo à pergunta: possivelmente sim. Se bem que tenho dúvida a respeito da forma como deve ser feito o acesso às ROMs enquanto rodando um aplicativo Windows. Não sei exatamente como ele se comporta. E tampouco tenho acesso à documentação das funções da API do xHarbour, para o retorno do valor numérico e montagem do seletor de memória. Note: eu não faço nada no xHarbour. Nele, sou totalmente novato.
Mas é bom lembrar que em algumas situações o Windows troca o valor devolvido por esta função. Isso acontece, pelo que já vi, principalmente no XP (kernel NT). Neste tipo de SO o acesso à memória é totalmente controlado por ele. Você não acessa nenhuma posição de memória externa ao seu próprio código sem passar por ele. Tanto é que qualquer acesso à memória deve ser requisitado formalmente. E, em algumas situações, é provavel que ele faça alguns desvios e no final, o valor acaba diferente. Em kernel NT a Microsoft ignora solenemente muito do que existe em BIOS (ROM), substituindo por código seu, que pode ser o que de fato a função lê, ao invés do BIOS original. Isso não interessa a ninguém. A prova disso é que um boot pelo DOS já retorna um valor diferente. Também me refiro ao XP. Em Terminal Service também já vi esse efeito.
Portanto, por essas e outras, desisti totalmente dessa função. Não dá para confiar nos resultados. Eu disse que essa função não era 100%.
[]'s
Maligno
http://www.buzinello.com/prg
Enviado: 28 Set 2004 02:06
por carlos_dornelas
Valeu, obrigado mais uma vez!
[]s
Antonio Carlos