QuickBMS errors [programming, scripting, quickbms.exe tool... NOT games]

Doubts, help and support about QuickBMS and other game research tools
spiritovod
Posts: 719
Joined: Sat Sep 28, 2019 7:00 pm

Re: QuickBMS errors [programming, scripting, quickbms.exe tool... NOT games]

Post by spiritovod »

@sparr: I suppose it's expected behavior due to how quickbms handles paths for better user experience and limitations of command line. For example, extracting "../../test.dat" would lead to extraction of "test.dat" to output folder. Also, "test/.foo" would produce ".foo" file in the respective subfolder. As for -f filter, you need to use wildcard(s) as suggested in documentation, then it will work properly.
If you need to process dots in case when there are no subfolders, I guess it can be done by artificially adding some checks and subfolder to path or unique extension to file and processing extracted files externally via file managers. Though if you'll need to reimport stuff in the future, such approach may not work properly.

@Jozaca1199: Yes, that's explained in the first post. And even though quickbms has reimport modes, it main purpose is extraction and reimport may not work correctly in many cases, unless you'll write separate script for packing, that's why it's better to look for some modding dedicated communities for particular game/engine.
Gamer2000
Posts: 12
Joined: Wed Jun 01, 2022 7:05 am

Re: QuickBMS errors [programming, scripting, quickbms.exe tool... NOT games]

Post by Gamer2000 »

Hello everybody, I want to be able to attempt to extract or decompress fef/fff bin files on Just Dance 4 (like with these sample files for ex.). Whenever I used the just_dance_4.bms or just_dance_bin.bms I get this type of error:
error message.PNG
Can anyone please help???
tomba
Posts: 30
Joined: Wed Aug 04, 2021 9:52 am

Re: QuickBMS errors [programming, scripting, quickbms.exe tool... NOT games]

Post by tomba »

hello. my problem is that windows 11 won't let me start quickbms. i enabled it through the firewall, the reimport starts, but the import file window closes immediately. is there a solution?
Thanks for the reply.
Sorry, I asked for help too soon. can be run as administrator.
jakmrk88
Posts: 10
Joined: Thu Sep 26, 2019 10:09 pm

Re: QuickBMS errors [programming, scripting, quickbms.exe tool... NOT games]

Post by jakmrk88 »

Hello. I'm trying to unpack Gotham knights using quickbms then using both 4_0.4.25 and 4_0.4.25d scripts but I still get the error: incomplete input file -10. Can anyone help?

Problem solved. I found that even if the exe file is UE 4.25, pak file must be extracted with the script for UE 4.27
zgoro
Posts: 16
Joined: Sat May 02, 2020 12:46 pm

Re: QuickBMS errors [programming, scripting, quickbms.exe tool... NOT games]

Post by zgoro »

I apologize for having posted this on another topic, but I suspect this is not just a compatibility issue.

From v.0.12.0, Findloc command is not reading string variable anymore:

Code: Select all

Math A = 1
Open FDSE "prova.txt" 100             # an external .txt file with strings:  _1_ , _2_ ...

goto 0x0 100

String VAR P "_%A%_"                  # String to search as VAR
findloc OFFSET string VAR 100 ""      # VAR is not read in v.0.12.0
print "VAR found at %OFFSET|x%"
Shokoniraya
Posts: 416
Joined: Sat Sep 15, 2018 5:22 am

Re: QuickBMS errors [programming, scripting, quickbms.exe tool... NOT games]

Post by Shokoniraya »

there is 2 p opertor
lower p, acts like scope based languages print system
upper P, QuickBMS print mode

upper P will add a 0x0A byte at end of string, that is why your command not working

please use this way
string VAR p "_%s_" A

but this way may not be safe, so you better to use it like this to avoid formatting problems
string VAR = ""
string VAR + "_"
string VAR + A
string VAR + "_"
zgoro
Posts: 16
Joined: Sat May 02, 2020 12:46 pm

Re: QuickBMS errors [programming, scripting, quickbms.exe tool... NOT games]

Post by zgoro »

Thanks for your insight,
Unfortunately altering P in v0.12.0 breaks all previous .bms written without 0x0A, so that's a major issue to consider on my side.
Shokoniraya
Posts: 416
Joined: Sat Sep 15, 2018 5:22 am

Re: QuickBMS errors [programming, scripting, quickbms.exe tool... NOT games]

Post by Shokoniraya »

hello sir aluigi
i pointed to similiar subject before, but there is a very annoying thing about reimport2 mode of QuickBMS
please add a command line to ignore making old file buffer location to zero (\x00) if file is bigger than old one and a new offset is created for appending file to end of archive, because some archives are optimized to use duplicated files binaries from only one binary, and if that binary replaced with zero, rest of files will be taken as zero too
Dark Frost
Posts: 7
Joined: Tue Apr 26, 2022 5:34 am

Re: QuickBMS errors [programming, scripting, quickbms.exe tool... NOT games]

Post by Dark Frost »

hello aluigi
ı Think Positional compare not working with QuickBMS
Because I Try This But This İsnt Working My Data

Code: Select all

do
    findloc A_OFFSET binary "\x80\x00"
    goto A_OFFSET
    get A_SIZE asize
    findloc Q_OFFSET binary "\x43\x52\x49"
    goto Q_OFFSET
    get Q_SIZE asize
    math Q_OFFSET - 34
    math Q_SIZE = Q_OFFSET
    if A_SIZE == Q_SIZE
    callfunction Extraction
    startfunction Extraction
    findloc B_OFFSET binary "\x80\x01\x??\x??" 0 ""
    goto B_OFFSET
    if B_OFFSET == ""
        get B_SIZE asize
    else
       math B_OFFSET - 2 # 2 is B_OFFSET Byte
       math B_SIZE = B_OFFSET
    endif
    math B_SIZE - A_OFFSET
    string A_OFFSET + ".adx"
    log A_OFFSET A_OFFSET B_SIZE
    math A_OFFSET = B_OFFSET
    goto A_OFFSET
    else
    goto A_OFFSET
While NotEOF <> 0
endfunction
cleanexit
ı need compare,Q_OFFSET ("\x43\x52\x49") - 34 if it corresponds A_OFFSET ("\x80\x00") function start

ı Try This Way But İt Didint Work

Code: Select all

do  
    startFunction Back
    findloc A_OFFSET binary "\x80\x00"
    goto A_OFFSET
    get A_SIZE asize
    findloc Q_OFFSET binary "\x43\x52\x49"
    math Q_OFFSET - 33
    goto Q_OFFSET
    endFunction
    if A_OFFSET == Q_OFFSET
    callFunction Start
    else
    math A_OFFSET + 2
    callFunction Back
    endif
    StartFunction Start
    findloc B_OFFSET binary "\x80\x01" 0 ""
    goto B_OFFSET
    if B_OFFSET == ""
        get B_SIZE asize
    else
       math B_OFFSET + 2 # 2 is B_OFFSET Byte
        math B_SIZE = B_OFFSET
    endif
    math B_SIZE - A_OFFSET
    string A_OFFSET + ".adx"
    log A_OFFSET A_OFFSET B_SIZE
    math A_OFFSET = B_OFFSET
    goto A_OFFSET
while NotEOF <> 0
endFunction
cleanexit
Testdata.bin