Protegendo a Calculadora do Acesso de Estranhos

 

Danton Cavalcanti Franco Junior

dantonjr@inf.furb.rct-sc.br

 

 

Resumo

Qualquer pessoa pode ter acesso aos dados contidos na memória de nossa HP48G/GX. Muitas vezes criamos arquivos que são de interesse próprio, não interessando a ninguém além de nós. Este trabalho apresenta uma forma de controlar esse tipo de acesso, através da criação de um programa que é executado toda vez que a calculadora é ligada. Este programa solicita que uma senha seja informada, e se a mesma não conferir a calculadora é automaticamente desligada.

 

Palavras Chave:

Acesso à calculadora, desligar HP automaticamente, proteger dados, proteger a memória.

 

Introdução

 

Acessar o conteúdo da memória de uma HP é muito fácil. Qualquer pessoa pode vasculhar os menus e verificar todo o conteúdo dos programas e variáveis armazenados. Muitas vezes criamos arquivos que têm certo grau de confidencialidade, não interessando a ninguém verificar seu conteúdo.

Uma forma fácil de controlar o acesso de pessoas estranhas, é criando um programa que quando executado, desliga a calculadora, e quando tenta-se ligá-la novamente, uma senha é solicita. Após a conferência da senha pelo programa, o mesmo desliga a calculadora caso a senha seja inválida, reiniciando todo o processo.

Desta forma pode se garantir um certo grau de segurança do conteúdo da memória.

 

O Programa

 

Nosso programa será escrito em USER-RPL, e o chamaremos de FIM. O primeiro comando deste programa será OFF, pois assim logo que o programa é executado a calculadora é desligada.

Quando liga-se a calculadora novamente, devemos mostrar uma mensagem para o usuário solicitando que o mesmo informe a senha para continuar. Para esse processo podemos utilizar o comando INFORM, que mostra uma tela de entrada de dados conforme a configuração informada pode-se observar uma tela exemplo de solicitação de senha na figura 1.

O próximo passo é verificar se a senha foi digitada corretamente ou não. Para isso utilizaremos o comando IF, que faz o teste "se". É interessante que a senha seja um número, pois desta forma podemos evitar maiores controles sobre a mesma, evitando que o programa fique maior e mais lento.

É muito importante prestar atenção à forma de se validar a condição do teste "se", pois se algo sair errado, pode-se deixar o programa em loop eterno.

Seguindo esses passos nosso programa ficaria assim:

« OFF

"Senha p/ continuar¼ "

{ "Senha:" } { 1 5 }

{ } { } INFORM

IF 1 ==

THEN

IF { 123321 } ¹

THEN FIM

END

ELSE FIM

END

»

 

Obs1.: Neste exemplo o número 123321, é a referida senha de acesso. Você pode mudá-la quando quiser, basta editar o programa e mudar este valor.

Obs2.: Repare que temos duas checagens "se" encadeadas. Desta forma temos a garantia de que mesmo que o usuário pressione a tecla CANCEL, a calculadora será desligada, por não conseguir conferir a senha.

 

Gravando o Programa FIM na Calculadora

 

O programa deve ser gravado (STO) no diretório { HOME } da HP, pois desta forma pode ser acessado a partir de qualquer outro diretório.

É interessante que se coloque uma chamada para o mesmo no teclado do usuário (USER), para tanto proceda da seguinte maneira:

    1. Insira o nome do programa na pilha: ‘FIM’;
    2. Introduza o número da tecla a armazenar a função (veja o manual de sua calculadora para ver como funciona esta numeração): 91.0 – neste caso o número corresponde a tecla CANCEL;
    3. Pressione: ¬ MODES KEYS ASN.

Para utilizar o programa armazenado no teclado do usuário nos passos anteriores, pressione: ¬ USER CANCEL; automaticamente a calculadora será desligada, e quando você tornar a ligá-la, a senha será solicitada.

 

Sugestão para Melhoras

 

Sugere-se como melhora da função a criação de uma função de checagem do tipo das senhas digitadas (evitando desta forma que sempre seja necessária uma senha numérica), vale lembrar que este processo pode deixar o programa mais lento.

Outra sugestão, é a de transformar este programa em uma LIBRARY, tornando-o mais seguro e veloz.

 

figura 1 – Exemplo da tela de solicitação da senha.

VOLTA          
PRÓXIMO

1