Post: [RELEASE] [PS3] patch_mp.ff's (COD4, COD5, MW2)
07-01-2010, 09:47 PM #1
IW_JOSH
►►►►►
(adsbygoogle = window.adsbygoogle || []).push({});
PS3 patch_mp.ff's COD4, COD5, MW2


You must login or register to view this content.[/CENTER]

Guys i've been working on this for such a long time and to be honest am a little bit fed up with working on it by myself so im going to release all the knowledge i've gained over the past 6 weeks with regard to modding the COD4, COD5 and MW2 PS3 patch and will try my best to answer your questions. This is not anything to do with decrypting the HDD, this is about the decompressing and recompressing of the actual patch itself.

Firstly these are all PS3 patches which belong to myself, they are generic meaning they will work on all PS3's, so if a modded patch was produced and shared with the community, it could be re-encrypted individually and replaced onto the original patch.

Each patch is compressed with ZLIB and providing the correct headers are found, each individual GSC can be decompressed and compressed. From what i understand the patches are compressed with a window bit value of 15 (maximum compression). The ZLIB headers on XBOX 360 patches start with the bytes '38 DA'

Offzip can be used to decompress PS3 patches which is what i have used on all of the patches to get them decompessed. This then allows me to view the patches in FF viewer (Providing the correct file convention is used) and can allow me to edit them. Unfortunately because FF viewer is designed to work with PC and XBOX 360 patches, it will not save PS3 fast files with the correct compression format as PS3 FF's headers change from each block.

So basically the problem i have is that i cannot get the patches compressed correctly which is what i understand a lot of members have a similar problem. Ideally what we need to find is the ZLIB headers for the PS3 patches, then if we find the correct header relating to the correct GSC (for example the _missions.gsc - the one which contains "onPlayerSpawned" used for entering dvars into) then edit that file with some dvars, get it recompressed with the correct compression ration (Pretty sure its a window bits value of 15) then we would have a working modded patch, which then leads us onto the next problem......

From what TheUnk0wn has said is that the PS3 HDD is checksummed, i have been unable to check this out as i have been really busy lately, anyway if this is the case we will need to find an alternate method of getting the patch onto the HDD through bypassing this checksum. For those who are unsure of what a checksum is, it is a digit which checks the integrity of a file to make sure any errors or changes havent occurred. Anyway, i have a couple of ideas on how to get around this checksum, firstly you could actually work out the checksum which was done on the XBOX 360 version of COD4 but to be honest, this isn't going to happen. My second method is a much more realistic idea which could actually work, anyway when you download a patch from PSN it is encrypted as a .PKG and actually contains the patch itself (obviously) along with several other files (such as the eboot.bin etc). If the locations of the patch could be found in the .PKG it will load onto the PS3 correctly and has the potential to bypass the checksum. I have tried this method myself and looked through the .PKG but cannot find any similar data to the patch_mp.ff, i have also tried decrypting the .pkg using the PS3's HDD decryption method but had no luck. I have however managed to add the patch_mp.ff to the .PKG and manage to get it to download and install half-way before giving an error so i think it is the right route to go down, also since having hunter as a friend (doubt for much longer though but understand my reasons for posting this) when he loads up games, he will go offline, then online when loading every single game up (which is what happens when you download a patch to your ps3, you will go offline, download the patch, then come back online again). Anyway i think thats just about everything, as mentioned this is not a 'OmG hOw D0 u DeCyPt DA HaRdDrIv3?' thread, this is for those who have already reached that stage and are stuck on the next part.

Here are the PS3 Patches:

1.10 Patch MW2: You must login or register to view this content.
COD5: You must login or register to view this content.
COD4: You must login or register to view this content.

Advice:The COD4 and MW2 patches CAN be opened in FF viewer providing you dont change the file names, but as explained earlier, they cannot be saved correctly.

Credits to:
Prasoc - From S7, Creator of the FF Viewer helped me understand the patches a lot more and how they worked.
Hunter - Helped me hugely but lost contact with him when i decrypted the patch. Fantastic guy and don't hate him for not releasing his hacks.

I would appreciate some +REP for all my hard work and time that i've put into this and thank Hunter as well for finding out this exploit, if it wasn't for him, i can guarantee we wouldn't be here now, we would still be talking about some packet injection crap.

DONT POST ASKING TO GET IN A LOBBY, I HAVENT EVEN GOT IT WORKING! I AM ASKING FOR ASSISTANCE
(adsbygoogle = window.adsbygoogle || []).push({});

The following 18 users say thank you to IW_JOSH for this useful post:

3RIC, Alfa, AtlasK, Aule, BSLICER25, Carbon0x, chris2k7sears, dAs_sHMu, DEREKTROTTER, KluTcHxMoDz, ProTnx, Redfield, shotkillah55, WhiteGuyOnline, x_DaftVader_x, xxbabykickerxx, XxprokillahxX
07-04-2010, 07:18 PM #47
Deadpool
Cake is a lie
Originally posted by JOSH View Post
These arnt from the .PKG, they are from my HDD. But i was just saying that within a .PKG it contains loads of other things such as the eboot.bin because when you decrypt your HDD these files will be present on your HDD. And the only place they could have come from would be the .PKG. I dont have the eboot.bin or the other files, only the patches.


