Closed ljgit428 closed 11 months ago
It's only tested with 64-bit emulators. Which nox emulator are you using? If you are using the default one, then that is 32-bit android 7 which is pretty old. Try a more up to date one with 64-bit
@lico-n I try to use ldplayer9, so now I have the logs ready, but I cannot find the key. I really appreciate your timely reply.
I am sure that CriWareDrypterConfig initialized by CriWareDrypter class function has the field key.
You are welcomed to try this app with your own setup. I still can’t get the key code.
APP Download Link: https://pkg.biligame.com/games/ylda_1.6.1_20230725_053258_fa4ed.apk
Most games are implementing the Initialize with 4 params (key, authenticationFile, enableAtomDecryption, enableManaDecryption).
I have not encountered a game doing the Initialize with the CriwareDecrypterConfig which is why it is also not implemented yet. I would need a sample game to test it with.
This game is not calling the Initialize with CriwareDecrypterConfig either. I justed tested it.
The one with the 4 params is called once with a 0 key but that is probably for the usm's. The one with the 1 config param is never called.
At least until the login screen where I stopped because I can't be bothered with real id verification. It is for example possible that initialization happens later, there are games that are doing per file keys etc which would mean they would initialize when the corresponding file is actually loaded.
You can try the module version below. It would log Initialize (CriWareDecrypterConfig) called
if it detected such a call (without extracting the key for now). Unless confirmed that this is the case, I won't bother figuring out how to get through the bilibili login myself.
Also this module really only covers the generic encryption for Criware. If there is any custom encryption happening, then it won't be covered by this module.
No problem. I have a real account with bilibili login, and I’ll try it out
@lico-n I also got the same 0 key while initializing CriwareDecrypter. The call Initialize (CriWareDecrypterConfig)
is not detected, but I did not find a video .usm file in the app. I tried .\hca.exe -c -a 00000000 -b 00000000 sample.hca
but that does not work for any of the hca files.
@lico-n This is the screenshot where the decoder failed to decode the hca file:
`E:\collection\Azurlane\HCADecoder.v1.21>hca.exe -c -a 00000000 -b 00000000 E:\co llection\BlueArchive\test_vgmt_acb_ext_11000\awb\Main_11000_003.hca E:\collection\BlueArchive\test_vgmt_acb_ext_11000\awb\Main_11000_003.hca を復号 化中...
E:\collection\Azurlane\HCADecoder.v1.21>hca.exe E:\collection\BlueArchive\test_ vgmt_acb_ext_11000\awb\Main_11000_003.hca E:\collection\BlueArchive\test_vgmt_acb_ext_11000\awb\Main_11000_003.hca をデコ ード中... Error: デコードに失敗しました。`
Upload some samples for encrypted acb/awb?
@lico-n Here is a complete version of acb/awb files: https://drive.google.com/file/d/1uae1Hin__-hw1e0ibRfj3S3CD1z91e5Z/view?usp=sharing
The reason why you don't see any Initialize calls is because these are not encrypted.
You are probably just using a tool that has not the proper support for the file format.
Try using https://github.com/vgmstream/vgmstream or if you like to do it programatically https://github.com/Youjose/PyCriCodecs
@lico-n Great! It is working using the Foobar2000 component from vgmstream(https://github.com/vgmstream/vgmstream) Thanks a lot for help!
@lico-n The story scenario voicelines for Blue Archive in Bilibili are stored as files of .acb and .awb extensions. After I extracted them, they are encoded .hca files, and I need to find the key code to extract the wav files. After using ZygiskUnityCriwareKeylogger in Nox, I can only see the app is initialized, but there is no key logged with command
adb logcat -s ZygiskUnityCriwareKeylogger
. Here is the screen shot for the log I have.The Magisk version I use is Magisk Delta 25306. I cannot install Magius app of any other versions with Zygisk working on Nox. Any suggestions/recommendations?