Request : unpack
Some Games File : http://www.mediafire.com/file/3uo339a4k ... itor_0.rar
//Error Script//
http://image.prntscr.com/image/daae822b ... 1aae6.jpeg
//Use This Script //
Code: Select all
# Unreal Engine 4 - Unreal Tournament 4 (*WindowsNoEditor.pak) (script 0.4.3)
# script for QuickBMS http://quickbms.aluigi.org
# set your AES_KEY here as text or C string ("\x11\x22...")
set AES_KEY binary ""
putarray 10 -1 "KIWIKIWIKIWIKIWIKIWIKIWIKIWIKIWI" # first beta of Street Fighter V
putarray 10 -1 "_aS4mfZK8M5s5KWC2Lz2VsFnGKI7azgl" # current version of Street Fighter V
putarray 10 -1 "bR!@nbR0wnc@rychR!$d@nd@v3d3R3kj!mj0$hk3v!nm!ch@3lm!k3s3@nst3v3t!m" # Victory: The Culling
putarray 10 -1 "casd#55@#$%323!$^#b%05sa5W|hhaf4365s52ss51|55m!|{55s^@@36f233|-|0w@%3g8hssDk35/!Nm|_|%ds23%a32d5&23as3%12p|-|y$t3ds562d23fav3c@dyw38#49" # Victory: The Culling
putarray 10 -1 ""
math AES_KEY_IS_SET = 0
# 1 = HIT
math WORKAROUND = 0
goto -0x2c
get MAGIC long #idstring "\xe1\x12\x6f\x5a" # 0x5a6f12e1
if MAGIC == 0x5a6f12e1
# ok
elif MAGIC == 0xe1126f5a
endian big
else
# HIT game 0x1233a
math WORKAROUND = 1
endif
get VERSION long
get OFFSET longlong
get SIZE longlong
getdstring HASH 20
if WORKAROUND == 1
math VERSION = 3
endif
goto OFFSET
callfunction GET_NAME 1
get FILES long
for i = 0 < FILES
callfunction GET_NAME 1
savepos TMP_OFF
get OFFSET longlong
get ZSIZE longlong
get SIZE longlong
get ZIP long
if WORKAROUND == 1
getdstring HASH 20
elif VERSION <= 1
get TSTAMP longlong
endif
getdstring HASH 20
math CHUNKS = 0
math ENCRYPTED = 0
if VERSION >= 3
if ZIP != 0
get CHUNKS long
for x = 0 < CHUNKS
get CHUNK_OFFSET longlong
get CHUNK_END_OFFSET longlong
putarray 0 x CHUNK_OFFSET
putarray 1 x CHUNK_END_OFFSET
next x
endif
get ENCRYPTED_ byte
get CHUNK_SIZE long
endif
if WORKAROUND == 1
math ENCRYPTED = 0
endif
comtype copy # for AES
if ZIP & 1
comtype zlib
elif ZIP & 2
comtype gzip
elif ZIP & 4
comtype snappy
endif
if CHUNKS > 0
putvarchr MEMORY_FILE SIZE 0
log MEMORY_FILE 0 0
append
for x = 0 < CHUNKS
getarray CHUNK_OFFSET 0 x
getarray CHUNK_END_OFFSET 1 x
math CHUNK_ZSIZE = CHUNK_END_OFFSET
math CHUNK_ZSIZE - CHUNK_OFFSET
if ENCRYPTED != 0
callfunction SET_AES_KEY 1
math CHUNK_ZSIZE x 16
endif
clog MEMORY_FILE CHUNK_OFFSET CHUNK_ZSIZE CHUNK_SIZE
next x
append
encryption "" ""
log NAME 0 SIZE MEMORY_FILE
else
# the file offset points to an entry containing
# the "same" OFFSET ZSIZE SIZE ZIP HASH ZERO fields,
# just an additional backup... so let's skip them
savepos BASE_OFF
math BASE_OFF - TMP_OFF
math OFFSET += BASE_OFF
if ENCRYPTED != 0
callfunction SET_AES_KEY 1
math ZSIZE x 16
endif
clog NAME OFFSET ZSIZE SIZE
encryption "" ""
endif
next i
startfunction SET_AES_KEY_ASK
math AES_KEY_IS_SET = 1
print "The archive is encrypted, select the number of the key to use or type yours:"
for z = 0
getarray KEY 10 z
if KEY == ""
break
endif
print "%z%: %KEY%"
next z
set KEY unknown "???"
strlen TMP KEY
if TMP <= 2
getarray AES_KEY 10 KEY
else
set AES_KEY binary KEY
endif
print "KEY: %AES_KEY%"
endfunction
startfunction SET_AES_KEY
if AES_KEY_IS_SET == 0
callfunction SET_AES_KEY_ASK 1
endif
encryption aes AES_KEY "" 0 32
endfunction
startfunction GET_NAME
get NAMESZ signed_long
if NAMESZ >= 0
getdstring NAME NAMESZ
else
math NAMESZ n NAMESZ
math NAMESZ * 2
getdstring NAME NAMESZ
set NAME unicode NAME
endif
endfunction