- Joined
- Sep 12, 2013
- Messages
- 279
- Reaction score
- 76
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!??.package files
.package files? Last time when i meet with that extensions (saiyuki) its a XORed plaintext files copy *.* > file.package format with specific header 32bytes.
Tapatalkkal küldve az én LG-D802 eszközömről
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ZU
{
class Program
{
static void Main(string[] args)
{
var input = File.ReadAllBytes(@"Validate.dat");
byte[] key = { 0x30, 0x2E, 0x30, 0x2E, 0x30, 0x2E, 0x31};
for (int x = 0; x <= key.Length-1; x++)
{
for (int i = 0; i < input.Length; i++)
{
input[i] = (byte)(key[x] ^ input[i]);
}
}
File.WriteAllBytes("Validate.dat.unp", input);
Console.ReadLine();
}
}
}
data\avatar.package|181006731|41523
data\character.package|1411079774|41524
data\config.package|169433666|100811
data\effect.package|1907327|100811
data\magic.package|196165515|100811
data\quest.package|3472757|100811
data\scene.package|1085935046|41524
data\shader.package|168425|41524
data\terrain.package|129849804|41524
data\texture.package|10780648|41524
data\ui.package|742408796|100811
data\world.package|1118677765|100811
isupdata|0|0
@AnthonyX Pick me on skype and i give ya all tools for thathyckerdev
Tapatalkkal küldve az én LG-D802 eszközömről
AnthonyX Pick me on skype and i give ya all tools for thathyckerdev
Tapatalkkal küldve az én LG-D802 eszközömről
ok, in 3-4 days (unpaker)...
<String Value="hello kitty" />
I think you forget it)...
client crashes with error message
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ZU
{
class Program
{
public static byte[] XOR1(byte[] input, byte[] key)
{
for (int x = 0; x <= key.Length - 1; x++)
{
for (int i = 0; i < input.Length; i++)
{
input[i] = (byte)(key[x] ^ input[i]);
}
}
return input;
}
public static byte[] XOR2(byte[] input)
{
for (int i = 0; i < input.Length; i++)
{
input[i] = (byte)(0x4D ^ input[i]);
}
return input;
}
public static IEnumerable<int> PatternAt(byte[] source, byte[] pattern)
{
for (int i = 0; i < source.Length; i++)
{
if (source.Skip(i).Take(pattern.Length).SequenceEqual(pattern))
{
yield return i;
}
}
}
static void Main(string[] args)
{
string fileName = "Config.package";
long pos_key1 = 0xA;
long pos_count = 0x20;
byte[] key1 = null;
int count = 0;
long offset = 0;
byte[] input = null;
byte[] pattern = {0x00, 0x00};
byte[] fname = null;
string name = "";
string[] s = null;
int temp_pos = 0;
int file_offset = 0;
int file_size = 0;
using (BinaryReader reader = new BinaryReader(File.Open(fileName, FileMode.Open)))
{
reader.BaseStream.Seek(pos_key1, SeekOrigin.Begin);
key1 = reader.ReadBytes(0x07);
reader.BaseStream.Seek(pos_count, SeekOrigin.Begin);
count = reader.ReadInt32();
Console.WriteLine("Open file: " + fileName);
Console.WriteLine("XOR key: " + Encoding.UTF8.GetString(key1, 0, key1.Length));
Console.WriteLine("Count files in package: " + count);
offset = reader.ReadInt32();
Console.WriteLine("Start read header files.... ");
Console.WriteLine(" Found: ");
for (int i = 1; i <= count; i++)
{
input = new byte [0x138];
reader.BaseStream.Seek(offset, SeekOrigin.Begin);
input = reader.ReadBytes(0x138);
XOR1(input,key1);
temp_pos = Convert.ToInt32(reader.BaseStream.Position);
Stream stream = new MemoryStream(input);
using (BinaryReader reader2 = new BinaryReader(stream))
{
int fname_end_ = PatternAt(input, pattern).ElementAt(0);
fname = reader2.ReadBytes(fname_end_ - 1);
name = Encoding.UTF8.GetString(fname, 0, fname.Length);
s = name.Split('\\');
reader2.BaseStream.Seek(0x128, SeekOrigin.Begin);
file_offset = reader2.ReadInt32();
file_size = reader2.ReadInt32();
Console.Write(" " + i + ". " + name);
Console.SetCursorPosition(40, Console.CursorTop);
Console.Write(" offset = " + file_offset);
Console.SetCursorPosition(53, Console.CursorTop);
Console.WriteLine (" size = " + file_size);
Console.Write(" Decrypt & save file");
byte[] body = new byte[file_size];
reader.BaseStream.Seek(file_offset, SeekOrigin.Begin);
body = reader.ReadBytes(file_size);
XOR2(body);
Directory.CreateDirectory(s[0]);
File.WriteAllBytes(s[0] + "\\" + s[1], body);
Console.WriteLine(" .......OK!");
}
offset = offset + 0x138;
}
Console.WriteLine();
Console.WriteLine("All done :) ... press any key for exit.");
Console.ReadKey();
}
}
}
}