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

Doubts, help and support about QuickBMS and other game research tools
kantonin
Posts: 3
Joined: Mon Jun 10, 2019 8:52 am

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

Post by kantonin »

Hi everybody is someone can help me?

I got this error when I tried to extract a .cpk
"Can't read 1 bytes from offset 000000007d02b938"
....
Coverage file 0 0%

I don't understand because the game (PES 2019) read the cpk well all content included.
But the file make crash every tools to extract...

Even CriPakTools can't extract

error in CriPAK :
Image

I read somewhere that it's possible to lock cpk... Maybe this one is...

Is it possible that with an hex editor someone has changed one byte the one told by the program?

but the offset in hex editor are not with 16 digit so how can I repair this?

Thanks a lot
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

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

Post by aluigi »

@kantonin
off-topic, this topics is "NOT games" as written in the title.

If you get errors with all the tools, it means it's not the right format for them.

As far as I know PES uses its own format and there are specific tools for it:
viewtopic.php?p=34590#p34590
GHFear
Posts: 290
Joined: Fri Mar 30, 2018 2:48 am

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

Post by GHFear »

if statements like this are bugged.
I tested on 0.9.2
and 0.10.0.

Instead of comparing if the VLV variable == "VLV", it will compare if the VLV variable == the VLV variable.
So it will ALWAYS come back as true.
So in other words, if your variable name is the same as the the string you look for, it always returns true.

Code: Select all

goto 64
get VLV string

if VLV == "VLV"
    print "YES"
else
    print "NO"
endif


but maybe I am misunderstanding the use of "" in quickBMS and even "VAR" can be used as only VAR in if statements.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

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

Post by aluigi »

That's how it should work, variable names and constants are the same.

It's a bug/feature that can't be changed.

Same happens for the case, for example:

Code: Select all

if VAR == "VLV"
elif VAR == "vlv"
GHFear
Posts: 290
Joined: Fri Mar 30, 2018 2:48 am

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

Post by GHFear »

aluigi wrote:That's how it should work, variable names and constants are the same.

It's a bug/feature that can't be changed.

Same happens for the case, for example:

Code: Select all

if VAR == "VLV"
elif VAR == "vlv"


Okay, then it's good.
I will remember that.
Took me forever to figure out why it was only giving me true.
kantonin
Posts: 3
Joined: Mon Jun 10, 2019 8:52 am

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

Post by kantonin »

aluigi wrote:@kantonin
off-topic, this topics is "NOT games" as written in the title.

If you get errors with all the tools, it means it's not the right format for them.

As far as I know PES uses its own format and there are specific tools for it:
viewtopic.php?p=34590#p34590


Know the specific tool, but it works every time with quickBMS so only got the error with this file... my question is not related to the game... but specific to this error and way to solve it even if the file doesn't come from a game... Is there a way to solve such "byte error"

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

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

Post by aluigi »

kantonin wrote:my question is not related to the game... but specific to this error and way to solve it even if the file doesn't come from a game...

It's IS related to this game since you get that error because it's an error in the format.
The only thing you can do is opening a new topic in the Game Archive section for it, upload that specific file that gives the problem and wait an answer.
Please note that the cpk script will not be updated anymore.
BCGhost
Posts: 35
Joined: Fri Dec 15, 2017 1:42 pm

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

Post by BCGhost »

The sortarray command somehow produces a bug when the number of elements in arrays exceeds 6:

Code: Select all

