You last visited: Today at 19:49
Advertisement
[Source - Delphi]Compress/Decompress *.enc files
Discussion on [Source - Delphi]Compress/Decompress *.enc files within the Cabal Private Server forum part of the Cabal Online category.
10/11/2010, 11:59
#1
elite*gold: 0
Join Date: Oct 2007
Posts: 55
Received Thanks: 16
[Source - Delphi]Compress/Decompress *.enc files
Decompress and Compress works 100% corect!
Keys:
Code:
const
Xorkey: array [0 .. 3] of Byte = ($92, $65, $67, $57);
Decompress:
Code:
procedure DecompressFile(const SourceFile, DestFile: string);
var
SourceStream: TStream;
ZLibStream: TStream;
DestStream: TStream;
DecSize: Cardinal;
Ms: TStream;
i: Integer;
Data: TBytes;
MsOut: TStream;
begin
SourceStream := TFileStream.Create(SourceFile, fmOpenRead);
Ms := TMemoryStream.Create;
MsOut := TMemoryStream.Create;
Ms.CopyFrom(SourceStream, SourceStream.Size);
Ms.Position := 0;
SetLength(Data, Ms.Size);
Ms.Read(Data[0], Ms.Size);
DecSize := PDword(@Data[0])^;
for i := 0 to 3 do
Data[i + 4] := Data[i + 4] xor Xorkey[i mod 4];
MsOut.Size := Length(Data);
MsOut.Write(Data[0], Length(Data));
MsOut.Position := 4;
try
ZLibStream := TZDecompressionStream.Create(MsOut, -15);
try
DestStream := TFileStream.Create(DestFile, fmCreate or fmShareExclusive);
try
ZLibStream.Read(Data[0], SizeOf(DecSize));
DestStream.Write(Data[0],SizeOf(DecSize));
DestStream.CopyFrom(ZLibStream, DecSize -4);
finally
DestStream.Free;
end;
finally
ZLibStream.Free;
end;
finally
SourceStream.Free;
Ms.Free;
MsOut.Free;
end;
end;
Compress:
Code:
procedure CompressFile(const SourceFile, DestFile: string);
var
SourceStream: TStream;
ZLibStream: TStream;
DestStream: TStream;
DecSize, FixShit: Integer;
i: Integer;
Data: TBytes;
begin
SourceStream := TFileStream.Create(SourceFile, fmOpenRead);
try
DecSize := SourceStream.Size;
DestStream := TFileStream.Create(DestFile, fmCreate or fmShareExclusive);
DestStream.Write(DecSize,SizeOf(DecSize));
try
ZLibStream := TZCompressionStream.Create(DestStream, zcFastest , -15, 8, zsDefault);
try
repeat
FixShit := SourceStream.Read(DecSize, SizeOf(DecSize));
ZLibStream.Write(DecSize, FixShit);
until FixShit = 0;
finally
ZLibStream.Free;
end;
SetLength(Data, DestStream.Size);
DestStream.Position := 0;
DestStream.Read(Data[0],Length(Data));
DestStream.Position := 0;
for i := 0 to 3 do
Data[i + 4] := Data[i + 4] xor Xorkey[i mod 4];
DestStream.Write(Data[0],Length(Data));
finally
DestStream.Free;
end;
finally
SourceStream.Free;
end;
end;
U need ZLibex.pas and u can download it from link below:
Code:
http://www.base2ti.com/?id=delphi.zlib
Credits for shore only me (Gunz) r Mauka @Rz
Atached binary file (WIP - Work in Progress)!
Attached Files
Project7.rar
(323.4 KB, 726 views)
10/11/2010, 12:51
#2
elite*gold: 30
Join Date: Apr 2008
Posts: 2,955
Received Thanks: 1,771
Moved to pserver dev.
10/11/2010, 17:31
#3
elite*gold: 0
Join Date: Oct 2007
Posts: 55
Received Thanks: 16
Fixe Compression and updated tool
Code:
procedure CompressFile(const SourceFile, DestFile: string);
var
SourceStream: TStream;
ZLibStream: TStream;
DestStream: TStream;
DecSize, FixShit: Integer;
i: Integer;
Data: TBytes;
begin
SourceStream := TFileStream.Create(SourceFile, fmOpenRead);
try
DecSize := SourceStream.Size;
DestStream := TFileStream.Create(DestFile, fmCreate or fmShareExclusive);
DestStream.Write(DecSize,SizeOf(DecSize));
try
ZLibStream := TZCompressionStream.Create(DestStream, zcFastest , -15, 8, zsDefault);
try
repeat
FixShit := SourceStream.Read(DecSize, SizeOf(DecSize));
ZLibStream.Write(DecSize, FixShit);
until FixShit = 0;
finally
ZLibStream.Free;
end;
SetLength(Data, DestStream.Size);
DestStream.Position := 0;
DestStream.Read(Data[0],Length(Data));
DestStream.Position := 0;
for i := 0 to 3 do
Data[i + 4] := Data[i + 4] xor Xorkey[i mod 4];
DestStream.Write(Data[0],Length(Data));
finally
DestStream.Free;
end;
finally
SourceStream.Free;
end;
end;
Have fun with it!
Finished and tool
Attached Files
F_F.rar
(324.2 KB, 383 views)
12/29/2010, 06:36
#4
elite*gold: 0
Join Date: Dec 2010
Posts: 7
Received Thanks: 0
May i ask what is the purpose of compress/decompress?
01/10/2011, 07:45
#5
elite*gold: 0
Join Date: Jan 2011
Posts: 2
Received Thanks: 0
What is it ?
01/11/2011, 15:45
#6
elite*gold: 0
Join Date: Nov 2010
Posts: 11
Received Thanks: 0
is this for borland delphi file?this is for what?unpack?
09/12/2011, 21:18
#7
elite*gold: 0
Join Date: May 2011
Posts: 43
Received Thanks: 2
GUYS PLEASE XD I DONT KNOW HOW I GET THESE XOR's OR "Key's"
PLEASE PLEASE PLEASE give me the XOR for Cabal Moon Night XD PLEAAAAAAASE ^^
07/26/2018, 05:28
#8
elite*gold: 0
Join Date: Nov 2012
Posts: 3
Received Thanks: 0
can anyone edit this and make XOR key input up to 8digits. some servers has and edited XOR key with 2 or more digits. Thanks
Similar Threads
I need Metin2 AutoAttack (Delphi Source Code)
11/15/2010 - General Coding - 11 Replies
I need Delphi Source Code to Metin2 AutoAttack
help me please
[DELPHI] Source: FaceTarget (WoW)
10/11/2010 - General Coding - 1 Replies
Hi there,
ive made a lil code to Face (and turn camera) to the selected Target (GUID)
by doing Math ;)
maybe some1 needs this. (i'm using it to autokill Tyrannus via port):
procedure FaceGUID(GUID:UInt64; CenterCam:Bool);
var
Mx, My, Tx, Ty, Distance1, Distance2, Rota: Extended;
BOI SpeedHack with Source (Delphi coded)
09/09/2010 - Battle of the Immortals - 16 Replies
hi @ all
i got an idea to make my own speedhack what is multiclent complatible :D
// edit //
new pointers does not work, i'll try to fix this
Here is it, have fun with it:
how to compress .epk files?
09/06/2010 - Video Art - 2 Replies
hi i need to copress .epk files for metin2 i have allready extrated them any one can help? thanks
How to Compress again files. EPK. EIX.
11/18/2009 - Metin2 - 7 Replies
I was extracted and edited some files, now i wanna compress it to EPK and replace for orgiginal one.
How to do it?
All times are GMT +1. The time now is 19:51 .