Moderator: sylux102

TDU2 Xbox 360 STI Reverse Engineering

sylux102
Advanced Member
sylux102
Advanced Member
Joined: June 9th, 2013, 5:15 pm

July 31st, 2013, 8:43 pm #1

Ok, search forever and again got nothing. So here we go. vettefan88 developed a program that " will convert a .png file to a usable sticker file. but it has it's limits, it will only convert the first of 4 layers, so the car needs to be paintable. setting the paint on the car will set the car for all 4 layers. using the ingame engine."

First 20 bytes of his STI:

Code: Select all

00 02 00 00 00 00 00 00 00 16 10 00 42 44 32 2E 50 41 4D 42 00 00
First 20 bytes of in game STI:

Code: Select all

DF F0 D4 4D 03 C2 36 6C E4 E8 07 70 3D 29 6D 8E 1D E2 A7 6F C2 10
A sword wields no strength unless the hand that holds it has courage.
Quote
Like
Share

sylux102
Advanced Member
sylux102
Advanced Member
Joined: June 9th, 2013, 5:15 pm

August 1st, 2013, 7:45 am #2

So basically, The first hex header is something like "bnd2 pamb" and the other is gibberish. The first is a png converted to sti, and the second is created within the game. Both are different images, but both work in the game. And ALL of vettefan88s sti file begin with the same 20 bytes.
A sword wields no strength unless the hand that holds it has courage.
Quote
Like
Share

sylux102
Advanced Member
sylux102
Advanced Member
Joined: June 9th, 2013, 5:15 pm

August 1st, 2013, 5:20 pm #3

If someone could please get this into png format, I am more then willing to provide sample files. To be honest, I would do it myself if I knew how to.

I do believe that it will be simple to write two programs, sti2png and png2sti, once the format is figured out.
A sword wields no strength unless the hand that holds it has courage.
Quote
Like
Share

sylux102
Advanced Member
sylux102
Advanced Member
Joined: June 9th, 2013, 5:15 pm

August 1st, 2013, 8:48 pm #4

This is the first 0x40 bytes of vettefan88s STI file. It is the Buggy.

ASCII:

Code: Select all

............BD2.PAMB.......ð...ðTSsž†™Œ............€...............°............
HEX:

Code: Select all

00 02 00 00 00 00 00 00 00 16 10 00 42 44 32 2E 50 41 4D 42 00 00 00 00 00 16 0F F0 00 16 0F F0 54 53 73 9E 86 99 8C 8F 04 00 04 00 00 01 07 09 00 00 04 80 00 00 00 00 00 00 00 00 00 00 00 1B 00 08 0F B0 00 00 00 00 00 00 00 00 00 00 00 00
After this its tons of blank space (00 00 00 etc).

It is a graphic file with this shape:



It is white with the mw3 logo though...
Last edited by sylux102 on August 1st, 2013, 8:55 pm, edited 1 time in total.
A sword wields no strength unless the hand that holds it has courage.
Quote
Like
Share

sylux102
Advanced Member
sylux102
Advanced Member
Joined: June 9th, 2013, 5:15 pm

August 1st, 2013, 9:04 pm #5

this links to his .STI files. MW3 Buggy is the simplest one i think (mostly white image)

Stickers.rar from MediaFire
A sword wields no strength unless the hand that holds it has courage.
Quote
Like
Share

sylux102
Advanced Member
sylux102
Advanced Member
Joined: June 9th, 2013, 5:15 pm

August 2nd, 2013, 2:57 am #6

every single STI file starts with these bytes:

Code: Select all

00 02 00 00 00 00 00 00 00 16 10 00 42 44 32 2E 50 41 4D 42 00 00 00 00 00 16 0F F0 00 16 0F F0 54 53 73 9E 86 99 8C 8F 04 00 04 00 00 01 07 09 00 00 04 80 00 00 00 00 00 00 00 00 00 00 00 1B
ASCII:

Code: Select all

............BD2.PAMB.......ð...ðTSsž†™Œ............€............
then i think the next part is the car id:

from buggy:

Code: Select all

