Erst mit der normalen methode entschluesseln, dann diese hier verwenden
Code:
procedure Decrypt_PServer(pDatFile, pNewMem, dwSize: DWOrd); var local2, local3, tmp: Byte; begin local2 := 1; local3 := 0; while dwSize <> 0 do begin tmp := CryptTable2[local2]; local3 := (local3 + tmp) and ; CryptTable2[local2] := CryptTable2[local3]; CryptTable2[local3] := tmp; pByte(pNewMem)^ := pByte(pDatFile)^ xor CryptTable2[(CryptTable2[local2] + CryptTable2[local3]) and ]; inc(local2); inc(pDatFile); inc(pNewMem); dec(dwSize); end; end;
const CryptTable2: array[0..255] of byte = (
$57, $A6, $92, $08, $A3, $C1, $12, $31,
$DF, $06, $15, $36, $2E, $F5, $53, $F2,
$59, $BA, $64, $65, $C9, $A7, $68, $FB,
$8B, $78, $22, $89, $DA, $56, $4B, $49,
$2C, $C0, $2B, $18, $1B, $73, $0F, $91,
$0B, $09, $98, $3D, $01, $EC, $20, $A9,
$E8, $DD, $7B, $D7, $32, $86, $E3, $6A,
$87, $17, $B5, $28, $D8, $7D, $3E, $E0,
$E4, $70, $75, $C8, $B8, $7F, $90, $D0,
$7E, $3C, $A2, $8E, $9F, $CB, $CC, $24,
$4E, $E5, $35, $AD, $34, $45, $A1, $67,
$99, $B4, $BE, $C3, $CF, $03, $29, $CD,
$27, $38, $CE, $B6, $8D, $B7, $77, $85,
$33, $13, $FC, $16, $66, $44, $4C, $F7,
$E1, $F9, $60, $6D, $1F, $EB, $2F, $9C,
$DE, $19, $9B, $F8, $10, $95, $04, $E6,
$6F, $AB, $B9, $30, $50, $58, $B0, $0A,
$B2, $00, $4D, $79, $D9, $41, $9E, $EE,
$42, $55, $F3, $2D, $6E, $AE, $EA, $51,
$C7, $9D, $D4, $E2, $A4, $5B, $80, $D1,
$81, $3B, $FF, $93, $14, $6B, $A8, $5D,
$5F, $52, $0C, $43, $DB, $11, $AA, $4F,
$5E, $1A, $BC, $63, $BF, $72, $CA, $FD,
$3A, $62, $25, $FA, $96, $C5, $82, $76,
$F4, $C4, $D2, $05, $02, $74, $1E, $EF,
$23, $BD, $DC, $83, $B3, $8F, $40, $8A,
$BB, $8C, $4A, $1D, $37, $6C, $2A, $D3,
$39, $5C, $88, $D6, $54, $0D, $FE, $69,
$5A, $9A, $E7, $07, $F1, $7C, $AF, $D5,
$61, $48, $C6, $B1, $21, $F6, $97, $C2,
$F0, $47, $1C, $94, $84, $46, $26, $A5,
$71, $0E, $AC, $ED, $3F, $A0, $7A, $E9);