transStr(str: string): string;
var
a, i, p: BYTE;
r: string;
begin
r := str;
p := $AA;
for i := 1 to length(str) do
begin
a := ord(str[i]);
r[i] := chr(a xor p);
Inc(p);
end;
result := r;
end;
var
a, i, p: BYTE;
r: string;
begin
r := str;
p := $AA;
for i := 1 to length(str) do
begin
a := ord(str[i]);
r[i] := chr(a xor p);
Inc(p);
end;
result := r;
end;
char * TransStr( char * str)
{
byte a, i, p;
char *r; r = str;
p = 0xAA; for (i = 0; i < strlen(str) - 1; i++)
{
a = byte(str[i]);
r[i] = char(a &~ p); //忘了异或怎么写了,好像是这样 :(
++p;
} return r;
}
Delphi:transStr(str: string): string;
var
a, i, p: BYTE;
r: string;
begin
r := str;
p := $AA;
for i := 1 to length(str) do
begin
a := ord(str[i]);
r[i] := chr(a xor p);
Inc(p);
end;
result := r;
end; C++:
Char * transStr(Char * str)
{
BYTE p=0xAA,r=0;
Char * tmp=str;
while (NULL!= *tmp )
{
r=(BYTE)*tmp ;
*tmp =(Char)r ^ p;
tmp ++;
}
return tmp;
}
char * transStr(char * str)
{
for(char * p = str; *p!= NULL; ++p)
*p ^= 0xAA;
return str;
}
char * transStr(char * str)
{
BYTE a = 0xAA;
char *p = NULL; for(p = str; *p!= NULL; ++p, ++a)
*p ^= a;
return str;
}
这段代码很眼熟啊,貌似是冒险岛资源字符串的加、解码操作?