Batman Arkham Origins Blackgate (ARA)
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Batman Arkham Origins Blackgate (ARA)
http://aluigi.org/papers/bms/others/batman_ara.bms
The magic is "ARMA".
The format is probably used also by other games of Armature Studios.
Strange archive format having no filenames (there is an archived file containing some names but their amount doesn't match) and two tables that are basically useless considering the lack of other information to use.
The magic is "ARMA".
The format is probably used also by other games of Armature Studios.
Strange archive format having no filenames (there is an archived file containing some names but their amount doesn't match) and two tables that are basically useless considering the lack of other information to use.
-
- Posts: 1383
- Joined: Sat Aug 09, 2014 2:34 pm
Re: Batman Arkham Origins Blackgate (ARA)
Thanks Luigi. They using fnv1a as hash. I will try make unpacker with detecting names based on your script
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Batman Arkham Origins Blackgate (ARA)
Ok.
Would be cool to have a feature of quickbms to automatically retrieving filenames through their crc from a database file.
But it should be a new command due to performance necessary for the database scanning.
Would be cool to have a feature of quickbms to automatically retrieving filenames through their crc from a database file.
But it should be a new command due to performance necessary for the database scanning.
-
- Posts: 1383
- Joined: Sat Aug 09, 2014 2:34 pm
Re: Batman Arkham Origins Blackgate (ARA)
aluigi wrote:Would be cool to have a feature of quickbms to automatically retrieving filenames through their crc from a database file.
Also i planning to make plugin for detecting names. Easy realization. Load DLL, send in function hash and it returns real name or name as a hash like __Unknown\FD77A2A5
Last edited by Ekey on Fri Aug 15, 2014 9:44 pm, edited 1 time in total.
-
- Posts: 1383
- Joined: Sat Aug 09, 2014 2:34 pm
Re: Batman Arkham Origins Blackgate (ARA)
Detecting names for QuickBMS!
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Batman Arkham Origins Blackgate (ARA)
Those names seem the same available in one of the first files of the archive, 0x302a filenames with a format of variable4 NAMESZ followed by the NAME.
-
- Posts: 1383
- Joined: Sat Aug 09, 2014 2:34 pm
Re: Batman Arkham Origins Blackgate (ARA)
Yup but only ~4k
PS: here experemental version for tests
PS: here experemental version for tests
-
- Posts: 13
- Joined: Wed Aug 13, 2014 1:44 am
Re: Batman Arkham Origins Blackgate (ARA)
Pretty cool stuff. I had an occasion to use something similar a couple of weeks ago. I made a program that parses file names, CRC them, and store them in a compressed flat file. Any interest?
-
- Posts: 1383
- Joined: Sat Aug 09, 2014 2:34 pm
Re: Batman Arkham Origins Blackgate (ARA)
Updated base
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Batman Arkham Origins Blackgate (ARA)
@cyanic
ok, post it
ok, post it
-
- Posts: 13
- Joined: Wed Aug 13, 2014 1:44 am
Re: Batman Arkham Origins Blackgate (ARA)
The program was made for Gun Metal, with most of the filenames obtained via hooking OutputDebugString into the game code. The CRC format is a bit different than usual, but it can be easily replaced by other hashes if you have the code for them. There are two parsers, one for plain text list of files, and one for parsing output from DebugView. Working CRC database is stored as a bunch of CRC-filename pairs, while the release database is stored as an initial CRC, deltas using 7BitInt, then a list of strings, all deflated.
-
- Posts: 1383
- Joined: Sat Aug 09, 2014 2:34 pm
Re: Batman Arkham Origins Blackgate (ARA)
You need hook hash code to obtain file name
-
- Posts: 13
- Joined: Wed Aug 13, 2014 1:44 am
Re: Batman Arkham Origins Blackgate (ARA)
In Gun Metal I actually placed the hook before the hashing code to get original file names. They lowercase all the file names when hashing. It was also extremely slow, about 20 times the typical loading time. In any case, it was to get an initial batch of names, and from there I can parse files to get more names.