before
fileID  Offset  Size  NameID
0x00000000  0x0002dae0  0x00006878  0x00000020
0x00000000  0x000175f0  0x00003834  0x00000021
0x00000000  0x00034360  0x00006878  0x00000022
0x00000000  0x000272a0  0x0000683c  0x00000023
0x00000000  0x0001ae30  0x00003894  0x00000024
0x00000000  0x00021fa0  0x000052f8  0x00000025
0x00000001  0x0000ed50  0x000080a8  0x00000026
0x00000000  0x0001e6d0  0x000038c4  0x00000027
0x00000000  0x0000dd40  0x00003184  0x00000028
0x00000001  0x00016e00  0x0000a558  0x00000029
0x00000000  0x000021c0  0x00002ee0  0x0000002a
0x00000000  0x000050a0  0x00002ee0  0x0000002b
0x00000001  0x000074d0  0x00007874  0x0000002c
0x00000000  0x00010ed0  0x00003384  0x0000002d
0x00000000  0x00014260  0x00003384  0x0000002e
0x00000001  0x00000000  0x000074c8  0x0000002f
0x00000000  0x00007f80  0x00002ee0  0x00000030
0x00000000  0x0000ae60  0x00002ee0  0x00000031
0x00000000  0x000004b0  0x00001d05  0x00000032
0x00000000  0x00000180  0x00000328  0x00000033
0x00000002  0x00000000  0x002404dc  0x00000034
0x00000000  0x00000000  0x0000017a  0x00000035
after
fileID  Offset  Size  NameID
0x00000000  0x0002dae0  0x00006878  0x00000020
0x00000000  0x000175f0  0x00003834  0x00000021
0x00000000  0x00034360  0x00006878  0x00000022
0x00000000  0x000272a0  0x0000683c  0x00000023
0x00000000  0x0001ae30  0x00003894  0x00000024
0x00000000  0x00021fa0  0x000052f8  0x00000025
0x00000000  0x0001e6d0  0x000038c4  0x00000027
0x00000000  0x0000dd40  0x00003184  0x00000028
0x00000000  0x000021c0  0x00002ee0  0x0000002a
0x00000000  0x000050a0  0x00002ee0  0x0000002b
0x00000000  0x00010ed0  0x00003384  0x0000002d
0x00000000  0x00014260  0x00003384  0x0000002e
0x00000000  0x00007f80  0x00002ee0  0x00000030
0x00000000  0x0000ae60  0x00002ee0  0x00000031
0x00000000  0x000004b0  0x00001d05  0x00000032
0x00000000  0x00000180  0x00000328  0x00000033
0x00000000  0x00000000  0x0000017a  0x00000035
0x00000000  0x00000000  0x00000000  0x00000000
0x00000001  0x00016e00  0x0000a558  0x00000029
0x00000001  0x00000000  0x000074c8  0x0000002f
0x00000001  0x000074d0  0x00007874  0x0000002c
0x00000001  0x0000ed50  0x000080a8  0x00000026


The elements of the line where the NameID was 0x34 are all set to zeros somehow after sortarray. Tested with quickbms and quickbms_4gb_files of v0.9.2 and 0.10.0, all same results.
Here's the test script and the source data.
Cromdar
Posts: 1
Joined: Thu Jul 18, 2019 10:20 pm

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

Post by Cromdar »

I try to unpak "Game-WindowsNoEditor.pak" of the Killsquad game and I have the following error.
Error: the compressed zlib/deflate input is wrong or incomplete (-3)
Info: algorithm 1
offset 000000001136514c
input size 0x00000000000041e7 16871
output size 0x0000000000010000 65536
result 0xffffffffffffffff -1

Error: the uncompressed data (-1) is bigger than the allocated buffer (65562)

Last script line before the error or that produced the error:
213 clog NAME CHUNK_OFFSET CHUNK_ZSIZE CHUNK_SIZE 0 CHUNK_XSIZE

The reason to extract the files is to see if I can play the game because I have problems with most games that use UE4, or do not install or give me several errors. I used the following script "unreal_tournament_4.bms" I don't know if it is the right one, I'm a complete noob.
kamtesel
Posts: 2
Joined: Wed Sep 25, 2019 9:34 am

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

Post by kamtesel »

hi
any update for gears 5?
it gave you the offset error
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

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

Post by aluigi »

@BCGhost
Interesting, I will check it

