(NetEase) "ACE RACER" .mpk archive unpack help
-
- Posts: 18
- Joined: Mon Apr 27, 2020 5:05 pm
(NetEase) "ACE RACER" .mpk archive unpack help
Hi, I need help. Recently, a new racing game "Ace Racer" developed by Netease has been released in China. There is no global version of the game yet. The game contains beautiful models that would be nice to get. Game archives have the .mpk format and have the LZMA compression algorithm. Are there people here who could write a script for QuickBMS to unpack the contents of these archives? I would be very grateful.
Sample game archive file: https://www.mediafire.com/file/nm5qe75x ... 6.mpk/file
Sample game archive file: https://www.mediafire.com/file/nm5qe75x ... 6.mpk/file
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
There are some older topics about this "MESSIAH" format but the problem is the obfuscation used on the index table, even in those topics without solution.
Instead the files are just compressed with the usual ZZZ4 and LZMA formats used in a script on the website so, worst case scenario, a lame scanner&dumper for these two patterns can work.
Instead the files are just compressed with the usual ZZZ4 and LZMA formats used in a script on the website so, worst case scenario, a lame scanner&dumper for these two patterns can work.
-
- Posts: 1383
- Joined: Sat Aug 09, 2014 2:34 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
index table is a separated file named as > Resources.mpkinfo
Archives
Archives
Code: Select all
Resources.mpk
Resources1.mpk
Resources2.mpk
Resources3.mpk
Resources4.mpk
Resources5.mpk
Resources6.mpk
Resources7.mpk
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
The problem is that mpkinfo doesn't match the provided Resources6.mpk, is it maybe a difference version?
Code: Select all
get EXT extension
if EXT & "info"
# mpkinfo and any other similar extension
else
print "Error: you must open the info file"
cleanexit
endif
string EXT - "info"
get RES_NAME basename
get VER long # 1
get FILES long
for i = 0 < FILES
get NAMESZ short
getdstring NAME NAMESZ
get OFFSET long
get SIZE long
get FILENUM long
math FILENUM >> 1
putarray 0 i FILENUM
putarray 1 i NAME
putarray 2 i OFFSET
putarray 3 i SIZE
next i
sortarray 0 1
math LAST_FILENUM = -1
for i = 0 < FILES
getarray FILENUM 0 i
getarray NAME 1 i
getarray OFFSET 2 i
getarray SIZE 3 i
if FILENUM != LAST_FILENUM
math LAST_FILENUM = FILENUM
if FILENUM == 0
string TMP p "%s.%s" RES_NAME EXT
else
string TMP p "%s%d.%s" RES_NAME FILENUM EXT
endif
open FDSE TMP
endif
log NAME OFFSET SIZE
next i
-
- Posts: 1383
- Joined: Sat Aug 09, 2014 2:34 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
aluigi wrote:The problem is that mpkinfo doesn't match the provided Resources6.mpk, is it maybe a difference version?
I have no idea about version, provided file from 1.1.5 apk.
-
- Posts: 18
- Joined: Mon Apr 27, 2020 5:05 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
Ekey wrote:aluigi wrote:The problem is that mpkinfo doesn't match the provided Resources6.mpk, is it maybe a difference version?
I have no idea about version, provided file from 1.1.5 apk.
I am sending you the file of the version of the game that I have now
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
Great, the script was perfect
-
- Posts: 18
- Joined: Mon Apr 27, 2020 5:05 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
aluigi wrote:Great, the script was perfect
That is, it will be possible to extract the contents of this archive?
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
Did you try my script??
-
- Posts: 18
- Joined: Mon Apr 27, 2020 5:05 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
aluigi wrote:Did you try my script??
Sorry, I just don't understand a little what I need to do to make your script work
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
That's impossible.
Yesterday I checked the mpkinfo and Resource6.mpk files you provided and everything matched perfectly, tested with quickbms by dumping the full content without any error.
Are you sure you are not messing with the various versions of the files?
Yesterday I checked the mpkinfo and Resource6.mpk files you provided and everything matched perfectly, tested with quickbms by dumping the full content without any error.
Are you sure you are not messing with the various versions of the files?
-
- Posts: 18
- Joined: Mon Apr 27, 2020 5:05 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
aluigi wrote:That's impossible.
Yesterday I checked the mpkinfo and Resource6.mpk files you provided and everything matched perfectly, tested with quickbms by dumping the full content without any error.
Are you sure you are not messing with the various versions of the files?
Sorry, maybe I'm doing something wrong. The fact is that your script (for me personally, I don't know how for you) works partially. It unpacks from these archives a couple of files that do not have an extension and a name, and are rather small in size. Although the archive itself weighs more than 200 MB. Maybe you could help me with this?
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
The one in the screenshot is NOT my script.
-
- Posts: 18
- Joined: Mon Apr 27, 2020 5:05 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
aluigi wrote:The one in the screenshot is NOT my script.
Oh, I just tried to use the above code as a script for QuickBMS. I thought that the name of the archive to be unpacked should be entered in the last lines of the code. Or am I doing something wrong and you have posted another script somewhere else?
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
The script automatically loads the mpk resources referenced in mpkinfo.
Yes you did something wrong because you edited my script.
Yes you did something wrong because you edited my script.
-
- Posts: 18
- Joined: Mon Apr 27, 2020 5:05 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
aluigi wrote:The script automatically loads the mpk resources referenced in mpkinfo.
Yes you did something wrong because you edited my script.
Yes, now I realized that it was my mistake. But there is a problem, when I try to unpack all the .mpk archives at once, QuickBMS cannot create files, because folders with a similar name already exist and he offers me to automatically generate a name by clicking on the enter button, which happens all the time. But if I try to unpack these archives separately, then QuickBMS just gives an error. For the script to work, I selected the .mpkinfo file
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
The script indeed asks to open mpkinfo and refuses to open any other file, that's correct.
I updated the script for skipping the folders:
http://aluigi.org/bms/netease_mpk.bms
I updated the script for skipping the folders:
http://aluigi.org/bms/netease_mpk.bms
-
- Posts: 18
- Joined: Mon Apr 27, 2020 5:05 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
aluigi wrote:The script indeed asks to open mpkinfo and refuses to open any other file, that's correct.
I updated the script for skipping the folders:
http://aluigi.org/bms/netease_mpk.bms
Thank you very much, now everything works as it should
-
- Posts: 17
- Joined: Tue Oct 02, 2018 11:46 am
Re: (NetEase) "ACE RACER" .mpk archive unpack help
hi aluigi,I also have a question,I extracted another game, want to know what these file formats are? I won't decrypt it
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: (NetEase) "ACE RACER" .mpk archive unpack help
That ZZZ4 in the screenshot is the LZ4 compression used in this game but I don't understand why it's not located at the beginning of the file.
I found some of these files in the provided samples and each one contains multiple ZZZ4 and LZMA chunks but the format is weird.
Anyway in the meantime I remembered that this Ace Racer has compressed files so I just updated the script for automatically decompressing them during extraction.
It's important to re-extract the files.
While for these other files (I guess all those with .4 and .8 extension) I don't have a solution at the moment.
I found some of these files in the provided samples and each one contains multiple ZZZ4 and LZMA chunks but the format is weird.
Anyway in the meantime I remembered that this Ace Racer has compressed files so I just updated the script for automatically decompressing them during extraction.
It's important to re-extract the files.
While for these other files (I guess all those with .4 and .8 extension) I don't have a solution at the moment.