для фреи над чуть чуть модифицировать обуфускатор айдишникоф пакетов..
Добавлено через 1 минуту
delphi Код:
procedure _init_tables(seed: integer; _2_byte_size: integer);
var
i : integer;
x : Char;
x2: Word;
rand_pos : integer;
cur_pos : integer;
begin
with CorrectorData^ do begin
_1_byte_table := '';
_2_byte_table := '';
_2_byte_table_size := _2_byte_size;
for i := 0 to $D0 do begin
_1_byte_table := _1_byte_table + chr(i);
end;
for i := 0 to _2_byte_size do begin
_2_byte_table := _2_byte_table + chr(i) + #$0;
end;
_pseudo_srand(seed);
for i := 2 to $D1 do begin
rand_pos := (_pseudo_rand mod i) + 1;
x := _1_byte_table[rand_pos];
_1_byte_table[rand_pos] := _1_byte_table[i];
_1_byte_table[i] := x;
end;
cur_pos := 3;
for i := 2 to _2_byte_size+1 do begin
rand_pos := _pseudo_rand mod i;
x2 := PWord(@_2_byte_table[rand_pos * 2 + 1])^;
PWord(@_2_byte_table[rand_pos * 2 + 1])^:=PWord(@_2_byte_table[cur_pos])^;
PWord(@_2_byte_table[cur_pos])^:=x2;
cur_pos := cur_pos + 2;
end;
{$ifdef FREYA}
cur_pos := Pos(#$11, _1_byte_table);
x := _1_byte_table[$12];
_1_byte_table[$12] := #$11;
_1_byte_table[cur_pos]:=x;
{$endif}
cur_pos := Pos(#$12, _1_byte_table);
x := _1_byte_table[$13];
_1_byte_table[$13] := #$12;
_1_byte_table[cur_pos]:=x;
cur_pos := Pos(#$B1, _1_byte_table);
x := _1_byte_table[$B2];
_1_byte_table[$B2] := #$B1;
_1_byte_table[cur_pos]:=x;
{$ifdef FREYA}
cur_pos := Pos(#$D0, _1_byte_table);
x := _1_byte_table[$D1];
_1_byte_table[$D1] := #$D0;
_1_byte_table[cur_pos]:=x;
_id_mix := true;
{$endif}
end;
end;
думаю понятно.