For mobile games, data mining is the process to extract data from the game, usually to extract assets and unreleased data. To data mine the game you will need access to a rooted Android device or emulator. This guide is not tested for iOS.
Assets[]
Dumping cache files to PC[]
- Make sure your device or emulator is rooted.
- Use any file explorer software to access your files. If you use an emulator they might have one built-in. Otherwise, I recommend X-plore File Manager.
- Access FFBE installation folder:
/ > data > data > com.square_enix.android_googleplay.FFBEWW
- Transfer the entire folder to your PC.
- If you are using an Android device you can copy it first to SD card before transferring it to PC.
- Each emulator has a different way to transfer files between the emulator and PC. Check their website.
- For users of BlueStacks, no root is needed. Visit VMXray and view C:\ProgramData\Bluestacks\Android\Data.vdi (Windows default directory) to view the data files
Extracting assets from cache files[]
Most files we are interested in are located in this folder: /com.square_enix.android_googleplay.FFBEWW/files/
There are 4 distinct file types we can extract from:
- .plist is basically an XML file, you can read it using any text editor.
- .acb is a CRIWARE's archive format used to package sound and music. You can use VGMToolbox to extract them into .hca files. Open VGMToolbox.exe and go to Misc. Tools > Extraction Tools > Streams > CRI HCA Extractor. Drag and drop your .acb files on the open window. The extracted files should be inside folders on the same path as the source file.
- .hca is a CRIWARE's sound file format. Download and unpack HCA Decoder. Inside you will find HCA_decoder_v1.12.zip. Unpack it, and then drag and drop .hca files to hca.exe. The .wav file will be extracted in the same folder.
- .cpk is a CRIWARE's archive format used to package assets, though you may find other files stored inside. There are a couple of extractor you can use, but I'm using CriPakTools. Place CriPakTools.exe and 1-EXTRACT_ALL(no_decompression).bat in the same folder as all .cpk files you want to extract and then run the .bat file. You might encounter error on some .cpk files, especially one that store movies.
Movie Extraction[]
Obtain the .cpk files from the folder of your choosing. You can use VGMToolbox to extract them. Open VGMToolbox.exe and go to Misc. Tools > Extraction Tools > Common Archives > CRI CPK Archives Extractor. Drag and drop your .cpk files into the open window. The extracted files should be inside folders on the same path as the source file. Go to the TOC folder and decrypt the .usm file. Go to Stream Tools > Video Demultiplexer, choose USM (Cri Movie 2) for output video format, and drag and drop your .usm file into the open window. The .m2v and .adx video and audio format will appear inside the same folder.
- .adx is an audio format, which can be converted using any audio tools.
Notable asset folders:
/common_lang/sound/
- Background music and sound effects./common_lang/sd/area/
- World map backgrounds and city/dungeon image./common_lang/sd/battlebg/
- Battle backgrounds./common_lang/sd/item/
- Ability and item icons./common_lang/sd/monster/
- Monster sprites./common_lang/sd/unit/
- Unit sprites./en/sd/static_banner/gacha/
- Gacha banners./en/sd/tuto/
- Tutorial and events popup.
Stored Data[]
FFBE stores much of their data internally as .dat on the /files
folder:
- Localization data.
- Data for any content object, including:
- Unit data
- Item data
- Ability data
- Enemy data (abilities, description, AI, etc)
Having these data transmitted via download allows developer to add content to their game without updating the game client. These data are encrypted, and the method to decrypt them is outside the scope of this guide.
Server Data[]
Every time you are attempting to enter a dungeon, the server will transmit data to the client:
- Enemy data (stats, resistance, etc)
- Loot result
The method to obtain and decrypt them is outside the scope of this guide.