Jump to content

Recommended Posts

Posted (edited)

Hello,

Can anyone explain how to create scripts for QuickBMS?

 

For example, I’m trying to understand how simple scripts like this one are written:

 

# Ratatouille (PS2)

# DPS archive extract

 

ComType lzrs_asobo

 

Goto 0x120

 

Get TEMPNAME basename

Get FILES Long

 

Math OFFSET = 0x800

 

For A = 0 < FILES

    Goto OFFSET

    Goto 0x1c 0 SEEK_CUR

    Get COUNT Long

    Math COUNT * 4

    Goto COUNT 0 SEEK_CUR

    Get SIZE Long

    Get ZSIZE Long

    Math ZSIZE - 8

    SavePos OFFSET

 

    String FILENAME P "%TEMPNAME%_%A%"

    CLog FILENAME OFFSET ZSIZE SIZE

 

    Math OFFSET + ZSIZE

Next A

 

 

I only have a little experience with QuickBMS.

 

I want to learn how to write scripts like this myself.

Any help or explanation would be greatly appreciated.

Edited by Ggsgwhwhe
  • Engineers
Posted (edited)

Hello.

first of all: wrong sub forum!

2ndly: quickbms comes with quickbms.txt which contains a large section 4) How to create scripts

Read/understand it. This will be a good base.

But you won't be able to create scripts like your example, imho,  because you'll need to gain knowledge about the archive format.

If there's no format specification you'll need to do a trial 'n error approach (or use a debugger, advanced skills required).

btw, "t 'n e" doesn't mean "wild guessing", it's a mixture of experience, comparison to similar scripts (if any), etc.

Edited by shak-otay
  • Supporter
Posted
5 hours ago, Ggsgwhwhe said:

Hello,

Can anyone explain how to create scripts for QuickBMS?

 

For example, I’m trying to understand how simple scripts like this one are written:

 

# Ratatouille (PS2)

# DPS archive extract

 

ComType lzrs_asobo

 

Goto 0x120

 

Get TEMPNAME basename

Get FILES Long

 

Math OFFSET = 0x800

 

For A = 0 < FILES

    Goto OFFSET

    Goto 0x1c 0 SEEK_CUR

    Get COUNT Long

    Math COUNT * 4

    Goto COUNT 0 SEEK_CUR

    Get SIZE Long

    Get ZSIZE Long

    Math ZSIZE - 8

    SavePos OFFSET

 

    String FILENAME P "%TEMPNAME%_%A%"

    CLog FILENAME OFFSET ZSIZE SIZE

 

    Math OFFSET + ZSIZE

Next A

 

 

I only have a little experience with QuickBMS.

 

I want to learn how to write scripts like this myself.

Any help or explanation would be greatly appreciated.

If you just want to extract content from the archive, quickbms is a good choice. Generally, the amount of code can be minimized, and it is easy and fast to run.

If your purpose is to load them, such as models, animations, textures, or any reverse engineering of binary files, you cannot rely solely on bms

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...