Hmm... Could you upload the partlog you made so i can decrypt the whole patch, my ps3 is a slim @ 3.40
07-04-2010, 08:42 PM #48
Aule
{([<Milk>])}
Originally posted by JOSH View Post
PS3 patch_mp.ff's COD4, COD5, MW2


You must login or register to view this content.[/CENTER]

Guys i've been working on this for such a long time and to be honest am a little bit fed up with working on it by myself so im going to release all the knowledge i've gained over the past 6 weeks with regard to modding the COD4, COD5 and MW2 PS3 patch and will try my best to answer your questions. This is not anything to do with decrypting the HDD, this is about the decompressing and recompressing of the actual patch itself.

Firstly these are all PS3 patches which belong to myself, they are generic meaning they will work on all PS3's, so if a modded patch was produced and shared with the community, it could be re-encrypted individually and replaced onto the original patch.

Each patch is compressed with ZLIB and providing the correct headers are found, each individual GSC can be decompressed and compressed. From what i understand the patches are compressed with a window bit value of 15 (maximum compression). The ZLIB headers on XBOX 360 patches start with the bytes '38 DA'


Ok here are a few things I picked up just nosing around the files last few days.

PS3 zlib headers start with "78DA". Use simplyzip to decompress and recompress zlib. To get simplyzip to work, you have to remove this ps3 header from the patch(re-add it when done editing)
    49576666753130300000010D0101CACC3F5350A340000000020000000000035B
It's the header that leads up to the first '78DA". 78DA = best compression rate for zlib, 38DA is mediocre.

Tool around with it, see what happens. Hope I was somewhat helpful. :y:

The following user thanked Aule for this useful post:

IW_JOSH
07-05-2010, 01:50 AM #49
fightinillini94
Climbing up the ladder
This guy is working on ps3 ff viewer: You must login or register to view this content.
07-05-2010, 10:05 AM #50
fisher42uk
Little One
No he isn't he has stopped as It was leaked,
07-05-2010, 12:15 PM #51
IW_JOSH
►►►►►
Originally posted by Aule View Post
Ok here are a few things I picked up just nosing around the files last few days.

PS3 zlib headers start with "78DA". Use simplyzip to decompress and recompress zlib. To get simplyzip to work, you have to remove this ps3 header from the patch(re-add it when done editing)
    49576666753130300000010D0101CACC3F5350A340000000020000000000035B
It's the header that leads up to the first '78DA". 78DA = best compression rate for zlib, 38DA is mediocre.

Tool around with it, see what happens. Hope I was somewhat helpful. :y:


Ill take a look at it sometime, did you manage to get it to work? Try saving a file which starts with the '78 DA' from the patch to just before the next '78 DA' and save it as a separate file. It should decompress just one .GSC

The following user thanked IW_JOSH for this useful post:

Aule
07-05-2010, 01:15 PM #52
Aule
{([<Milk>])}
Originally posted by JOSH View Post
Ill take a look at it sometime, did you manage to get it to work? Try saving a file which starts with the '78 DA' from the patch to just before the next '78 DA' and save it as a separate file. It should decompress just one .GSC


Hey, I've been making progress.

After you remove the original IW header, you can decompress it. After you have the decompressed version you can split the file by searching for 78DA, and doing as you suggested (copy from 78DA to before next 78DA and copy to new file). You can then decompress that file to get the GSC.

Proof:
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

/*
Action SAB/SD = DD
Attackers objective: Bomb both of 2 positions
Defenders objective: Defend these 2 positions / Defuse planted bombs
Round ends: When one team defends for duration of match, both sites are destroyed.
Map ends: When one team reaches the score limit, or time limit or round limit is reached
Respawning: Players respawn indefinetly and immediately

Level requirements
------------------
Allied Spawnpoints:
classname mp_sd_spawn_attacker
Allied players spawn from these. Place at least 16 of these relatively close together.

Axis Spawnpoints:
classname mp_sd_spawn_defender
Axis players spawn from these. Place at least 16 of these relatively close together.

Spectator Spawnpoints:
classname mp_global_intermission
Spectators spawn from these and intermission is viewed from these positions.
Atleast one is required, any more and they are randomly chosen between.

Bombzones:
classname trigger_multiple
targetname bombzone
script_gameobjectname bombzone
script_bombmode_original <if defined this bombzone will be used in the original bomb mode>
script_bombmode_single <if defined this bombzone will be used in the single bomb mode>
script_bombmode_dual <if defined this bombzone will be used in the dual bomb mode>
script_team Set to allies or axis. This is used to set which team a bombzone is used by in dual bomb mode.
script_label Set to A or B. This sets the letter shown on the compass in original mode.
This is a volume of space in which the bomb can planted. Must contain an origin brush.

Bomb:
classname trigger_lookat
targetname bombtrigger
script_gameobjectname bombzone
This should be a 16x16 unit trigger with an origin brush placed so that it's center lies on the bottom plane of the trigger.
Must be in the level somewhere. This is the trigger that is used when defusing a bomb.
It gets moved to the position of the planted bomb model.

Level script requirements
-------------------------
Team Definitions:
game["attackers"] = "allies";
game["defenders"] = "axis";
This sets which team is attacking and which team is defending. Attackers plant the bombs. Defenders protect the targets.

Exploder Effects:
Setting script_noteworthy on a bombzone trigger to an exploder group can be used to trigger additional effects.

multiple bombs
multiple targets
spawning
round handling when both sites are destroyed

*/

