CF 2.0 - CF-REZTOOL

Released v1.2, latest RPO should be supported again.
Last Release probably.

Oh, I also added a great new Feature:
For each single Archive you want to extract you have to enter the following Password:
Code:
I_DID_NOT_PAY_FOR_THIS_TOOL_SINCE_IT_WAS_RELEASED_ON_RAGEZONE_FOR_FREE

This way you cant extract everything at once while being AFK. Truly a marble of engineering, outdid myself with this one:)

Enjoy & Have fun
you mind share what’s the new strategy from rpo to protect the rez files?
 
Nope, woudn't help you anyway. If you can Reverse the Encryption anyway you can also write your own.

Releasing the Source would only lead to Scammers removing the Credits and reselling even more.
 
in case anyone is looking for the recompiled .rez in the format compatible with the common community tools I just made a post disclosing the recompiled .rez for the format that can be opened with the common community tools like REZ EXPLORER 1.1 OR REZ EXPLORER 2


POST LINK
I updated the files on this post with the files from the last crossfire rpo update recompiled

Can you update file BIN to png ?
You can use this tool to convert.bin files to.png, just drag the files into the program and it will do the conversion, or you can run it via cmd to see the commands it allows you to use


the usage commands are:


Usage:
png2bin <input.png> [output.bin]
bin2png <input.bin> [output.png]
<file1> [file2] ... (automatic conversion based on extension)
-dir <directory> (convert all PNG/BIN files in directory)

Note: Windows limits drag-drop to ~100-300 files.
For large batches, use: bin_png.exe -dir "path\to\folder"
 

Attachments

Last edited:
I read a Thread yesterday of a User that was struggling to unpack CrossFire RPO Files, so I looked at it.
I don't know anything about CrossFire but I got an unpacker/packer working for the CrossFire 2.0 Client v2 and I tested it against the latest RPO Client.

So feel free to try out CF-REZTOOL if you had any issues unpacking these REZ Files.

View attachment 302248



Result CrossFire 2.0 Client v2:
Code:
242 total REZ files
242 supported / parseable
0 unsupported

Result RPO Client:
Code:
261 total REZ files
261 supported / parseable
0 unsupported



I didn't try actually using the repacked files but they did match 1:1 to the original ones when unpacking -> repacking, so hopefully it should work.

I wont provide updates probably, this was still fun to play around for a day.

Enjoy & Have fun
Flycro


Usage:
  • Drag/drop .REZ Files onto the .exe to extract and create editable .view folders.
  • Drag/drop multiple files, failures are skipped, successes continue.
  • Drag/drop .view folder to rebuild edited REZ files.
  • Drag/drop raw extracted folder to pack them back into REZ
Or use the CLI manually.
Bash:
./cf-reztool.exe --help

V1.2:
I added a great new Feature. For each archive you have to Extract you have to enter a Password:
Code:
I_DID_NOT_PAY_FOR_THIS_TOOL_SINCE_IT_WAS_RELEASED_ON_RAGEZONE_FOR_FREE

This way you can't extract them while AFK, truly wonderful.


Decode View Mapping:
REZ File Format.view OutputEdit/Rebuild Behavior
CTL.CTL + .world.json + .strings.txtEditable decoded world/BUTE view; rebuild preserves original wrapper when unchanged.
TAD.TAD + .lta when decodable + .world.json + .strings.txtEditable through .lta when decoded; otherwise raw fallback preserved.
ATL.ATL + .world.json + .strings.txtEditable raw/decoded world blob fallback.
XTD, DTX.dds or .tgaEditable texture view; rebuilt with original texture wrapper when possible.
GNP.pngEditable PNG view; rebuilt with original LZMA/image wrapper.
GPJ.jpgEditable JPEG view; rebuilt with original LZMA/image wrapper.
AGT, TGA.agt.tga or .tgaEditable TGA replacement.
VAW, WAV.wavEditable WAV replacement.
BTL.obj + .btl.jsonEditable OBJ for supported meshes; unsupported OBJ keeps original BTL safely.
RPS.rps.txt + .rps.jsonEditable sprite/resource path list.
CNE.nut + .cne.jsonEditable decoded Squirrel script; rebuild re-encodes CNE.
TFC.tfc.decEditable XOR-decoded table; rebuild XORs with 0x10.
OXF.oxf.decEditable XOR-decoded binary; rebuild XORs with 0x20.
SJ.jsEditable JavaScript replacement.
SSC.cssEditable CSS replacement.
LMTH.htmlEditable HTML replacement.
LFI.txtEditable text/list replacement.
XF.xf.txtEditable ClientFX text replacement.
FCF.fcf.txtEditable ClientFX tree text replacement.
FXF.fxf.txtEditable ClientFX config text replacement.
PP, INI, CONFIG, ASSET, GFC, TXTsame extensionEditable text/config view.
KFS, BSF, VEF, FER, FPAsame extension + report sidecar when binaryLZMA-decoded known engine data; editable raw/decoded replacement.
VAN, 2VAN, 3VAN, 4VAN, 5VAN, 6VANsame extension + report sidecarLZMA-decoded navigation volume data; editable replacement.
NAV_WALL, NAV2_WALL, NAV3_WALL, NAV4_WALL, NAV5_WALL, NAV6_WALLsame extension + report sidecarLZMA-decoded navigation wall data; editable replacement.
SDD, DDS.ddsEditable DDS replacement.
4PM.mp4Editable MP4 replacement.
VLF.flvEditable FLV replacement.
MBEW.webmEditable WebM replacement.
FWS.swfEditable SWF replacement.
XAM, BD.ole + .ole.json + .ole.contentsEditable OLE replacement; contents are also reported/extracted.
FIG.gifEditable GIF replacement.
FTT, OTF, TTF.otf or .ttfEditable font replacement.
ZER, REZ.rez + .rez.contents + .rez.viewEditable nested REZ when parseable; otherwise .rez replacement.
XFI / CFSprite contentraw file + .cfsprite.jsonRaw replacement with structured sprite report.
Unknown binary with useful strings.strings.txtDiagnostic view only; original/raw is preserved unless explicitly replaced.
Unknown raw binaryraw file + .info.txt/.json reportRaw replacement/preservation fallback.


Virustotal:
v1.1

V1.2


Password:
1784219587313 - CF 2.0 - CF-REZTOOL - RaGEZONE Forums

I didn't add or remove anything from the RF017.view folder. But why is it that when I repackage it into a .rez file, the size is different from the original?
 
Released v1.2, latest RPO should be supported again.
Last Release probably.

Oh, I also added a great new Feature:
For each single Archive you want to extract you have to enter the following Password:
Code:
I_DID_NOT_PAY_FOR_THIS_TOOL_SINCE_IT_WAS_RELEASED_ON_RAGEZONE_FOR_FREE

This way you cant extract everything at once while being AFK. Truly a marble of engineering, outdid myself with this one:)

Enjoy & Have fun
For some reason the password doesnt work for me in 1.2
1784536225251 - CF 2.0 - CF-REZTOOL - RaGEZONE Forums


Ty for changing the password <3
 
Last edited:
I updated the files on this post with the files from the last crossfire rpo update recompiled


You can use this tool to convert.bin files to.png, just drag the files into the program and it will do the conversion, or you can run it via cmd to see the commands it allows you to use


the usage commands are:
Thank you Very much!
 
I read a Thread yesterday of a User that was struggling to unpack CrossFire RPO Files, so I looked at it.
I don't know anything about CrossFire but I got an unpacker/packer working for the CrossFire 2.0 Client v2 and I tested it against the latest RPO Client.

So feel free to try out CF-REZTOOL if you had any issues unpacking these REZ Files.

View attachment 302248



Result CrossFire 2.0 Client v2:
Code:
242 total REZ files
242 supported / parseable
0 unsupported

Result RPO Client:
Code:
261 total REZ files
261 supported / parseable
0 unsupported



I didn't try actually using the repacked files but they did match 1:1 to the original ones when unpacking -> repacking, so hopefully it should work.

I wont provide updates probably, this was still fun to play around for a day.

Enjoy & Have fun
Flycro


Usage:
  • Drag/drop .REZ Files onto the .exe to extract and create editable .view folders.
  • Drag/drop multiple files, failures are skipped, successes continue.
  • Drag/drop .view folder to rebuild edited REZ files.
  • Drag/drop raw extracted folder to pack them back into REZ
Or use the CLI manually.
Bash:
./cf-reztool.exe --help

V1.2:
I added a great new Feature. For each archive you have to Extract you have to enter a Password:
Code:
I_DID_NOT_PAY_FOR_THIS_TOOL_SINCE_IT_WAS_RELEASED_ON_RAGEZONE_FOR_FREE

This way you can't extract them while AFK, truly wonderful.


Decode View Mapping:
REZ File Format.view OutputEdit/Rebuild Behavior
CTL.CTL + .world.json + .strings.txtEditable decoded world/BUTE view; rebuild preserves original wrapper when unchanged.
TAD.TAD + .lta when decodable + .world.json + .strings.txtEditable through .lta when decoded; otherwise raw fallback preserved.
ATL.ATL + .world.json + .strings.txtEditable raw/decoded world blob fallback.
XTD, DTX.dds or .tgaEditable texture view; rebuilt with original texture wrapper when possible.
GNP.pngEditable PNG view; rebuilt with original LZMA/image wrapper.
GPJ.jpgEditable JPEG view; rebuilt with original LZMA/image wrapper.
AGT, TGA.agt.tga or .tgaEditable TGA replacement.
VAW, WAV.wavEditable WAV replacement.
BTL.obj + .btl.jsonEditable OBJ for supported meshes; unsupported OBJ keeps original BTL safely.
RPS.rps.txt + .rps.jsonEditable sprite/resource path list.
CNE.nut + .cne.jsonEditable decoded Squirrel script; rebuild re-encodes CNE.
TFC.tfc.decEditable XOR-decoded table; rebuild XORs with 0x10.
OXF.oxf.decEditable XOR-decoded binary; rebuild XORs with 0x20.
SJ.jsEditable JavaScript replacement.
SSC.cssEditable CSS replacement.
LMTH.htmlEditable HTML replacement.
LFI.txtEditable text/list replacement.
XF.xf.txtEditable ClientFX text replacement.
FCF.fcf.txtEditable ClientFX tree text replacement.
FXF.fxf.txtEditable ClientFX config text replacement.
PP, INI, CONFIG, ASSET, GFC, TXTsame extensionEditable text/config view.
KFS, BSF, VEF, FER, FPAsame extension + report sidecar when binaryLZMA-decoded known engine data; editable raw/decoded replacement.
VAN, 2VAN, 3VAN, 4VAN, 5VAN, 6VANsame extension + report sidecarLZMA-decoded navigation volume data; editable replacement.
NAV_WALL, NAV2_WALL, NAV3_WALL, NAV4_WALL, NAV5_WALL, NAV6_WALLsame extension + report sidecarLZMA-decoded navigation wall data; editable replacement.
SDD, DDS.ddsEditable DDS replacement.
4PM.mp4Editable MP4 replacement.
VLF.flvEditable FLV replacement.
MBEW.webmEditable WebM replacement.
FWS.swfEditable SWF replacement.
XAM, BD.ole + .ole.json + .ole.contentsEditable OLE replacement; contents are also reported/extracted.
FIG.gifEditable GIF replacement.
FTT, OTF, TTF.otf or .ttfEditable font replacement.
ZER, REZ.rez + .rez.contents + .rez.viewEditable nested REZ when parseable; otherwise .rez replacement.
XFI / CFSprite contentraw file + .cfsprite.jsonRaw replacement with structured sprite report.
Unknown binary with useful strings.strings.txtDiagnostic view only; original/raw is preserved unless explicitly replaced.
Unknown raw binaryraw file + .info.txt/.json reportRaw replacement/preservation fallback.


Virustotal:
v1.1

V1.2


Password:

I followed this process however it didn't do what it was indented to do. The files here were RF018.rez WHICH has sound files and the app here extracted them in extracted folder which had .vaw formats and created the .view folder which had the raw editable format. so I Lowered the sound with simple python script keeping all pcm 16 etc of sound file exactly only lowered the volume around 90% and tested sounds fine in windows then just dragged and dropped the .view folder which had the edited files into the .exe app in your file and it created the rf018.edited.rez which is around 98,876kb roughly whilst original is around 141,054kb any way changed rf018.edited.rez to rf018.rez and placed in game and ran it seems fine in bot mode and in public get instant client error 31_9 so it either because the app compressed it to much and didn't add any padding to files in .view to match them with original wrapped .vaw or whatever compression they were. do you have a fix or update or solution that doesn't require anti cheat bypassing just simple rez edit and repack compile inject exactly as original. if not this is only useful to view files only
 
Last edited:
Back