Possible next features of QuickBMS

Doubts, help and support about QuickBMS and other game research tools
shekofte
Posts: 42
Joined: Sun Aug 10, 2014 9:22 am

Re: Possible next features of QuickBMS

Post by shekofte »

Luigi Auriemma you must make the year 2016 an Annus Mirabilis
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

:D
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

I have just found (and confirmed) that the game Warframe includes the Oodle library: https://steamdb.info/depot/230411/
So I will probably add its support in the next quickbms.
If you know other games that include compression libraries and code that are NOT available yet in quickbms, please list them here.

The following are a couple of games that are not covered yet by the comtype algorithms of quickbms:
- WALL-E (PS2), it seems developed by Asobo
- QP: Shooting Dangerous
- Drake & Josh Talent Showdown ???

Other games, some of them already solved, can be found by searching "unknown compression" or "unknown algorithm" site:zenhax.com on google.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

Speed.

If there will be ever a quickbms 0.8 (major version), it's priority will be improving its speed because currently the tool is really too slow in some situations (for example chunked files, get/putvarchr, xmath and so on).
This is for sure something I will have to improve.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

QuickBMS 0.7.4 is almost ready for the release.

Please let me know if you have something (small) to suggest or fix.
JONATHANTKB
Posts: 4
Joined: Wed Apr 22, 2015 12:23 am

Re: Possible next features of QuickBMS

Post by JONATHANTKB »

aluigi can update unity3d_webplayer cant unpack new files from unity 5.3.4 p1
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

The reference topic for Unity files is viewtopic.php?f=9&t=12
Anyway, currently supporting new versions of Unity is a problem.
JONATHANTKB
Posts: 4
Joined: Wed Apr 22, 2015 12:23 am

Re: Possible next features of QuickBMS

Post by JONATHANTKB »

ok thanks
Ekey
Posts: 1383
Joined: Sat Aug 09, 2014 2:34 pm

Re: Possible next features of QuickBMS

Post by Ekey »

It's posible to add operators (OR / AND) for IDString? In one game with two different publishers in archives only different identifiers. It would be nice to add this. I mean something like:

Code: Select all

IDString "ABCDEFG" or "GFEDCBA"
IDString "ABCDEFG" and "GFEDCBA"


or

Code: Select all

IDString "ABCDEFG" || "GFEDCBA"
IDString "ABCDEFG" && "GFEDCBA"


? :)
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

That's already done automatically by idstring.
Let's say you have: idstring "HELLO"
If the archive starts with "OLLEH" then the endianess will be changed and everything continues normally.
Ekey
Posts: 1383
Joined: Sat Aug 09, 2014 2:34 pm

Re: Possible next features of QuickBMS

Post by Ekey »

I do not mean endian.

Code: Select all

Archive A = identifier is "Super Man"
Archive B = identifier is "Batman"


A structure in the archive A is the same with the archive B, different only identifier.

Code: Select all

IDString "Super Man" or "Batman"
IDString "Super Man" and "Batman"
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

The idstring command has space for new strings so what I can do is adding the possibility of specifying other strings like an OR:
idstring "string1" "string2"
which means: if the signature is equal to string1 or string2 then ok.
Anyway it's something that is used rarely, I just use getdstring SIGN SIGNSZ and then compare the signature with the strings.
But if you think it's an important feature I can try to add that "or" to the next quickbms
spider91
Posts: 233
Joined: Sun Aug 24, 2014 5:26 pm

Re: Possible next features of QuickBMS

Post by spider91 »

What about to add forward and backward switches to FindLoc command? Sometimes needed data paced at the end of file and it can be a lot faster if you make search from the end.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

It's something that I can add, for example an additional argument to the command but my concern is about the Findloc command itself.
In fact it's something that should be used only in very rare and atypical situations (strange binary formats), are you sure to use quickbms for the right purpose?
If you want to play with text files and strings then quickbms is the wrong choice.
spider91
Posts: 233
Joined: Sun Aug 24, 2014 5:26 pm

Re: Possible next features of QuickBMS

Post by spider91 »

I wasn't talking about strings now, usually i use findloc to search some headers of another formats, like a scanner/dumper and sometimes if i have a file with normal name and need an ID that is placed near the name in another package i use it too, so it's really useful command for some purposes.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

Ok I will try to add it to quickbms 0.7.5
Ekey
Posts: 1383
Joined: Sat Aug 09, 2014 2:34 pm

Re: Possible next features of QuickBMS

Post by Ekey »

How about Isaac cipher?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

Good idea.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

A feature I have just implemented in the upcoming quickbms is the usage of a temporary file if the memory to reallocate is too big.
Let's say you have a buffer of 500Mb and you have to reallocate it to 1.5Gb, the realloc() will fail so quickbms will copy the current memory of the buffer (500Mb) to file, call malloc() and then copy the memory from the file to the new buffer.
The idea came from some big archives:
viewtopic.php?p=14571#p14571
At least on my system the beta 0.7.5 works on that huge RA3 sample where 0.7.4a fails :)

@Ekey
That Isaac stuff seems quite chaotic and I'm not sure about its implementation and "standard".
Have you seen it implemented somewhere?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

Ok, the implementation on RosettaCode was horrible and confusing, but it will be available in 0.7.5 :D