📦 Extract .pack (QuickBMS)

Extract .pack Client Files

Step-by-step, includes a custom BMS script and a batch runner to process all .pack files recursively.

Tutorial

  1. Download QuickBMS from the link above and extract it.
  2. Inside the QuickBMS folder, create two folders: Input and Output.
  3. Create a file named TQ_Pack.bms and paste the script below.
  4. Create another file named RUN.bat and paste the batch code below.
  5. Copy your client data folder (e.g., c3 or data) into QuickBMS/Input. All .pack files should be there.
  6. Run RUN.bat.
  7. Wait until it finishes. Extracted files will appear under the Output folder.

Script: TQ_Pack.bms

# Eudemons Online *.pack
# script for QuickBMS http://quickbms.aluigi.org

goto 28
get COUNT long

for i = 0 < COUNT
    get NAMESZ byte
    getdstring NAME NAMESZ
    get DSIZE long
    get CSIZE long
    get ROFFSET long

    putarray 0 i NAME
    putarray 1 i DSIZE
    putarray 2 i CSIZE
    putarray 3 i ROFFSET
next i

savepos BOFFSET

for i = 0 < COUNT
    getarray NAME 0 i
    getarray DSIZE 1 i
    getarray CSIZE 2 i
    getarray ROFFSET 3 i

    xmath DOFFSET "BOFFSET + ROFFSET"

    CLog NAME DOFFSET CSIZE DSIZE
next i

Batch Runner: RUN.bat

@echo off
setlocal

:: Set paths
set BMS_SCRIPT=TQ_Pack.bms
set QUICKBMS=quickbms.exe
set PACK_DIR=Input
set OUTPUT_DIR=Output

:: Create output directory if it doesn't exist
if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"

:: Loop through each .pack file in folder & subfolder
for /r "%PACK_DIR%" %%f in (*.pack) do (
    echo Processing %%f...
    "%QUICKBMS%" -o -Y "%BMS_SCRIPT%" "%%f" "%OUTPUT_DIR%"
)

echo Done!
pause

Special thanks to Kent for providing the BMS script.