ROFS Disk Image

Hello, can someone help me about ROFS Disk Image ?

Many console games (PS3,PS2,X360, etc) and some windows games use this Disk Image
here the list http://www.mobygames.com/game-group/middleware-cri

Can someone help me how to mount/open/extract the ROFS Disk Image ?

if we can open it, we can rip many data from the game, pictures, musics, etc. and if we can make the ROFS disk image, modding console games also become easier.

In this web (its in japanese) http://homepage1.nifty.com/~hin/rofs.html
its said that its posible to mount it using Daemon

here the translation (translated by google but i edit it a little) :

ROFS , By turning off the 0x1800 byte from the forefront of the file (header), and change the extension to .iso, Daemon tools can mount it.

 With the header where 0x1800 is gone, then it seems that its retained with the file system ( ISO9660 )

ROFS (CVM) file format memo B = byte (8bit) W = word (16bit) L = long word (32bit) – 0x0000-0xb7ff - ROFS version - GAME TITLE and PUBLISHER_NAME etc. offset 0xb 8001 W: first data length = A 1L: START address START (little endian) 1L: START address START (big endian) 1L: FAT SIZE (little endian) 1L: FAT SIZE (big endian) 1B: 0x68?? 1B: data length X XB: ?? (date?) 4B: 1,000,001?? 2B: When it is 100 or 1,010,101, as for the FAT SIZE-related data end? 1W: The quantities of all to next data length = B here byte become A. Reading B Byte next, it processes.  However, because completely it has become the same contents as A in regard to data which is read next, as for meaning in regard to data of B you do not understand well. For verification? – offset 0xb800 + A + B 1W: data length C: DATA FIRST 1L: START address START (little endian) 1L: START address START (big endian) FILE START address = 0x800*START + 0x 18,001 L: file size (little endian) 1L: file size (big endian) 1B: 0x68?? 1B: data length Y YB: ?? (date?) 4B: 1,000,001?? 1B: file name length Z ZB: file name 2B: 3B 31 (flag?) last 1W where 0 fill are done: In case of data length of following data D 0x0000, it adjusts the length of the following data and is packed (?)There is a place where it is done. The data other than 0x00 appears to has the necessity to search.  The quantities of all to here byte become C. Reading D Byte next, it processes. However, it adjusts and is packed (?)When it was done, data length stops being agreeable.  After returning to DATA FIRST, to FAT SIZE + 0x1800 it repeats processing.


that web also give a tool that i dont understand how to use it ( i read the readme, tried the command line with CVM from .hack//G.U Vol2, but its not working)
get it here http://homepage1.nifty.com/~hin/cvm_div001.lzh

and here the translation for the readme (cvm_div.txt)

cvm_div - will rip files from ROFS type files ( extension .CVM)
example
cmv_div file.cvm show the files inside.
cvm_div -n 45 file.cvm rip the 45th file.
cvm_div -s ADX file.cvm rip files that contain “ADX” in name.

. This software HDD being broken with cause and/or the file being broken, it cannot have responsibility. We ask entirely on self responsibility. When something it is, please to description below. - http://homepage1.nifty.com/~hin/ - mailto:hin@mbk.nifty.com

Thanks,


ROFS (Read-Only Filesystem)
Normal extension .cvm
the header i found from .hack//G.U Vol2 DATA.CVM
CVMH .ROFSROFSBLD Ver.1.52 2003-06-09

more info about ROFS
http://mattwork.potsdam.edu/projects/wiki/index.php/Rofs
http://fuse.sourceforge.net/wiki/index.php/FileSystems?PHPSESSID=e5cdf27103003f1a8426aae4d50b2cce#TOC
http://www.cri-mw.co.jp/products/product_rofs_e.htm