/*QUAKED mp_dd_spawn_attacker_a (0.75 0.0 0.5) (-16 -16 0) (16 16 72)
Axis players spawn near bomb a.*/

/*QUAKED mp_dd_spawn_attacker_b (0.75 0.0 0.5) (-16 -16 0) (16 16 72)
Axis players spawn near bomb b.*/

/*QUAKED mp_dd_spawn_attacker (0.75 0.0 0.5) (-16 -16 0) (16 16 72)
Axis players spawn away from enemies and near their team at one of these positions.*/

/*QUAKED mp_dd_spawn_defender (0.0 0.75 0.5) (-16 -16 0) (16 16 72)
Allied players spawn away from enemies and near their team at one of these positions.*/

/*QUAKED mp_dd_spawn_defender_a (0.0 0.75 0.5) (-16 -16 0) (16 16 72)
Allied players spawn near bomb site a.*/

/*QUAKED mp_dd_spawn_defender_b (0.0 0.75 0.5) (-16 -16 0) (16 16 72)
Allied players spawn near bomb site b.*/

/*QUAKED mp_dd_spawn_attacker_start (0.0 1.0 0.0) (-16 -16 0) (16 16 72)
Attacking players spawn randomly at one of these positions at the beginning of a round.*/

/*QUAKED mp_dd_spawn_defender_start (1.0 0.0 0.0) (-16 -16 0) (16 16 72)
Defending players spawn randomly at one of these positions at the beginning of a round.*/

main()
{
if(getdvar("mapname") == "mp_background")
return;

maps\mp\gametypes\_globallogic::init();
maps\mp\gametypes\_callbacksetup::SetupCallbacks();
maps\mp\gametypes\_globallogic::SetupCallbacks();

registerRoundSwitchDvar( level.gameType, 1, 0, 9 );
registerTimeLimitDvar( level.gameType, 3, 0, 1440 );
registerScoreLimitDvar( level.gameType, 0, 0, 500 );
registerRoundLimitDvar( level.gameType, 3, 0, 12 );
registerWinLimitDvar( level.gameType, 2, 0, 12 );
registerNumLivesDvar( level.gameType, 0, 0, 10 );
registerHalfTimeDvar( level.gameType, 0, 0, 1 );

level.objectiveBased = true;
level.teamBased = true;
level.onPrecacheGameType = :GaspnPrecacheGameType;
level.onStartGameType = :GaspnStartGameType;
level.getSpawnPoint = ::getSpawnPoint;
level.onSpawnPlayer = :GaspnSpawnPlayer;
level.onDeadEvent = :GaspnDeadEvent;
level.onTimeLimit = :GaspnTimeLimit;
level.onNormalDeath = :GaspnNormalDeath;
level.initGametypeAwards = ::initGametypeAwards;
level.dd = true;
level.bombsPlanted = 0;
level.ddBombModel = []

setBombTimerDvar();

makeDvarServerInfo( "ui_bombtimer_a", -1 );
makeDvarServerInfo( "ui_bombtimer_b", -1 );

game["dialog"]


Edit: I'm going to put up a You must login or register to view this content.

The following user thanked Aule for this useful post:

IW_JOSH
07-06-2010, 03:05 PM #53
fightinillini94
Climbing up the ladder
Originally posted by JOSH View Post
Ill take a look at it sometime, did you manage to get it to work? Try saving a file which starts with the '78 DA' from the patch to just before the next '78 DA' and save it as a separate file. It should decompress just one .GSC


Hey can you please upload the 1.11 patch_mp please
07-07-2010, 03:17 PM #54
Aule
{([<Milk>])}
Originally posted by fightinillini94 View Post
Hey can you please upload the 1.11 patch_mp please


1.11 patch_mp is released somewhere on the forum, let me search for it...

You must login or register to view this content.

Just make sure you use your own ps3 header, as that is a scotland patch, not a US patch (different region header)

The following user thanked Aule for this useful post:

fightinillini94
07-07-2010, 03:25 PM #55
fightinillini94
Climbing up the ladder
Originally posted by Aule View Post
1.11 patch_mp is released somewhere on the forum, let me search for it...

You must login or register to view this content.

Just make sure you use your own ps3 header, as that is a scotland patch, not a US patch (different region header)


Ok thanks man

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo