Jump to content

UABE - Asset Bundle Extractor


DerPopo

Recommended Posts

I'm not sure if it has to do with UABE or not. Basically, I opened the resources.assets file in the game's data folder and exported the burnt zombie's textures in .tga, then I opened the file with Photoshop and scribbled a couple of lines with the brush tool to test if the changes show up in the game.

 

After saving the file, I selected the texture in UABE and imported the .tga file raw; basically swapping the textures. I then made a mod installer and ran it; everything worked as intended, but when I got in the game and spawned a burnt zombie it looked white.

 

And now for some odd reason the game just crashes after doing it again. I honestly don't know what I'm doing wrong.

 

The .tga has to be imported through the texture plugin (Plugins -> Edit). .tga is not the file format Unity uses, the plugin only converts it to/from .tga and decompresses/compresses the texture, which usually is DXT1 or DXT5 on PC.

Link to comment
Share on other sites

The .tga has to be imported through the texture plugin (Plugins -> Edit). .tga is not the file format Unity uses, the plugin only converts it to/from .tga and decompresses/compresses the texture, which usually is DXT1 or DXT5 on PC.

 

Holy damn, it worked!! That's what was going on. I knew it had to be something stupid...

 

Thanks buddy, texture mods here I come :D

Link to comment
Share on other sites

Error crash version 2.1d when extract Texture2D asset

 

Hello,

I'm Hieu.

 

