Oodle Extract [Assassin's Creed Origins]

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Zalamin
Posts: 9
Joined: Mon May 21, 2018 12:01 pm

Oodle Extract [Assassin's Creed Origins]

Post by Zalamin »

Hello to everyone
Young people, I need a little help. I want to extract this file. but I can not :-)
I think the files are compressed in Oodle format. I'm sure it's hard, but nothing's impossible. :idea:

There are 4 different files in Zip folder. An outfit or body(LOD0 is a different body), a Texture map and a skeleton.
File:: https://drive.google.com/file/d/1FfGtV2 ... HlIUJ/view

How can I export these files I want from you?
a hope...
Last edited by Zalamin on Wed Jun 06, 2018 5:59 pm, edited 7 times in total.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Oodle Extract

Post by aluigi »

Zalamin wrote:I think the files are compressed in Oodle format.

You think that based on what?

Then there is no name of the game, if this is related to your other post ("Assassin's Creed Unity") I have to move this post there.
Zalamin
Posts: 9
Joined: Mon May 21, 2018 12:01 pm

Re: Oodle Extract

Post by Zalamin »

aluigi wrote:Then there is no name of the game, if this is related to your other post



I'm sorry I did not write the name. Game name AC: Origins. So it's completely different.
But like any other game, it can no longer be extract. because they changed the "compression" method. They used "lzo" in their previous Video game. But in the last Video game they changed this method.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Oodle Extract

Post by aluigi »

I don't see oodle data in those files, why do you think they use them?
oodle is simply to recognize and to decompress.

I found a very recent topic about Origins (without solution):
viewtopic.php?t=7424
If it's the same stuff I prefer to move this topic in that one
Delutto
Posts: 561
Joined: Tue Oct 13, 2015 1:26 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by Delutto »

I have not yet done a full research on ACO data but seems that use Oodle indeed. The format have just a few differences from the other versions but the structure follow the same idea, looking in "Body" file sample:

8 bytes (33AAFB5799FA0410) = Meens that's a compressed data
2 bytes (02) = Unknown
1 byte (08) = Compression Algo

About the compression Algo:
0=lzo1x
1=lzo1x
2=lzo2a
5=lzo1c
8=Oodle ?!?

Only ACO have this 8 as the Compression Algo and only ACO game have the Oodle DLL with your binaries, so I assume it's actually Oodle.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by aluigi »

Eh, doesn't seem oodle.
Do you remember if the raw compressed data started from offset 11 when it used lzo?

*edit*
ok found the info about the old lzo http://wiki.tbotr.net/index.php?title=A ... orge_Files
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by aluigi »

Here we go:

*edit*
http://aluigi.org/bms/assassin_creed_raw.bms

P.S.: why there are 2 headers? should the first one be ignored?
Delutto
Posts: 561
Joined: Tue Oct 13, 2015 1:26 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by Delutto »

aluigi wrote:P.S.: why there are 2 headers? should the first one be ignored?
That's where the things get complicated... in my tests, when there's 1 "CHUNKS", there's 2 Headers, more than 1 "CHUNKS", only one header, but I still have my doubts...
You will need use findloc to get the "idstring", somethimes there's 4 or 8 bytes before... (AC Liberation HD have at least one RAW with 5 bytes before)
You need check if there's a "idstring", otherwise the RAW is not compressed.
Your "VER" check will not work with all RAW. Assassin's Creed III has VER = 1 and the CHUNKS is short.
It's needed to colect many informations in *.forge package to determinate how each RAW data should be readed...
The same game could have diferente forge version and the same forge version could have a different structure in diferent games... many Ubisoft studios working on same game and the result was this mess...
I can provide to you samples of the all games if you have interest in solve this mistery... because I'm almost giving up...
PS.: MichaelDarkAngel Wiki have some mistakes too.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by aluigi »

Wow really confusing.
Anyway yes if you have time and desire to collect samples from all the games I would be happy to add them to my collection.
I'm sure I can "guess" the size of CHUNKS because even if it's used a 32bit field I doubt a file will have more than 65535 chunks (it should be a 2 Gb file to require that! [65535*0x8000]), therefore it's a joke to guess it.

I have updated the script to version 0.1.1: findloc + CHUNKS field guessing.
Zalamin
Posts: 9
Joined: Mon May 21, 2018 12:01 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by Zalamin »

Nothing's impossible
CE_P_Aya_FullBody_Fit model LOD0
Delutto
Posts: 561
Joined: Tue Oct 13, 2015 1:26 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by Delutto »

aluigi wrote:Anyway yes if you have time and desire to collect samples from all the games I would be happy to add them to my collection.
Here we go:
- 2 random data samples from each forge game, except For Honor, STEEP and Rainbow Six Siege games, this last one have some differences in package structure and I don't research yet.
http://www.mediafire.com/file/gdx88hgogff64br/Ubisoft_Forge_Data.7z/file
- 1 forge package sample from each forge game, again except For Honor and STEEP games. I upload the smallest ones because my upload bandwith sucks... sorry.
http://www.mediafire.com/file/8k1htdffok9ya6d/Ubisoft_Forge_Package.7z/file

Zalamin wrote:Nothing's impossible
CE_P_Aya_FullBody_Fit model LOD0
Try contact MichaelDarkAngel, his ARchive_neXt tool handle the models from the previous games and ACO models files probably have the same structure. Provide decompressed samples to him.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by aluigi »

@Delutto
thanks
Delutto
Posts: 561
Joined: Tue Oct 13, 2015 1:26 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by Delutto »

aluigi wrote:@Delutto
thanks
Now I'm researching the Rainbow Six Siege files, in addition to the small change in compressed pattern, compression value now is 3, all compressed block starts with 0x28 and seens be zstd, maybe a custon lzo algo... Can you take a look in this new comtype?
http://www.mediafire.com/file/8c9l4lh5o4dw8dl/Rainbow_Six_Siege.7z/file
Last edited by Delutto on Mon Dec 10, 2018 1:49 pm, edited 1 time in total.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by aluigi »

zstd, script 0.1.4 :)
Delutto
Posts: 561
Joined: Tue Oct 13, 2015 1:26 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by Delutto »

aluigi wrote:zstd, script 0.1.4 :)
Hmm... strange, I'm using the last ZSTD library and don't works, I need check my code...
By the way, you forgot to upload the new script, http://aluigi.org/bms/assassin_creed_raw.bms still have the 0.1.3 version. ;)
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Oodle Extract [Assassin's Creed Origins]

Post by aluigi »

I see 0.1.4 online, try to refresh again.