Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is OBB(Opaque Binary Blob) in Android develop site?

Tags:

When I checked the Android 2.3 doc, I found the information about OBB(Opaque Binary Blob) in Storage section.

But I can't find any information of OBB(Opaque Binary Blob) in Google.

Can you give me a information or address about what Obb(Opaque Binary Blob) is?

like image 830
user553105 Avatar asked Dec 24 '10 07:12

user553105


People also ask

What are Android OBB files?

An . obb file is an expansion file used by some Android apps distributed using the Google Play store. It contains data not stored in the application's main package (. APK file), such as graphics, media files, and other large program assets. For example, a game such as Free Fire has a 20 MB .

How can I create OBB file in Android?

Set the input directory for creating an OBB file, or the output directory when extracting ( -dump ) an existing file. When creating an OBB file, the contents of the specified directory and all its sub-directories are included in the OBB file system. Specify the filename for the OBB file.

Are OBB files encrypted?

You can't. It is like trying to make water not be wet. The reason: the user's computer MUST be able to read it, so the keys must be present. All they have to do is breakpoint your program on a jailbroken device and read your keys, then use your own code to decrypt it and all your data can be read.


1 Answers

OBB lets you package up large files and store them on the public SDcard in a way that only your app can decrypt and use them. After building the AOSP the mkobb.sh and obbtool allow you to create (on Linux) OBB files.

After setting up things like PATH, permissions and kernel modules, creating is basicly:

$ mkobb.sh -d /data/myfiles -k my_secret_key -o /data/data.obb $ obbtool a -n com.example.myapp -v 1 -s seed_from_mkobb /data/data.obb 

After which you can store the data.obb on SDcard and only access the files from your app with use of the my_secret_key

storage = (StorageManager) getSystemService( STORAGE_SERVICE ); storage.mountObb( obbFilepath, "my_secret_key", myListener ); obbContentPath = storage.getMountedObbPath( obbFilepath ); 

Although other apps can destroy the data.obb on SD card only the app can access them and the content is as secure as if stored in app private.

Only on API level 9 and up and with the WRITE_EXTERNAL_STORAGE to access OBB files from SD.

like image 162
Rene Avatar answered Oct 06 '22 23:10

Rene