gpt4 book ai didi

android - 在 Android 中使用加密的 OBB 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:39:54 29 4
gpt4 key购买 nike

我想知道人们是否已成功在 Android 中创建/安装加密的 OBB(不透明二进制 Blob)文件?这是对此 question 的跟进 1 : What is OBB(Opaque Binary Blob) in Android develop site? , 按照该帖子的指示,我执行了以下操作(从 ICS 4.01 基线开始,在 Ubuntu 10.10-32 位和 Ubuntu 12.4-64 位上都尝试过):

sudo modprobe cryptoloop
sudo modprobe twofish
sudo modprobe vfat
./mkobb.sh -d /tmp/obb/ -kblahblah -o /tmp/out.obb -v
obbtool a -n com.test.blah -v 1 -s 997ff9b1516a6788 /tmp/out.obb # 997ff... is the salt from the mkobb step
obbtool i /temp/out.obb # verify the obb file
adb push /temp/out.obb /sdcard/

从这里我将 out.obb 文件复制到我手机上的/sdcard/。并使用以下代码挂载:

String obbFile = Environment.getExternalStorageDirectory() + "/out.obb";
mgr = (StorageManager) getSystemService(Context.STORAGE_SERVICE); // mgr is a member varible of my main activity
Log.i("OBB", "trying to mount : " + obbFile + " does it exist? " + new File(obbFile).exists());

if (mgr.mountObb(obbFile, "blahblah", new OnObbStateChangeListener(){

@Override
public void onObbStateChange(String path, int state) {
Log.i("OBB", String.format("onObbStateChange:Path [%s] State=%d", path, state));
if (state == OnObbStateChangeListener.ERROR_COULD_NOT_MOUNT){
Log.i("OBB", "THIS IS THE ERROR I GET");
}
}}))
{
Log.i("OBB", "Attempting to mount");
} else {
Log.i("OBB", "Mount failed"); // this isn't happening
}

最后的结果是:

 E/MountService( 2004): Couldn't mount OBB file: -1
I/OBB (21219): onObbStateChange:Path [/mnt/sdcard/out.obb] State=21
I/OBB (21219): THIS IS THE ERROR I GET

有人看到这有什么问题吗?看起来应该可以!

注意:我确实有 android.permission.WRITE_EXTERNAL_STORAGE 并且我还从以下位置获得了预期的信息:

ObbInfo info = ObbScanner.getObbInfo("/sdcard/out.obb"); // this returns expected info, so the file is there and able to be read.

编辑:Android 开发人员组问题的链接 here

最佳答案

首先要格式化用obb文件(out.obb)创建的虚拟设备(device-mapper设备),然后才能挂载它。

具体来说,您应该在 VolumeManager::mountObb() 中添加一些代码。

if (Fat::format(dmDevice, 0)) {
SLOGE("OBB FAT format failed (%s)", strerror(errno));
return -1;
}

也许这是 android 的一个错误?

关于android - 在 Android 中使用加密的 OBB 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12101126/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com