Finn Posted January 29 Share Posted January 29 Hello guys I'm trying to extract some files from DragonRaja using the script posted on legacy The script works for all files except model file, I would like some help as I don't understand much about extracting files I am attaching the script file DragonRajaUnpacker.bms and the file miscs.png and I will be uploading models.png to the gdrive (the file is large) The unpacker works on the miscs.png file, but it does not work on the models.png file I would like some help getting DragonRajaUnpacker to work correctly Below is the error models.png (gdrive) - archive is located in DragonRajaGame\Azure\Output\package, models.png & models.pk1.png DragonRajaUnpacker.bms Spoiler # Dragon Raja png Archives Unpacker by Bigchillghost # script for QuickBMS http://quickbms.aluigi.org idstring "\xEF\x23\xCA\x4D" get EndOfFile long set Version long 0 set EntrySize long 0x114 get Skip long if Skip == 0x56A089B7 math Skip = 0x110 else idstring "\xB7\x89\xA0\x56" math Version = 1 math EntrySize = 0x118 math Skip = 0x114 endif math EndOfFile - Skip goto EndOfFile get Offset long math Offset ^ 0x62A4F9E1 math Skip - 0xC goto Skip 0 SEEK_CUR get FileCount long print "Preprocessing entries. This might take a while for large archives..." goto Offset comtype zlib set Size long FileCount math Size * EntrySize putvarchr MEMORY_FILE Size 0 log MEMORY_FILE 0 0 append set i long 0 for i = 0 < FileCount get ZSize long get Unknown long math ZSize ^ 0x62A4F9E1 savepos Offset clog MEMORY_FILE Offset ZSize EntrySize goto ZSize 0 SEEK_CUR next i append get Path basename string Path + \ goto 0 MEMORY_FILE for i = 0 < FileCount getdstring RelName 0x100 MEMORY_FILE set Name string "" string Name p "%s%s" Path RelName get Skip long MEMORY_FILE get Offset long MEMORY_FILE if Version == 1 get Skip long MEMORY_FILE endif get Size long MEMORY_FILE get ZSize long MEMORY_FILE get Skip long MEMORY_FILE if ZSize == Size log Name Offset Size else goto Offset set RelOffset long Offset get Signature long if Signature == 0xF92D6B5C comtype lz4 get isCompressed short get maxCapacity long get dstCapacity long get OffsetCount long set j long 0 for j = 0 < OffsetCount get OffsetArray[j] long next j set chunkCount long OffsetCount math chunkCount - 1 math j = 0 #putvarchr MEMORY_FILE2 Size 0 log MEMORY_FILE2 0 0 append do math Offset = OffsetArray[j] math j + 1 set ZipSize long OffsetArray[j] math ZipSize - Offset math Offset + RelOffset if chunkCount == j set UnzipSize long dstCapacity else set UnzipSize long maxCapacity endif if UnzipSize != ZipSize clog MEMORY_FILE2 Offset ZipSize UnzipSize else log MEMORY_FILE2 Offset UnzipSize endif while j < chunkCount append log Name 0 Size MEMORY_FILE2 else math Signature & 0xFF if Signature == 0x78 comtype zlib elif Signature == 0x5D comtype lzma else print "Address %Offset|hex%: unknown compression!" break endif clog Name Offset ZSize Size endif endif next i I would be grateful if I could receive any help, thanks. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now