Cita:
Empezado por Ñuño Martínez
Siempre puedes usar una codificación por XOR, de forma que sólo funcionará con la clave correcta y con ninguna otra. Incluso aunque usen depuración les costará.
|
Ese truco he usado en numerosas ocasiones con éxito. Codifico las cadenas en una app externa y luego las pego en el código. Antes de usarlas las descifro. La rutina que he usado es tipo Xor, y por tanto simétrica con la misma clave.
Expongo un ejemplo de esa rutina en delphi, esta función se ejecuta en la app externa y en la aplicación que esconde cadenas u otro tipo de dato:
Código Delphi
[-]
procedure Crypt(Source: Pointer; Size: Cardinal; Password: PCHAR; _Mod: integer);
var
S: PCHAR;
len, n: integer;
begin
S:= Source;
len:= lstrlen(Password);
for n:=0 to Size-1 do
begin
S[n]:= CHAR(integer(S[n]) xor integer(Password[_Mod mod len]));
inc(_Mod);
end;
end;
Saludos.