Terraria Xbox 360 Edition

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
lllccc
Posts: 32
Joined: Thu Apr 02, 2015 3:07 pm

Terraria Xbox 360 Edition

Post by lllccc »

hey guys im looking for someone that can unpack 2 types of files in this game iv tried everything and nothing seems to work

xnbx is this headers (these's are images) https://www.mediafire.com/?8xn6z8b6pcev0az
.wld https://www.mediafire.com/?vnw3txebc0ncuvn

if anyone can convert or unpack then that would be great
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Terraria Xbox 360 Edition

Post by aluigi »

You can decompress them with this script:
http://aluigi.org/papers/bms/others/xnb.bms

I have updated it just now because previously it checked for the "XNBw" magic while these files use "XNBx", but they seem the same.
lllccc
Posts: 32
Joined: Thu Apr 02, 2015 3:07 pm

Re: Terraria Xbox 360 Edition

Post by lllccc »

okay that worked when i decompressed it i got a new file but the files dont have a extension here is some files

http://www.mediafire.com/download/5vvio ... r_Layout01
http://www.mediafire.com/download/7pckcjlvpkehkcx/Logo2
barti
Posts: 34
Joined: Sun Nov 09, 2014 2:40 pm

Re: Terraria Xbox 360 Edition

Post by barti »

They both use some variation of DXT (perhaps endian-swapped?)
TextureFinder makes them look pretty funky:

Image
Image
barti
Posts: 34
Joined: Sun Nov 09, 2014 2:40 pm

Re: Terraria Xbox 360 Edition

Post by barti »

Well I figured out one of them:
Image

Basically I made an empty 488x144 DXT1 DDS file in Paint.NET, removed the first 177 bytes from the logo file, pasted the first 128 bytes from the DDS file at the beginning of logo file, saved as dds, and reversed endian using this QuickBMS script:

Code: Select all

# Endian Big .DDS to Endian Little .DDS
# May not have full support
# MrNightmareTM
# Special thanks, Chrrox for the method!
# v0.1a

get SIZE asize
log MEMORY_FILE 0 SIZE

get SIZE2 asize
math SIZE2 -= 0x80
math SIZE2 /= 2
goto 0x80

for i = 0 < SIZE2
savepos CURRENTOFFSET
get UNK1 short
reverseshort UNK1
putVarChr MEMORY_FILE CURRENTOFFSET UNK1 short
next i

get NAME basename
string NAME += "_reversed.dds"

log NAME 0 SIZE MEMORY_FILE
lllccc
Posts: 32
Joined: Thu Apr 02, 2015 3:07 pm

Re: Terraria Xbox 360 Edition

Post by lllccc »

damn guys thank you so much!!


what program did you use to view the dds? im using dds viewer
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Terraria Xbox 360 Edition

Post by aluigi »

I guess they are headerless DDS.
Anyway probably you need the XNA Framework to read these files.
barti
Posts: 34
Joined: Sun Nov 09, 2014 2:40 pm

Re: Terraria Xbox 360 Edition

Post by barti »

@lllccc, I'm using Honeyview as a general image viewer, including DDS, if that's what you're asking for.

., there seems to be some kind of a header but I don't know how useful it is. I don't see the texture width or height in there, maybe it's stored in some fancy manner.