20 hours ago20 hr Localization Hello, I'm trying to get the text files from the Chinese Unity game One Piece Fighting Path. However, they seem to be encrypted. The first Google Drive link is the apk https://drive.google.com/file/d/1HW-qdJRjyLdjs62yc3NxnmtgkXWbatNW/view?usp=sharing, and the second is the "bundledtext" folder https://drive.google.com/file/d/1QNR33MgYcwfnpJYml06bPpWAmj8PVRpV/view?usp=sharing.
15 hours ago15 hr Localization Solution install python packages using pip install UnityPy lz4 numpy pycryptodome protobufthen run the attached .py file next to the bundletext folder python opfp_extract.py bundletext extractedHow the files are protected:Bundles: each .asset is a Unity bundle with junk bytes in front. The game uses a modified Unity engine that scrambles every compressed block. The key is just the length of the file name (13 for quality.asset, for example).Text files: each one inside a bundle is XORed with the 4 bytes 5E A5 4B E7. That's a hash of the string "MKONEPIECE".AES files: files starting with HGAMEENCRYPT use AES-256 with a key I pulled from the game code. That's assets_info.json in the APK.Lua and config tables: these are compiled LuaJIT, but with the instruction numbering shuffled so regular decompilers fail. I recovered the full mapping from the game's Lua engine. opfp_extract.py
Create an account or sign in to comment