Any help or suggestion will be much appreciated. I am not sure what I am missing at this point. So, the binary format seems to be intact.
Interestingly enough, if I use the URL provided by the PlayFab API in a browser, the file I download is successfully loaded via AssetBundle.LoadFromFileAsync test call. The moment I get to the point of retrieving the assetBundle object I get the error above and the bundle itself is null. I have a problem with the downloaded file, however, getting error "Error while downloading Asset Bundle: Failed to decompress data for the AssetBundle".Īfter debugging it looks like the logic is getting the URL correctly, the downloading itself is successful and in the request object, there is seemingly the correct amount of bytes received. The first solution was pretty straightforward : have a look at `global-metadata.dat`.Ī simple `strings global-metadata.dat` would reveal a base64 encoded string, at the very end.Hi there, I am trying to build a relatively simple DLC content system with PlayFab. `unity_default_resources` -> game resources `sharedassets0.resource` -> game resources They can be extracted using ( ) but this wasn't required here `global-metadata.dat` -> This file contains all the strings used in the game's source code. `data.unit圓d` -> Unity file, which contains game resources and can be viewed with AssetStudio `nfig` -> some booting configuration for the game We then use the "Extract file" option from AssetStudio to unpack the files of the project. However, the flag was not found (it could have been if the flag was an image or a tile, but it was a Text dynamically loaded). We identify `GameManager` and `FlagScreen` as being promising. This allows us to get a little bit more precise view of the structure of the project. Find your mesh (Mine was named default, because I forgot to name the model - oops). Open up sharedassets0.assets with Unity Assets Bundle Extractor. We will focus on ``, which is a packed Unity file, containing all the resources for this game.įirst of all, let's open this file using ( ), which will allow us to see tiles, shaders, etc. You should see a YourBuildNameassets folder that contains sharedassets0.assets. Using the Network tab of any modern browser (or by looking at the ( ) file), you could recover three files : using JavaScript to interact with the game, to decrease the mob counter and beat the game finding the base64 encoded flag inside the game files Two solutions exist to solve this challenge : Only one team (FluxFingers) was able to flag this challenge during the CTF, but I was able to flag it after the CTF using another way. The game is coded using **WebGL / Unity**. Of course, killing 1.000.000 mobs by hand will take too much time. Depending on how they are created, they can be compressed or uncompressed. Asset bundles are meant to be created from a set of assets and then loaded into your application. However you're not really meant to edit them in the first place. But see the other answer for a solution that might work.
The only way to kill mobs is by making them step on spikes. Unity does not support any functionality to do this. The goal of this challenge is to kill 1.000.000 mobs to get a flag, knowing that killing one mob will make two mobs spawn.