Fórum Avast detecta falso virus na rotina em delphi #529457
21/08/2015
0
O antivirus Avast detecta falso vírus na rotina abaixo:
class function TCriptografia.Decode(Valor: string): string;
var
nTamanhoChave : Integer;
nPosicaoChave : Integer;
nValorRandom : Integer;
sRetorno : String;
nPosicaoValor : Integer;
nPosicaoAsc : Integer;
nTmpSrcAsc : Integer;
nTamanho : Integer;
begin
if (Valor = '') Then
begin
Result:= '';
Exit;
end;
sRetorno := '';
nTamanhoChave := Length(Chave);
nPosicaoChave := 0;
nPosicaoValor := 0;
nPosicaoAsc := 0;
nTamanho := 256;
nValorRandom := StrToInt('$' + copy(Valor,1,2));
nPosicaoValor := 3;
repeat
nPosicaoAsc := StrToInt('$' + copy(Valor,nPosicaoValor,2));
if (nPosicaoChave < nTamanhoChave) Then
nPosicaoChave := nPosicaoChave + 1
else
nPosicaoChave := 1;
nTmpSrcAsc := nPosicaoAsc Xor Ord(Chave[nPosicaoChave]);
if nTmpSrcAsc <= nValorRandom then
nTmpSrcAsc := 255 + nTmpSrcAsc - nValorRandom
else
nTmpSrcAsc := nTmpSrcAsc - nValorRandom;
sRetorno := sRetorno + Chr(nTmpSrcAsc);
nValorRandom := nPosicaoAsc;
nPosicaoValor := nPosicaoValor + 2;
until (nPosicaoValor >= Length(Valor));
Result:= sRetorno;
end;
Mais precisamente na linha:
nTmpSrcAsc := nPosicaoAsc Xor Ord(Chave[nPosicaoChave]);
Como posso resolver isso?
Carlos Phelippe
Curtir tópico
+ 0Post mais votado
21/08/2015
poderia haver um estouro no tipo integer. Coloquei int64.
Carlos Phelippe
Gostei + 1
Mais Posts
21/08/2015
Rodrigo Oliveira
Gostei + 0
21/08/2015
Carlos Phelippe
Gostei + 0
21/08/2015
Rodrigo Oliveira
Gostei + 0
21/08/2015
Rodrigo Oliveira
Gostei + 0
21/08/2015
Carlos Phelippe
nTmpSrcAsc : int64;
nTamanho : int64;
Gostei + 0
21/08/2015
Rodrigo Oliveira
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)