Welcome!

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!

[TOOLS] ArcheAge DB Converter and Pack Tool

Joined
Feb 2, 2011
Messages
437
Reaction score
453
DB Converter SQLite to MySQL


- = Convert = -
Envelope SQLite database to MySQL;
Successfully fights with "Up in Smoke" typed SQLite / AA ("f" / "t" in the numerical fields, etc.)
Smart-convert text fields - in MySQL conditional fields are text / varchar (N) with the selected locale and translation table localized_texts;
Detailed log: Where? When? Chavo?
While working on a good car about 5-8 minutes (smart-processing requires samples, and in the original SQLite table has no indexes);
Automatically create a primary key in MySQL tables for the fields "id".
- = Translate = -
Full localization SQLite and MySQL databases based on table localized_texts;
Supports all currently available locales (see. Localized_texts);
Batch-job on inserts and updates (MySQL only);
Hours for MySQL less than a minute;
- = Compare = -
Compare two SQLite databases;
The discovery of the new tables;
Detection of remote tables;
Detection of remote / new fields;
Detection of changes in the data (count of records in the tables).

- Requires a DB MySQL v5.6 +
-





Pack Tool
Options

1. View archive
2. Exports from the archive
3. Import the archive
4. Removal from the archive

How to:

1. Run the program
2. In File-> Open, select the file game_pck
3. Navigation by opening / hide branches
4. To export select the desired file / folder and click Export (located to the right)
5. Exported files are in a folder in a folder with export game_pck
6. To import files must be in a folder next to import an archive of the game. During import existing files are not replaced.


 
Joined
Nov 1, 2008
Messages
587
Reaction score
83
Спасибo, бро

Database converter gives me an error:
[05.12.2014 19:03:34] Count of tables in SQLite database: 0
[05.12.2014 19:03:34] Converted 0/0 tables.
compact.sqlite3
 
Last edited:
Joined
Feb 2, 2011
Messages
437
Reaction score
453
Any solution how to unpack sqlite3? :)
FAQ 1:
1. We put in a folder bin32 this program and the encrypted compact.sqlite3
2. run the prog
3. the output is decrypted.data key in it (opens in hex) and enjoy.


FAQ 2:
Step1.
Unpack game_pak(compact.sqlite3)
->PackTool

Step2.
create decrypted.data
->KEY.exe

Step3.
add compact.sqlite3 head 16byte zero

Step4
(with head16bytezero)
aes 128 cbc,padding none,key&iv=decrypted.data

Step5
remove head16byte from decrypt result
->decrypted.sqlite3


View attachment KEY.rar


Source:
Code:
using System;


2.using System.Collections.Generic;


3.using System.Linq;


4.using System.Text;


5.using System.IO;


6.using System.Security.Cryptography;


7. 


8.namespace ConsoleApplication2


9.{


10.        class Program


11.        {


12.                static void Main(string[] args)


13.                {


14.                        Decrypt("compact.sqlite3", "decrypted.sqlite3", "decrypted.data");


15.                }


16.                public static void Decrypt(string encryptedFile, string decryptedFile, string keyFile)


17.                {


18. 


19.                        byte[] key = new byte[16];


20.                        using (var stream = new FileStream(keyFile, FileMode.Open, FileAccess.Read))


21.                        {


22.                                stream.Read(key, 0, (int)stream.Length);


23.                        }


24.                        using (var memoryEncryptedStream = new MemoryStream())


25.                        using (var memoryDecryptedStream = new MemoryStream())


26.                        {


27.                                //read file with 16byte{zero}


28.                                for (int i = 0; i < 16; i++)


29.                                {


30.                                        memoryEncryptedStream.WriteByte(0);


31.                                }


32.                                var temp = File.ReadAllBytes(encryptedFile);


33.                                memoryEncryptedStream.Write(temp, 0, temp.Length);


34. 


35. 


36.                                memoryEncryptedStream.Position = 0;


37. 


38.                                //decrypt


39.                                using (ICryptoTransform transform = new RijndaelManaged


40.                                {


41.                                        BlockSize = 128,


42.                                        IV = key,


43.                                        KeySize = 128,


44.                                        Key = key,


45.                                        Padding = PaddingMode.None,


46.                                        Mode = CipherMode.CBC


47.                                }.CreateDecryptor())


48.                                using (var cryptoStream = new CryptoStream(memoryDecryptedStream, transform, CryptoStreamMode.Write))


49.                                {


50. 


51.                                        byte[] buffer = new byte[1024];


52.                                        int len;


53.                                        while ((len = memoryEncryptedStream.Read(buffer, 0, buffer.Length)) > 0)


54.                                        {


55.                                                cryptoStream.Write(buffer, 0, len);


56.                                        }


57. 


58.                                        cryptoStream.Close();


59.                                        transform.Dispose();


60.                                }


61. 


62.                                //write file without head 16byte


63.                                using (var decryptedFileStream = new FileStream(decryptedFile, FileMode.Create, FileAccess.Write))


64.                                {


65.                                        var outTemp = memoryDecryptedStream.ToArray();


66.                                        decryptedFileStream.Write(outTemp, 16, outTemp.Length - 16);


67.                                        decryptedFileStream.Close();


68.                                }


69. 


70.                                memoryEncryptedStream.Close();


71.                                memoryDecryptedStream.Close();


72.                        }


73.                }


74.        }


75.}



FAQ3:
Tool that we could decrypt base.
That is able to:
1. Unpack base
2. Packaging base and change the key in the ExE file
What is required for the utility:
1. The base itself.
2. Exe game file that uses a database

adastmin - [TOOLS] ArcheAge DB Converter and Pack Tool - RaGEZONE Forums

adastmin - [TOOLS] ArcheAge DB Converter and Pack Tool - RaGEZONE Forums



Example row start for Decrypt:
Code:
dbdecrypt.exe -d compact.sqlite3 archeage.exe


Example row start for Encrypt:
Code:
dbdecrypt.exe -c "04 EF F1 77 E2 73 08 15 39 84 8C 82 25 18 0A 12" compact.sqlite3 compact_decrypt.sqlite3 archeage.exe


Where compact.sqlite3 - packed base

Where compact_decrypt.sqlite3 - unpacked base

"04 EF F1 E2 77 73 08 15 39 84 8C 82 25 18 0A 12" - the key to pack (fix in EXE file)
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
May 6, 2013
Messages
27
Reaction score
0
hi i need ask this it.
today use pack tool on game_pak. but this tool have error.
when i put game_pak in tool have close app. request plz:))
 
Newbie Spellweaver
Joined
May 6, 2013
Messages
27
Reaction score
0
i want your answer for my question.
my question is simply. i was success step1 , step2
and, i try more step3 16byte zero. but this thing is some impossible.
how to fix it step3?
 
Joined
Oct 28, 2011
Messages
2,465
Reaction score
1,258
Google / Search

Primary post:

Posts of interest:





Code up on pastebin



1.2.1 Magic Header String
Every valid SQLite database file begins with the following 16 bytes (in hex): 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00. This byte sequence corresponds to the UTF-8 string "SQLite format 3" including the nul terminator character at the end.

Needs to be set to zeros' for this to work.


That is as much I'm going into this.
 
Last edited:
Newbie Spellweaver
Joined
May 6, 2013
Messages
27
Reaction score
0
can u upload to photo info?
today i try to that. but that's not available.
i know your post is perfect DNC. but i can't find good fix.
i one more need your post.
 
Back
Top