[RELEASE] uKOM Extractor Source Code (C++)

03/04/2015 17:21 devil401#1
uKOM Extractor

[Only registered and activated users can see links. Click Here To Register...]

Licensed under GPLv3
Please provide credits to the original author (nickname and website) whenever you use part of this code or you think this helped you (obv. it is).

Dear EPvP users,
I'm not expecting everyone to understand what is this and how to use it (nor compile it) but i just don't care.
I'm not going to support single users but whenever there's an issue you're pleased to report it [Only registered and activated users can see links. Click Here To Register...].
If you want (and i hope) to help me to improve/fix/optimize this software i would be really happy and feel free to do it, i will obv. insert credits to the README.md.

Wat iz dis?

It's a KOM Extractor, nothing really new for most of you, this is only a part of the uKOM Archiver project that's actually private, i posted it for science and i hope it will be useful for all of you.

Steps

- Interpret parsed arguments (nothing really "OH MY GAWD THIS IS AWESOME").
- Read KOM Header.
- Read XML Header and save it as KOMInfo.xml.
- Extracts file buffers.

Everything is godly ordered and to understand the KOM structure just look at the structs.
Helping you:

First 72 Bytes.
#define HEADER_SIZE 72

PHP Code:
        static struct _KOM_HEADER
    
{
        
char Header[28]; // "KOG GC TEAM MASSFILE V.0.3.".
        
unsigned long ArchiverVersion// I'm not sure about this entry.
        
char CRC[5]; // Probably it's not only a CRC (and CRC2) but may be something more, i'm reversing again it.
        
unsigned long XMLSize// Size of the XML.
        
unsigned long FilesNumber// Number of files in the KOM.
        
unsigned long CRC2// Read CRC
    
KOMHeader
XML content:

PHP Code:
static struct _XML_ENTRY
    
{
        
char FName[100]; // File name.
        
int Size// Uncompressed file size.
        
int CompressedSize// Compressed file size.
        
char Checksum[8]; // EQ FileTime.
        
char FileTime[8]; // EQ Checksum.
        
int Algorithm// Algorithm type.
                       //    - Type 0: Nothing.
                       //    - Type 1: Compressed. (ZLib)
                               //    - Type 2: Encrypted & Compressed.
    
Files
End.
Easy, isn't it?

Licenses (and libraries/third party content)

RapidXML (MIT License)
ZLib (MiniZ) (GPL? I don't remember and i'm too lazy to verify)
AdvConsole (I don't remember)

I will release the entire uKOM Archiver (LUA Decryption included) only when some people will work on this.

In-Action Screenshot

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

d3vil401 ([Only registered and activated users can see links. Click Here To Register...])
ESEmu Project ([Only registered and activated users can see links. Click Here To Register...])
03/04/2015 17:45 specuuu#2
It's new KOM editor ? ^^
edit/ nevermind xD
edit2: i don't have uKOMExtractor.exe :x
03/04/2015 18:18 devil401#3
Quote:
Originally Posted by specuuu View Post
It's new KOM editor ? ^^
edit/ nevermind xD
edit2: i don't have uKOMExtractor.exe :x
You have to compile it...
03/04/2015 18:29 specuuu#4
Lul v.v sorry but i don't know how. Can u help me ?
btw. start.bat don't work
03/04/2015 18:41 devil401#5
Quote:
Originally Posted by specuuu View Post
Lul v.v sorry but i don't know how. Can u help me ?
btw. start.bat don't work
You need Visual Studio 2012 to compile this C++ Project.
start.bat won't work because there's no uKOM Extractor.exe in the directory (since you did not compile it).
03/04/2015 18:45 specuuu#6
I'll download 2012 and tell you what and how(i have 2010 and this is the problem)
03/04/2015 19:13 ernilos#7
I just finished a fast read, really nice source!
This is a lot better than my old ugly kom3 unpacker xD, when I'll back home I'm gonna compile it....
(It's a loooooot better than my old Kom3 Unpacker~~)
03/04/2015 19:31 devil401#8
I found a giant bug, please wait for the next repository update.
03/05/2015 01:21 tsunaade#9
Ernilos, When you compile, will will also make it available to us? For I , like many , we do not have programming notions , however, I am a lawyer if you need ^^ . ha , I hope not release a version " April " again .
03/05/2015 05:38 Gintoki147#10
I was planning to "translate" those Python scripts to C#, and I actually finished the extraction part, but it seems that won't be needed anymore, lol.

Great project! =P

essa orochi tá danada
03/05/2015 07:50 devil401#11
I will probably release the packing part too, but i plan to recode it.

Updated Repository, extractiong has been fixed and now working properly.
Please do not used -p option for now, it will just crash.
03/05/2015 11:24 tsunaade#12
Note: . I could compile and make the bat, however When put to extract from All Files are extracted with 1 kb. : /

Ernilos / Fire , pls, mk a tutorial briefly teaching compilation.

Quote:
Originally Posted by Gintoki147 View Post


essa orochi tá danada
Desde 2009 usando os edit, né? safado!!
Mas ATÉ Aqui eu sou SEGUIDA ? pf né ? MUITAS Sou, NÃO obrigatoriamente ESSA Naja , beijos flor .

OBS .: Eu consegui Compilar e Fazer o bastão, porem qdo coloco Pará extrair , Todos os Arquivos São extraidos com 1 kb. : /
03/05/2015 14:46 Izamaki#13
thats the problem of lacking knowledge xD
03/05/2015 15:56 tsunaade#14
Quote:
Originally Posted by ScCrafter View Post
thats the problem of lacking knowledge xD
Truth. I appreciate the good intention of the Devil / Ernilos to make available the source code , however for us it is no good . Most forum here are " under 15 " , has no training or understanding necessary to develop this program , after all, known programming takes 5 years in a college. The ideal , of course , I'm giving my opnion , it would show a basic tutorial teaching compile and make the packer and unpaker , but not only available , this in my view . But I am very grateful for providing bright and I think your work !! I've always had a fondness for programming / information system, but I opted by law, and today I have graduated , bachelor and recently passed the bar exam for lawyers , that is, I'm a lawyer . Anyway , see you and good luck to those who are trying to do.
03/05/2015 17:02 devil401#15
Well, congratulations for your bachelor.
Programming does not take 5 years, it takes that time if you study more languages.
By the way, the entire software is done by knowledge of Reverse Engineering and Cryptoanalysis, which took me more than 5 years to "master".

I can't do much than pubblish the source, i can even make a YouTube video to explain the structure of the KOMs, but i can't do much more, the rest is just experience and technical knowledge.