I gave error crash program when i try extract Texture2D from file sharedassets1.assets (Link file location: https://drive.google.com/open?id=0BytDNugGrh9iaTlsM3lzejJlVFE)

 

Environment

+ Windows 8 32 bit

+ Unity Assets Bundle Extractor version 2.1d

+ New type package with 5.6.0f3

 

Steps:

1. Open file asset sharedassets1.assets (Link file location: https://drive.google.com/open?id=0BytDNugGrh9iaTlsM3lzejJlVFE)

2. Select all type Texture2D

3. Chosen Plugin button > Choice to .PNG then press OK to extract resource

4. Crash program

 

Please help for fix this error

 

Thanks.

Link to comment
Share on other sites

Hi! DerPopo!

 

Hi! Big thanks for your tool!

Try it, to extract the data I needed (terrain & animation)

But I found you annoying bugs... :(

- No ability to copy (or save to file), the contents of the View Data (Asset Data)...

- Export Dump does not work correctly! Sohrae NOT the complete data. Save file and no reference to the texture.

I beg you, fix this if you will not be difficult.

And one more request - is it possible your utility, in the language of C#?!

This is very important! Maybe then, I can Supplement it ( extract animations, terrain, structures, prefab and scene).

 

13700891m.png

Edited by lucing (see edit history)
Link to comment
Share on other sites

There's a game that contains approximately 600 assetbundle files which must all be decompressed before opening, which is quite a bit to decompress one by one. I looked in the Usage.txt to see the method for batch extracting, but is there a way to batch decompress the compressed assetbundle files?

 

Batch extraction should automatically decompress the files. If it doesn't, could you give me one of the bundle files where it fails?

 

 

Hello,

I'm Hieu.

 

I gave error crash program when i try extract Texture2D from file sharedassets1.assets (Link file location: https://drive.google.com/open?id=0BytDNugGrh9iaTlsM3lzejJlVFE)

 

Environment

+ Windows 8 32 bit

+ Unity Assets Bundle Extractor version 2.1d

+ New type package with 5.6.0f3

 

Steps:

1. Open file asset sharedassets1.assets (Link file location: https://drive.google.com/open?id=0BytDNugGrh9iaTlsM3lzejJlVFE)

2. Select all type Texture2D

3. Chosen Plugin button > Choice to .PNG then press OK to extract resource

4. Crash program

 

Please help for fix this error

 

Thanks.

 

It looks like some of the textures use ASTC_RGB, which is not supported at the moment. I'll see if I can change that but so far I can't decode it properly, even though it should be equivalent to ASTC_RGBA from what I've heard.

I couldn't reproduce that crash (at least on my current development version) but I've added some buffer length checks that I should have put there before.

 

Hi! Big thanks for your tool!

Try it, to extract the data I needed (terrain & animation)

But I found you annoying bugs... :(

- No ability to copy (or save to file), the contents of the View Data (Asset Data)...

- Export Dump does not work correctly! Sohrae NOT the complete data. Save file and no reference to the texture.

I beg you, fix this if you will not be difficult.

And one more request - is it possible your utility, in the language of C#?!

This is very important! Maybe then, I can Supplement it ( extract animations, terrain, structures, prefab and scene).

 

The View Data dialog allows directly showing other assets referenced through PPtrs. If you need the dump of an asset "inside" a PPtr, you can use the m_FileID and the m_PathID fields.

m_FileID is relative to the .assets file where the dumped asset is located. To find the "absolute" file ID of a PPtr (as shown in UABE's list) with a m_FileID value bigger than 0, use "View->Dependencies", select the absolute file ID of the dumped asset in the upper list and look up the name of the targeted .assets file where the number is m_FileID-1. The number left to this file name in the upper list is the absolute file ID.

If the m_FileID value is 0, the PPtr refers to the same .assets file with the same absolute ID as the dumped asset.

The reference is valid if m_PathID is not 0, in which case the m_PathID value is equal to the path ID as shown in the asset list.

With both the absolute ID of the targeted asset and the m_PathID, you can find the referenced asset in the list (using "View->Go to asset" if necessary).

 

The dump doesn't resolve the references because it would easily cause issues reimporting because it would either have to discard the changes to referenced assets or change assets that the user didn't select. More problems would arise when the same asset is referenced twice or when an endless recursion occurs. The only workaround to that is ignoring any additional reference to an asset already shown but that isn't a good solution either because it worsens the readability of the dump (as exporting references recursively does in either case).

 

There currently is no C# wrapper for AssetsTools and it's not easily possible to create one without writing an intermediate wrapper library in C++ (Visual C++ 2010 in Release mode).

Link to comment
Share on other sites

If you want to batch export bundles, create a text file like '+DIR <full directory path of the bundles>' (Windows line ending), create a batch file containing 'AssetBundleExtractor batchexport <full batch file path, if it contains spaces start and end with ">' and start it. Make sure the folder only contains valid bundle files, so in case of Tarkov only the unprotected .bundle files.

 

LOL, i got it to work! :glee:

 

I tried before existing batch functions and got only errors here.

Now i test it with all stages of file (cache, CAB, asset) - no luck.

Then i convert my text file with "+DIR y:\Cache" text inside to encoding "UTF-8 without BOM" in terms of Notepad++ and it works now!

Succesfully converted all .cache files in this folder to .assets!

Command is: AssetBundleExtractor.exe batchexport batch.txt

(there's also typo in Usage text AssetsBundleExtractor)

batch.txt have only path to directory inside: +DIR y:\Cache

 

 

Hi. I've read the Usage file already, and also consulted the above posts. However, I'm still unable to do my batch export.

 

  • My batch file. (It's encoded in UTF-8-BOM, as UTF-8 didn't seem to work. It's also located in the same folder as UABE, in the Downloads folder of my comp.)
     
     
  • The error I get from the command prompt when attempting batch export: Image1 and Image 2
     
     
  • Proof that my batch file has the correct directory path to the bundles: Image
     
     
  • I don't believe there's anything wrong with the bundle files named 00a1bde4, etc. since I can export them individually just fine. (Proof: Image1 and Image2) Other than those 4 files at the top (which I've attempted to exclude in my batch file), I don't believe there are any "invalid" bundle files there.

 

I assume there's a simple error(s) I'm making somewhere, so I'd really appreciate if someone could point it out to me.

 

 

However, while making this post, I decided to extensively comb through the 3a folder of these bundle files (the files were originally each divided into subfolders corresponding to the first two characters in their file names), and I came across at least 1 file that yielded the message "Unable to read the bundle file! (Invalid file or unknown version?)". Is it unreadable files like these that are blocking the batch export I'm attempting? (The unreadable file in question: Here, though understandable if wary of viruses.)

Link to comment
Share on other sites

Collaborate?

 

DerPopo,

 

I want to know more about the way unity assets are formatted.

I am modding a different game (terratech) and want to manipulate the assets so I can change the prefabs such that the classes originate from a DLL of my choosing.

 

So far I have been working to translate the code from ata4/disunity and making it compatible with 5.0 and onwards. My code is to the point where it can parse the file with some meaning but there still are things not entirely clear to me.

 

Would you be willing to help me understand the unity file formats?

Not to give you the burden of writing it all down, I can write down the format as far as I understand it and you could help clear up some details.

If not, I want to ask if you have some advice on finding out the format further.

Link to comment
Share on other sites

Hi, thank you for the tool. I've noticed that since updating to 2.1d, the program crashes when trying to export multiple textures at once with the plugins. It'll export the first file selected, but not the rest. Everything else works as usual.

Link to comment
Share on other sites

hey guys

i have a problem is when I replace a texture which uses a sprite, it cuts if its bigger (tho both original and custom textures are 256x256)

i've tried editing sprite dump, it worked in the first asset bundle, but when I've edited the other one, the game didn't load texture at all (well it did but it didn't show it) and as log file states, sprite wasn't loaded because of mismatched serilization. How can I solve this problem?

Link to comment
Share on other sites

Hi,

 

I'm trying to get textures from a unity 5.6.0f3 game.

 

What I do:

File>open>select the asset>select the texture>Plugins, nothing apears in the Plugins window...

 

When I launch the program, I have an error message saying that it's "unable to load the PVR tex lib [...] may be fixed by installing the Visual C++2013 redistributable".

 

I've installed it but it still doesn't work.

 

Any idea?

 

Thanks!

Link to comment
Share on other sites

Unity.3d Sound Files

 

Hello,

I want to extract some .ogg files from a .unity3d file

So I opened it and clicked on info.

Now, when I select the AudioClip (Ogg file) and select Plugins and select Export sound, the program stops working and crashes.

Do you know how I can extract these Audiofiles without crashing :/…?

Link to comment
Share on other sites

Unable to open the streamed data file?

 

Hello. thanks for this great tool

but i'm having problem at extracting AudioClip like this picture

i always get "Unable to open the streamed data file" error when i try to export it using plugin. anyone know how to solve it?

thanks in advance :nevreness:

Link to comment
Share on other sites

Hi. I've read the Usage file already, and also consulted the above posts. However, I'm still unable to do my batch export.

 

  • My batch file. (It's encoded in UTF-8-BOM, as UTF-8 didn't seem to work. It's also located in the same folder as UABE, in the Downloads folder of my comp.)
     
  • The error I get from the command prompt when attempting batch export: Image1 and Image 2
     
  • Proof that my batch file has the correct directory path to the bundles: Image
     
  • I don't believe there's anything wrong with the bundle files named 00a1bde4, etc. since I can export them individually just fine. (Proof: Image1 and Image2) Other than those 4 files at the top (which I've attempted to exclude in my batch file), I don't believe there are any "invalid" bundle files there.

 

I assume there's a simple error(s) I'm making somewhere, so I'd really appreciate if someone could point it out to me.

 

 

However, while making this post, I decided to extensively comb through the 3a folder of these bundle files (the files were originally each divided into subfolders corresponding to the first two characters in their file names), and I came across at least 1 file that yielded the message "Unable to read the bundle file! (Invalid file or unknown version?)". Is it unreadable files like these that are blocking the batch export I'm attempting? (The unreadable file in question: Here, though understandable if wary of viruses.)

 

The package file error likely is because the current directory doesn't contain the classdata.tpk file. Either use cd in cmd to go to the path of UABE or copy the .tpk file to the current directory.

That error isn't the cause for the missing exports though, but it could cause issues attaching to the cmd window simply because of the delay until the message is closed. Alternatively, if it doesn't show any program output, it should be possible to redirect the output to a log file through "AssetBundleExtractor batchexport batchfile > logfile.txt".

 

The unreadable file is no bundle file (probably game specific) or it's a compressed / encrypted one. The only thing that could reveal more to that is the game code.

 

DerPopo,

 

I want to know more about the way unity assets are formatted.

I am modding a different game (terratech) and want to manipulate the assets so I can change the prefabs such that the classes originate from a DLL of my choosing.

 

So far I have been working to translate the code from ata4/disunity and making it compatible with 5.0 and onwards. My code is to the point where it can parse the file with some meaning but there still are things not entirely clear to me.

 

Would you be willing to help me understand the unity file formats?

Not to give you the burden of writing it all down, I can write down the format as far as I understand it and you could help clear up some details.

If not, I want to ask if you have some advice on finding out the format further.

 

Sorry for the late response. I've put your repo on my watch list so you can ask me through issues. You can also ask me via forum PMs.

 

I think you forgot to apply endian swaps when reading TypeField_0D 'depth' and 'isarray' fields.

 

These are one byte fields so endian swapping is not required in this case.

 

Hi, thank you for the tool. I've noticed that since updating to 2.1d, the program crashes when trying to export multiple textures at once with the plugins. It'll export the first file selected, but not the rest. Everything else works as usual.

 

I couldn't reproduce that issue (at least with my current internal version) but I'll definitely see if I can find files it crashes on. Thanks for the report!

 

hey guys

i have a problem is when I replace a texture which uses a sprite, it cuts if its bigger (tho both original and custom textures are 256x256)

i've tried editing sprite dump, it worked in the first asset bundle, but when I've edited the other one, the game didn't load texture at all (well it did but it didn't show it) and as log file states, sprite wasn't loaded because of mismatched serilization. How can I solve this problem?

 

Probably the type information UABE chose isn't accurate for the second bundle's Unity version. Could you tell me the Unity version of that file? It can be looked up with a hex editor or simply with notepad, searching for version names such as "5.5.0f3" at the beginning of the file.

 

thanks to your api, i can export textures from assets now. very good! :peaceful:

btw, how can i export meshs like your mesh plugin?

 

Meshes are more complicated to export due to format changes and undocumented behaviour regarding offsets in the raw mesh data and the meaning of some important values.

The mesh has multiple channels (from 0 to 4 : position, normal, color, uv1, uv2) that may be located in different streams (in the same data buffer but at separate offsets). Each vertex is described through these channels which have a stream index, an offset value (describing the relative position of that channel for each vertex), a format value (0 = 32bit float, 1 = 16bit float, not sure whether 2 is 32bit int) and a dimension count (amount of floats/ints).

In newer Unity versions, the stream info is in another field but for older files, the stream location has to be calculated through the stride of each vertex in a stream (i.e. the amount of bytes of the stream's channels) multiplied by the amount of vertices. In some cases, the offset of the last stream is the size of the buffer minus the byte size of that stream.

I don't know much of compressed meshes though.

 

Hi,

 

I'm trying to get textures from a unity 5.6.0f3 game.

 

What I do:

File>open>select the asset>select the texture>Plugins, nothing apears in the Plugins window...

 

When I launch the program, I have an error message saying that it's "unable to load the PVR tex lib [...] may be fixed by installing the Visual C++2013 redistributable".

 

I've installed it but it still doesn't work.

 

Any idea?

 

Thanks!

 

Did you download UABE 2.1 first and then copy the 2.1d files in the 2.1 folder (overwriting existing ones)?

 

Hello,

I want to extract some .ogg files from a .unity3d file

So I opened it and clicked on info.

Now, when I select the AudioClip (Ogg file) and select Plugins and select Export sound, the program stops working and crashes.

Do you know how I can extract these Audiofiles without crashing :/…?

 

Could you send me the .unity3d file via PM (or any file with an AudioClip it fails to extract)?

Link to comment
Share on other sites

Did you download UABE 2.1 first and then copy the 2.1d files in the 2.1 folder (overwriting existing ones)?

 

Hi,

I thought I did that but surely something went wrong.

I tried again and it worked, thanks!

Link to comment
Share on other sites

I'm currently working on reverse engineering and translating an Android Unity game. I've been able to translate interface textures fine, but I need to access some data in MonoBehaviours, and I can't increase the filesize of those at all without the game crashing. I noticed on GitHub that support was planned for the next release, but when will this be?

 

I'm also looking into compressed UnityFS bundles that are downloaded on the fly. UABE can decompress these and export modified uncompressed versions, but will the next release support re-compressing them?

 

Thank you, UABE has been a fantastic tool for working on this project.

Link to comment
Share on other sites

absolute confused

 

Hi, i been looking on internet all day, and the only working tool for my project is this, BUT im completely lost in the most crucial part: this is what i've done so far

 

1.- open the UABE

 

2.- look for the file i want to open (this file: https://drive.google.com/open?id=0B_tjdC4kakD8ZjM2NUJmdUc3Z2s )

 

3.- i got this message: This bundle file is compressed! Do you wish to unpack it? --> yes

 

4.- i save the file (and i got this file: https://drive.google.com/open?id=0B_tjdC4kakD8RW9TY0M2ZHNWMFU )

 

5.- NOW... how can i got all the animations meshes and textures? i can open the file, yes, but i cant export the animations, the meshes and textures i can do it, but when i try to open the last file, on the Unity Asset Editor, the Editor crash every time, as i said your UABE is the only tool that actually work on the apk extracted files, im sry to bother you but im really ignorant on this programming thing, this pny thing i need is the, animations, skeleton/bones/biped or whatever file is attached to the mesh, im sry for my bad english since is not my native language and thank you in advance.

 

Amestrisx

Link to comment
Share on other sites

I tried to do batch export but theres a problem with my CMD.

 

It said "AssetsBundleExtractor is not recognized as an internal or external command, operable program or batch file"

I've tried google and set the correct path for System32 but it still not working. Any tips?

Edited by XYZ (see edit history)
Link to comment
Share on other sites

Allowing the tool to replace multiple images at once.

 

Hi. I just want to say, first of all, this is a great tool. It's the only tool that allows me to exact what I need. I exacted a bunch of images file from a game, awesome. Point is there are 300+ of them, and I need to replace them...Like replacing any image having the same name as ones in the asset package already...

Is there nay feasible way to do this.

cxlUpQx.png

Edited by ffleader1 (see edit history)
Link to comment
Share on other sites

help

 

okay i managed to open and extract a dump file, and edit some text, it has 22 megabytes, but when i import it, it doesnt import the whole file, the original has like 630 000 lines, when i import it, it ends with like 6 000 lines :\

 

any fix for this?

 

I tried to extract raw but cant edit the file with a text editor.

Link to comment
Share on other sites

  • DerPopo changed the title to UABE - Asset Bundle Extractor

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...