Como obter o numero da BIOS da maquina?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Como obter o numero da BIOS da maquina?

Mensagem 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!
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Como obter o numero da BIOS da maquina?

Mensagem 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
MARINI
Usuário Nível 3
Usuário Nível 3
Mensagens: 288
Registrado em: 06 Jul 2004 08:06
Localização: Pindamonhangaba SP

Mensagem 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
Sds
Marini
Diderot
Usuário Nível 1
Usuário Nível 1
Mensagens: 18
Registrado em: 06 Jul 2004 21:46
Localização: Brasília

Mensagem 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.
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Mensagem 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
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
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 »

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
Avatar do usuário
Tim9
Usuário Nível 3
Usuário Nível 3
Mensagens: 154
Registrado em: 14 Ago 2003 15:18
Localização: Ribeirão Preto
Contato:

Mensagem 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.
Editado pela última vez por Tim9 em 23 Set 2004 02:41, em um total de 1 vez.
Até Breve!
Luz e Paz!
Tim9
------------------------------------------
olynthes@gmail.com
** Somos livres para escolher, mas prisioneiros das conseqüências **
------------------------------------------
Uso Clipper 5.2e, Blinker 7.0, Prwin 1.0 BFNTX migrando p/ xHarbour e Hwgui Dbfcdx
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 »

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
Avatar do usuário
Tim9
Usuário Nível 3
Usuário Nível 3
Mensagens: 154
Registrado em: 14 Ago 2003 15:18
Localização: Ribeirão Preto
Contato:

Mensagem por Tim9 »

Valeu Maligno.

Já baixei.

Obrigado pela aula e pela atenção.
Até Breve!
Luz e Paz!
Tim9
------------------------------------------
olynthes@gmail.com
** Somos livres para escolher, mas prisioneiros das conseqüências **
------------------------------------------
Uso Clipper 5.2e, Blinker 7.0, Prwin 1.0 BFNTX migrando p/ xHarbour e Hwgui Dbfcdx
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! 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
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 »

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
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 »

Valeu, obrigado mais uma vez!

[]s

Antonio Carlos
Responder