00 20 00 03 00 00 00 01 00 00 98 75 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 88 00 00 02 B7 2E D0 52 00 7F E3 FF 00 00 0D 10 00 00 02 00 B7 36 DA 00 00 00 00 00 00 00 00 00 00 00 00 00
ASCII:

Code: Select all

. ........ø!........ÿÿ..ÿÿ..ˆ...¯0€R..ãÿ........¯8Š.............

from another car:

Code: Select all

00 20 00 03 00 00 00 01 00 14 F8 21 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 88 00 00 02 AF 30 80 52 00 7F E3 FF 00 00 0D 10 00 00 02 00 AF 38 8A 00 00 00 00 00 00 00 00 00 00 00 00 00
ASCII:

Code: Select all

. ........˜u........ÿÿ..ÿÿ..ˆ...·.ÐR..ãÿ........·6Ú.............
and A LOT of this fills up the files (repeats itself a lot):

Code: Select all

00 FF 92 49 49 24 24 92 00 00 00 00 00 00 00 00
ASCII:

Code: Select all

.ÿ’II$$’........
A sword wields no strength unless the hand that holds it has courage.
Quote
Like
Share

sylux102
Advanced Member
sylux102
Advanced Member
Joined: June 9th, 2013, 5:15 pm

August 2nd, 2013, 3:49 am #7

Breakthrough... sort of.

First 40 bytes of STI (ASCII):

Code: Select all

............BD2.PAMB.......ð...ðTSsž†™Œ............€...............°............
First 40 bytes of games natural texture format (ASCII):

Code: Select all

........`....2DBBMAP....@...@...Œ.¤œ¤™UG........ˆ...........7...................
BD2.PAMB is 2DBBMAP backwards!

.2db is the games regular texture format. Its basically a dds with a few extra lines in front saying "2dbbmap" and one at the end saying "REAL". I have a program that will convert from .dds to .2db and back, but it wont work on .STI because the file is... sorta different.
Last edited by sylux102 on August 2nd, 2013, 3:58 am, edited 2 times in total.
A sword wields no strength unless the hand that holds it has courage.
Quote
Like
Share

sylux102
Advanced Member
sylux102
Advanced Member
Joined: June 9th, 2013, 5:15 pm

August 2nd, 2013, 8:36 am #8

.2db files are always dxt5 dds files. So things are getting so close i can taste it (whatever it is)...
A sword wields no strength unless the hand that holds it has courage.
Quote
Like
Share

sylux102
Advanced Member
sylux102
Advanced Member
Joined: June 9th, 2013, 5:15 pm

August 3rd, 2013, 2:19 am #9

sylux102 wrote:.2db files are always dxt5 dds files. So things are getting so close i can taste it (whatever it is)...
So here is the "empty" space of a DXT5 DDS converted to a .2db:

HEX:

Code: Select all

FF FF 49 92 24 49 92 24 00 00 00 00 AA AA AA AA
ASCII:

Code: Select all

ÿÿI’$I’$....ªªªª
Familiar? thats because it is... look at the empty space of the .STI:

HEX:

Code: Select all

00 FF 92 49 49 24 24 92 00 00 00 00 00 00 00 00
ASCII:

Code: Select all

.ÿ’II$$’........
and again for side by side comparison:

Code: Select all

ÿÿI’$I’$....ªªªª
.ÿ’II$$’........
A sword wields no strength unless the hand that holds it has courage.
Quote
Like
Share

Asg16_4
Member
Asg16_4
Member
Joined: August 3rd, 2013, 8:05 am

August 3rd, 2013, 8:12 am #10

Hey there sylux102 i'm glad to see your making progress I currently have this game for my PS3 and I was wondering if the difference of console will affect the encryption type. Because I opened up the .sti file unencrypted in HxD and I searched for the "bmap" thing you were talking about earlier and nothing popped up... :unsure: I'm unsure if it has something to do with the fact that it's unencrypted or the fact that is a different console. :ermm: Btw it's me ASG from tdumods... :P
Rainbow Dash is best pony!
Quote
Like
Share