Page 1 of 3 123 LastLast
Results 1 to 10 of 23
  1. #1
    h4x0r
    h4x0r is offline
    h4x0r's Avatar
    Join Date
    2011 Aug
    Location
    ..\root\home\pgc
    Posts
    826
    Thanks Thanks Given 
    64
    Thanks Thanks Received 
    525
    Thanked in
    205 Posts
    Rep Power
    14

    RaiderZ Online MSF/MRF Unpacker

    Script by WRS
    Game: RaiderZ Online

    For unpack you need QuickBMS Tool.

    PHP Code:
    # RealSpace 3.0 MSF/MRF Unpacker
    # BMS code written by wrs
    # Version 0.4

    # Thanks to aluigi for adding the msf comtype
    # and of course for his wonderful QuickBMS!

    # Download at: http://aluigi.org/quickbms.htm

    ##################################################  ##################

    # version msf compression was added
    quickbmsver 0.5.2

    # Could make sure the right input file was read?
    # When script runs, it finds it from the directory
    #open FDSE "fileindex.msf"

    # read fileindex uncompressed size
    get USIZE long

    # remaining filesize
    get SIZE asize
    math SIZE 
    -= 4

    # save remaining file to mem
    log MEMORY_FILE 4 SIZE

    # create the xor table (only once is needed)
    callfunction CreateXORTable

    # xor data
    callfunction DataXOR

    # compression type (aluigi with his own dump2func tool)
    comtype msf

    # dump the fileindex to memory
    clog MEMORY_FILE3 0 SIZE USIZE MEMORY_FILE


    # OPTIONALLY log the unencrypted fileindex
    #log "fileindex_raw" 0 USIZE MEMORY_FILE3



    # parse the filelist structure
    # this was posted on xentax.com by wrs

    get baseDir input_folder

    set LASTMRF string 
    ""
    set POS3 long 0

    for
      goto 
    POS3 MEMORY_FILE3

      get FSIZE long MEMORY_FILE3    
    # unpacked size
      
    get FMRFPOS long MEMORY_FILE3  # position in the mrf block
      
    get FZSIZE long MEMORY_FILE3   # packed size
      
    get FMRFLEN short MEMORY_FILE3 # mrf filename length
      
    get FNLEN short MEMORY_FILE3   # filename length
      
    get FUN long MEMORY_FILE3      # unknown

      
    getdstring FMRFN FMRFLEN MEMORY_FILE3

      
    # completely longwinded script to swap slashes around
      # i'm reminded qbms treats everything as strings too..
      # hence the sprintf looking stuff

      
    savepos POS MEMORY_FILE3

      set tmpstr string 
    ""
      
    set hasslash long 0

      
    for 0 to FMRFLEN

        getvarchr FNCHAR MEMORY_FILE3 POS
        math pos 
    -= 1

        
    if FNCHAR == '/'
          
    if hasslash == 0
            math hasslash 
    1
          
    endif

          
    math FNCHAR 0x5c # backslash ascii
        
    endif

        if 
    hasslash == 1
          string tmpstr p
    "%s%c" tmpstr FNCHAR
        
    endif

      
    next i

      
    # mrf directory :)
      
    string FMRFDIR r tmpstr

      getdstring FN FNLEN MEMORY_FILE3

      savepos POS3 MEMORY_FILE3

      
    # finished parsing the fileindex record

      
    if LASTMRF != FMRFN
        
    # open the mrf file for reading
        
    string LASTMRF FMRFN

        
    # next allocated file index
        
    open "." LASTMRF
     
      
    endif

      
    # copy the msf file from the mrf block
      # we reuse the memory file for the xor function
      
    log MEMORY_FILE FMRFPOS FZSIZE

      
    # copy size value for function
      
    set SIZE long FZSIZE

      
    # xor data
      
    callfunction DataXOR

      
    # oddity: escape character has no effect
      
    set TMPNAME string ""
      
    string TMPNAME p"%s%s" FMRFDIR FN


      
    # then save it :)
      
    clog TMPNAME 0 FZSIZE FSIZE MEMORY_FILE

      
    # check we aren't at eof in the unencrypted fileindex
      
    if POS3 == USIZE
        cleanexit
      
    endif

    next


    # exit here, only funtions below
    cleanexit

    ##################################################  ##################

    # converted from the assembly function
    # pseudo-c code has been posted on ragezone too

    startfunction CreateXORTable

      putvarchr MEMORY_FILE2 0x10000 0

      
    for 0x10000

        set r long i
        math r 
    += 1

        
    for 8

          set tmp_r long r

          math tmp_r 
    &= 1
          math tmp_r 
    -= 1
          math tmp_r 
    ~= tmp_r

          set poly long 0x85F24C5A
          math poly 
    &= tmp_r

          set tmp_r long r
          math tmp_r 
    >>= 1
          math tmp_r 
    ^= poly

          math r 
    tmp_r

        next j

        putvarchr MEMORY_FILE2 i r

      next i

    endfunction

    startfunction DataXOR

      
    # last character
      
    set LCHAR long SIZE
      math LCHAR 
    -= 1

      
    # second last character
      
    math SLCHAR LCHAR
      math SLCHAR 
    -= 1

      
    # i wasn't sure how to use "next i" to decrement
      
    for 0 to SLCHAR
        
        set EAX long LCHAR
        math EAX 
    -= i

        
    # get the next unmodified byte from the end of file

        
    set EBX long EAX
        math EBX 
    -= 1
        getvarchr CL MEMORY_FILE EBX

        
    # shift right
        
    math CL >>= 1

        
    # mask byte position by xor table size

        
    set EBX long EAX
        math EBX 
    &= 0xFFFF

        
    # get xor value at masked position

        
    getvarchr XVAL MEMORY_FILE2 EBX

        
    # xor values
        
    math CL ^= XVAL

        
    # xor with byte
        
    getvarchr DL MEMORY_FILE EAX
        math DL 
    ^= CL
        putvarchr MEMORY_FILE EAX DL

      next i

      
    # xor first byte with last byte (simplified)

      
    getvarchr AL MEMORY_FILE LCHAR # from end of data
      
    math AL >>= 1
      getvarchr DL MEMORY_FILE2 0 
    # from xor table
      
    math AL ^= DL
      getvarchr DL MEMORY_FILE 0 
    # from start of data
      
    math DL ^= AL
      putvarchr MEMORY_FILE 0 DL 
    # move back to start of data
      

    endfunction

    ##################################################  ##################
    # eof 
    HOW TO Use:

    1. Run QuickBMS
    2. Select script
    3. Select file for unpack
    4. Select dir to unpack (only game folder)
    5. Enjoy


    Or create bat file:

    Code:
    QuickBMS "SCRIPT PATH" "FILE PATH FOR UNPACK" "DIRECTORY TO UNPACK"
    Example:

    Code:
    QuickBMS "C:\Aluigi\QuickBMS\Scripts\rs3_msf.bms" "E:\Games\RaiderZ\fileindex.msf" "E:\Games\RaiderZ\"
    Additional Attached MRF Unpacker / Source Code Included:

    Video HOW TO Use:



    Enjoy

    Please register or login to download attachments.


  2. The Following 3 Users Say Thank You to h4x0r For This Useful Post:


  3. #2
    infidel_
    infidel_ is offline
    New member
    Join Date
    2011 Sep
    Posts
    34
    Thanks Thanks Given 
    2
    Thanks Thanks Received 
    7
    Thanked in
    3 Posts
    Rep Power
    0
    this one is not working anymore with the new client , seems they changed the packing , can we have an updated tool ?

  4. #3
    h4x0r
    h4x0r is offline
    h4x0r's Avatar
    Join Date
    2011 Aug
    Location
    ..\root\home\pgc
    Posts
    826
    Thanks Thanks Given 
    64
    Thanks Thanks Received 
    525
    Thanked in
    205 Posts
    Rep Power
    14
    Link for download newest client.

  5. #4
    infidel_
    infidel_ is offline
    New member
    Join Date
    2011 Sep
    Posts
    34
    Thanks Thanks Given 
    2
    Thanks Thanks Received 
    7
    Thanked in
    3 Posts
    Rep Power
    0

  6. #5
    h4x0r
    h4x0r is offline
    h4x0r's Avatar
    Join Date
    2011 Aug
    Location
    ..\root\home\pgc
    Posts
    826
    Thanks Thanks Given 
    64
    Thanks Thanks Received 
    525
    Thanked in
    205 Posts
    Rep Power
    14
    Idk but download speed < 10kb/sec. For which server the client? This ?

  7. #6
    infidel_
    infidel_ is offline
    New member
    Join Date
    2011 Sep
    Posts
    34
    Thanks Thanks Given 
    2
    Thanks Thanks Received 
    7
    Thanked in
    3 Posts
    Rep Power
    0
    yes, its the new client for CBT , they didnt released to public yet but i found it
    there is a torrent too if you want

  8. #7
    h4x0r
    h4x0r is offline
    h4x0r's Avatar
    Join Date
    2011 Aug
    Location
    ..\root\home\pgc
    Posts
    826
    Thanks Thanks Given 
    64
    Thanks Thanks Received 
    525
    Thanked in
    205 Posts
    Rep Power
    14
    Quote Originally Posted by infidel_ View Post
    torrent too if you want
    Share

  9. #8
    infidel_
    infidel_ is offline
    New member
    Join Date
    2011 Sep
    Posts
    34
    Thanks Thanks Given 
    2
    Thanks Thanks Received 
    7
    Thanked in
    3 Posts
    Rep Power
    0

  10. #9
    h4x0r
    h4x0r is offline
    h4x0r's Avatar
    Join Date
    2011 Aug
    Location
    ..\root\home\pgc
    Posts
    826
    Thanks Thanks Given 
    64
    Thanks Thanks Received 
    525
    Thanked in
    205 Posts
    Rep Power
    14
    Try this

  11. #10
    infidel_
    infidel_ is offline
    New member
    Join Date
    2011 Sep
    Posts
    34
    Thanks Thanks Given 
    2
    Thanks Thanks Received 
    7
    Thanked in
    3 Posts
    Rep Power
    0
    doesnt work

Page 1 of 3 123 LastLast

Similar Threads

  1. Dragon Oath AXP Unpacker
    By h4x0r in forum Game Files
    Replies: 20
    Last Post: 2020-09-03, 04:36 PM
  2. Dragonica Online DAT Unpacker / Packer
    By h4x0r in forum Game Files
    Replies: 15
    Last Post: 2018-08-23, 08:40 PM
  3. [Release] FistsOfFu tws unpacker
    By Dwar in forum Game Files
    Replies: 4
    Last Post: 2012-06-13, 10:07 AM
  4. Unpacker / De-compiler
    By dubblekiller in forum Research Requests
    Replies: 1
    Last Post: 2011-03-02, 01:03 AM
  5. [TOOLS] Aika Bin Unpacker
    By remka in forum Aika Bots, Hacks, Cheats
    Replies: 9
    Last Post: 2010-11-26, 03:41 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •