Jump to content

Has anyone know how to get audio resources in netease new game where winds meet?


Go to solution Solved by wq223,

Recommended Posts

Posted

This game is developed with newer messiah engine. I dumped into the resource files which are .mpk files. However, it seems that these files are using version 3 which are no compatible with previous ways. Also, mpkinfo files are deprecated for some data. Anyone knows how to handle these files?

Posted
2025年2月4日上午3点32分,reopio 说:

这游戏采用较新的messiah引擎开发。我将其转储到资源文件中,即.mpk文件。但是,这些文件似乎使用的是版本3,与以前的方式不兼容。另外,mpkinfo文件对于某些数据已废弃用。有人知道如何处理这些文件吗?

Hello, you can try the script I wrote. It will parse the Where Winds Meet patch file. I have uploaded the script to the script section. It should be easy to parse the audio file to

mpk.py

Posted
On 2/7/2025 at 1:21 PM, wq223 said:

Hello, you can try the script I wrote. It will parse the Where Winds Meet patch file. I have uploaded the script to the script section. It should be easy to parse the audio file to

mpk.py 7.72 kB · 2 downloads

Thanks for your reply. I tried your script and it extracted a lot of files. I find all audio files which are all .wav files via another script by magic code. However, the extracted .wav files cannot played by VLC player and cannot be recognized by ffmpeg which tells they are using a kind of unknown codec. Here is a example header of these extracted .wav files: 

52 49 46 46 BF 73 00 00 57 41 56 45 66 6D 74 20 24 00 00 00 41 30 01 00 80 BB 00 00 F5 12 00 00 
00 00 00 00 

from which we can see that the code 41 30 01 00 which means the codec of this .wav file is not standard. So we cannot play it in VLC. Do you know how to convert them into standard .wav files or is there a player can play these .wav files?

  • Solution
Posted

Hello, although the file is recognized as .wav format by the system, it is actually a .wem format commonly used by the Messiah Engine. Of course, the .bnk format may also appear. You can use this tool to download a version suitable for your system. You can use the command Lines convert it to standard .wav audio or other audio formats

https://github.com/vgmstream/vgmstream

 

Of course you can also use the following exe program. I have used it before and can be converted in batches. Before using it, you should modify the file name to .wem. If the file header is BKHD, you should also modify and expand to .bnk

RavioliGameTools_v2.10.zip

Posted
On 2/12/2025 at 7:20 PM, reopio said:

Thanks for your reply. I tried your script and it extracted a lot of files. I find all audio files which are all .wav files via another script by magic code. However, the extracted .wav files cannot played by VLC player and cannot be recognized by ffmpeg which tells they are using a kind of unknown codec. Here is a example header of these extracted .wav files: 

52 49 46 46 BF 73 00 00 57 41 56 45 66 6D 74 20 24 00 00 00 41 30 01 00 80 BB 00 00 F5 12 00 00 
00 00 00 00 

from which we can see that the code 41 30 01 00 which means the codec of this .wav file is not standard. So we cannot play it in VLC. Do you know how to convert them into standard .wav files or is there a player can play these .wav files?

Hello, is there a problem with the method provided, can the audio be extracted correctly?, If there is no problem, please mark the previous message as a solution to let others know that your problem has been resolved

Posted
On 2/12/2025 at 10:46 PM, wq223 said:

Hello, although the file is recognized as .wav format by the system, it is actually a .wem format commonly used by the Messiah Engine. Of course, the .bnk format may also appear. You can use this tool to download a version suitable for your system. You can use the command Lines convert it to standard .wav audio or other audio formats

https://github.com/vgmstream/vgmstream

 

Of course you can also use the following exe program. I have used it before and can be converted in batches. Before using it, you should modify the file name to .wem. If the file header is BKHD, you should also modify and expand to .bnk

RavioliGameTools_v2.10.zip 5.02 MB · 1 download

Thanks a lot, you saved my life. Another question. I also want to get In game dialogue text from extracted data. I use file command to detect file type and find that all files marked as text/plain has no data at all. They are consist of the following looped hex data:
image.png.fbcc46cfb514a76663f44e554a8612f9.pngimage.png.fbcc46cfb514a76663f44e554a8612f9.png

Do you know how to find In game dialogue text data? Thank you for your help.

Posted
18 hours ago, reopio said:

非常感谢,你救了我的命。另一个问题。我也想从提取的数据中获取游戏内对话文本。我使用文件命令检测文件类型,发现所有标记为文本/纯文本的文件都没有数据。它们由以下循环十六进制数据组成:
图片.png.fbcc46cfb514a76663f44e554a8612f9.png图片.png.fbcc46cfb514a76663f44e554a8612f9.png

你知道如何查找游戏内对话文本数据吗?谢谢你的帮助。

In other Messiah engine games, text files are embedded in scripts, but in the game we are discussing, I did not find any traces of script files. Maybe they modified the compression and encryption methods, causing changes in the file surface. What I doubt most at the moment is EZST encrypted files

In other Messiah engine games, text files are embedded into scripts, they use zlib to compress and exorbit it or

If zlib compression is used, the fixed byte part must be two digits

But the fixed byte EZST here is obviously four bits. Assuming that it stores the script, it will not be zlib compression, because the fixed byte part has exceeded the limit.

Or fixed bytes are exceptions, they are not compressed file data

All are based on guesswork

In addition, regarding their texture files and mesh model files, the encrypted lz4 algorithm is used. Someone has written their decryption script before, but I can't tell if it works.

Posted
On 2/15/2025 at 3:40 PM, wq223 said:

In other Messiah engine games, text files are embedded in scripts, but in the game we are discussing, I did not find any traces of script files. Maybe they modified the compression and encryption methods, causing changes in the file surface. What I doubt most at the moment is EZST encrypted files

In other Messiah engine games, text files are embedded into scripts, they use zlib to compress and exorbit it or

If zlib compression is used, the fixed byte part must be two digits

But the fixed byte EZST here is obviously four bits. Assuming that it stores the script, it will not be zlib compression, because the fixed byte part has exceeded the limit.

Or fixed bytes are exceptions, they are not compressed file data

All are based on guesswork

In addition, regarding their texture files and mesh model files, the encrypted lz4 algorithm is used. Someone has written their decryption script before, but I can't tell if it works.

Thank you very much. I will try x64dbg to find anything useful if possible or just use TTS to get scripts.

Posted
4 hours ago, reopio said:

非常感谢。如果可能的话,我会尝试使用 x64dbg 来查找任何有用的东西,或者只是使用 TTS 来获取脚本。

If you are a big guy, you can try reverse their binary, maybe (libgame.so) or something, to find the relevant logic of compression, how they encrypt, how they compress, and if you are lucky, it may also be the way to go Find other useful information

But it is best not to try to find something on a single compressed file. The file may have been compressed, XOR, reversed, and encrypted, making the file no longer what it was.

I'll share a way to reverse the script compression method of other messiah games before

In other messiah games (probably part) there are several pyc files embedded at the end of the so file

But this kind of pyc cannot be decompiled, but I can get the key through disassembly

Just a simple XOR, by converting the header of the original file with the obtained key, I got the file header of zlib

But the file cannot be decompressed. I tried to perform 2 bytes of XOR operation at a time, and then tried to decompress, and then learned that XOR has no XOR all bytes

So I understand the basic logic of compressing script files

Unzip it into a .pyc file, and the text information is included in it

But this method should not apply to Yanyun Sixteen Sounds, because I have not seen the original file with the same bytes in Yanyun Sixteen Sounds.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...