@Cromdar and @kamtesel
UE4 topic:
viewtopic.php?f=9&t=1005
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

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

Post by aluigi »

@BCGhost
Ok I have found the cause of the issue but it's not a bug of quickbms.

The problem is related to the pre-allocation of the arrays like "putarray 0 totalFileNum 0 # fileID" that indeed adds a new element in the array.

With the new element the total number of entries is totalFileNum+1 and no longer totalFileNum, so everything is perfectly sorted but:
- you can't see fileID 2 because it's at position totalFileNum+1 not covered by the display cycle
- the last zeroed element you see for fileID 0 is the new element added for pre-allocation

If you remove pre-allocation everything is ok, you can see the NameID 0x34 element if you use "for i = 0 < totalFileNum".

Since it's not a bug, there is nothing to fix.

Usually pre-allocation is not necessary for arrays.
Shokoniraya
Posts: 416
Joined: Sat Sep 15, 2018 5:22 am

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

Post by Shokoniraya »

sir aluigi, i found a problem, seems like slog cant use a opened file by FDSE
here a example: slog ''' OFFSET SIZE 1 or slog "" OFFSET SIZE 2

Code: Select all

open FDSE DAT 1
open FDSE LANG 2
for i
get OFFSET long 1
get SIZE long 1
slog "" OFFSET SIZE 2
next i



please add full float Support in quickbms, it's really important for new games in font files and config files)

and please add a option to quickbms to get CRC or MD5 of a file
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

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

Post by aluigi »

The Slog syntax is "SLog NAME OFFSET SIZE [TYPE] [FILENUM]" so the correct usage is:
slog "" OFFSET SIZE string 2

I'm trying to implement float just now but it will be very limited, just get+math+put+print

crc and md5 is already possible with Encryption command.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

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

Post by aluigi »

QuickBMS 0.10.1 is now available
Nameless
Posts: 25
Joined: Tue Dec 20, 2016 8:18 pm

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

Post by Nameless »

It seems like there is very ugly bug in CRC calculation. If you process list with thousands of strings, for some of them you can receive invalid CRC values but retesting faulty strings individually gives CRC without errors. As if there occurs internal overflow or something? It happened to me with type 1 and I don't know if it also happens with other types, I tested this feature just to find out how useful it can be with such tasks and it gave me only headache because of how convoluted it is, putting parameters into one whole string is really terrible idea.
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

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

Post by GHOST DEAD »

slog cant put anything on MEMORY_FILE

Code: Select all

slog MEMORY_FILE1 TEXT_OFFSET TEXT_LENGHT
GHOST DEAD
Posts: 218
Joined: Wed Jul 19, 2017 5:04 am

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

Post by GHOST DEAD »

there is something wrong if someone want to make a complete repacker with QuickBMS
because its possible to write algorithm with bms language for files with QuickBMS, but it cant do all of jobs at one script for repacking

is there any way to use export and reimport at one script? because it will be possible to make a script to work just like a program

it would be very better to use customized log command such as these commands, because need to update some info after repacking or need to change something in importing when a file will insert into the archive
and MEMORY_FILE importing is important too for this operation, i mean import a MEMORY_FILE to another MEMORY_FILE, or even import a file in MEMORY_FILE

Code: Select all

export_log
import1_log
import2_log
import3_log

export_slog
import1_slog
import2_slog
import3_slog

export_clog
import1_clog
import2_clog
import3_clog
greenlemonade1
Posts: 10
Joined: Sun Dec 15, 2019 8:32 am

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

Post by greenlemonade1 »

I noticed that quickbms doesn't export all files for my game. Using some other method that export files, I noticed that there are more files, what can be the problem?
sergop
Posts: 125
Joined: Mon Jul 31, 2017 2:28 am

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

Post by sergop »

Any idea how to replace the files? I am using the .tar bms script from https://aluigi.altervista.org/bms/tar.bms
Image