Hacking Is it possible to remove the Fatal Frame U censhorship via Loadiine?

deakphreak

Spiffy Hacks
Member
Joined
Apr 21, 2009
Messages
219
Trophies
0
XP
296
Country
United States
Someone just needs to attempt it and play around with the files to see what happens. I am sure it can be done, but may need special packing / unpacking tools and unsure if a signing of the file is required.

There is nothing wrong with wanting to play the game as it was intended. I'd love to as well. Grow up kids and keep this thread on track so it doesn't get locked. I'd try it myself, but don't have the Jap version.
 

DarkKaine

Well-Known Member
Member
Joined
Dec 1, 2014
Messages
373
Trophies
0
Age
35
XP
1,287
Country
Netherlands
I already looked at the file format a while ago. Most of the data is inside a data container and it's also compressed. You'd need to decompress, edit and repack the archive and then load it with whatever. I may write a tool for this but no promises. Also, I believe the European version of the game has no censorship. Correct me if I'm wrong. If there is, this might be worth looking into again.
 
  • Like
Reactions: Net-KILLER

Ruben Burgt

Active Member
Newcomer
Joined
Oct 20, 2015
Messages
30
Trophies
0
Age
32
XP
79
Country
Netherlands
I already looked at the file format a while ago. Most of the data is inside a data container and it's also compressed. You'd need to decompress, edit and repack the archive and then load it with whatever. I may write a tool for this but no promises. Also, I believe the European version of the game has no censorship. Correct me if I'm wrong. If there is, this might be worth looking into again.
The European version is also censored. Just like the NOA version, has the European version the lingerie outfits removed along with censored cutscenes.

Wouldn't it be better to translate the original Japanese version instead of uncensoring the western versions?
 
Last edited by Ruben Burgt,

Net-KILLER

computer says no
Member
Joined
Oct 22, 2009
Messages
611
Trophies
0
Location
in a pineapple under the sea
XP
526
Country
Saint Kitts and Nevis
I already looked at the file format a while ago. Most of the data is inside a data container and it's also compressed. You'd need to decompress, edit and repack the archive and then load it with whatever. I may write a tool for this but no promises. Also, I believe the European version of the game has no censorship. Correct me if I'm wrong. If there is, this might be worth looking into again.
The eur Version is cencored too
 
  • Like
Reactions: Ruben Burgt

Elusivo

Shinobu Molester
Member
Joined
Jun 21, 2013
Messages
486
Trophies
0
XP
702
Country
Portugal
What is the format of the data container?
Haven't looked at the files yet, I also want to uncensor my eur copy, am waiting for my jpn game to get the original files.
 

Elusivo

Shinobu Molester
Member
Joined
Jun 21, 2013
Messages
486
Trophies
0
XP
702
Country
Portugal
Ok, since i can't get my hands on a save with the costumes unlocked i'm giving this for somebody to test for me, with, obviously, no guaranty that it will work.

Uncompress the folder i attached here, make a backup of the archive00.lnk file from the game and keep it safe since that file will be modified and i'm not going to do an unmodify patch, then put a copy of it into the folder and run the batch. Copy the resulting archive00.lnk file into ur sdcard and try the the game to see if u got both bikini's.

Miu's standard clothing i thing was modified too, that one i can test it myself, will do when i have more time.

BTW, this is for the eur game.
 

Attachments

  • ffp.7z
    171.4 KB · Views: 192
Last edited by Elusivo,

DarkKaine

Well-Known Member
Member
Joined
Dec 1, 2014
Messages
373
Trophies
0
Age
35
XP
1,287
Country
Netherlands
Ok, since i can't get my hands on a save with the costumes unlocked i'm giving this for somebody to test for me, with, obviously, no guaranty that it will work.

Uncompress the folder i attached here, make a backup of the archive00.lnk file from the game and keep it safe since that file will be modified and i'm not going to do an unmodify patch, then put a copy of it into the folder and run the batch. Copy the resulting archive00.lnk file into ur sdcard and try the the game to see if u got both bikini's.

Miu's standard clothing i thing was modified too, that one i can test it myself, will do when i have more time.
Ugh, beat me to it :P
I was just working on an extractor for the files, but I'm having trouble determining some of the values in the archive. For some reason some of the files extracted are incomplete and I have no clue where the rest of the data is.
 

Elusivo

Shinobu Molester
Member
Joined
Jun 21, 2013
Messages
486
Trophies
0
XP
702
Country
Portugal
Well keep working on it, it would be veery lucky if this patch works on 1st try, I didn't even touch the filenames and/or it's pointers and it might be needed to edit those also, but I haven't unlocked any costume yet, so am just throwing this out here as is in case somebody can test it.
 

Ruben Burgt

Active Member
Newcomer
Joined
Oct 20, 2015
Messages
30
Trophies
0
Age
32
XP
79
Country
Netherlands
So the plan is to replace the bonus outfits with its original uncensored outfits?
That sounds amazing a it would be awesome if it is possible, but weren't the story and the cutscenes also edited?
I don't see how that can't be restored.
 

Elusivo

Shinobu Molester
Member
Joined
Jun 21, 2013
Messages
486
Trophies
0
XP
702
Country
Portugal
Ye, they din even delete the jpn bikinis from the eur version, they just added the samus and zelda ones, and changed one of Miu's outfits which I'm guessing is the default one.

There is only one video that was changed, where Miu is wearing the gravure bikini in the jpn game and they changed it to the standard outfit in the eur version, it's only a matter of overwriting it with the jpn one.

The story I dunno. Actually, I din even try to play the jpn game, does it have english dialogs also? in the jpn game files there are references to english and other languages.
 

DarkKaine

Well-Known Member
Member
Joined
Dec 1, 2014
Messages
373
Trophies
0
Age
35
XP
1,287
Country
Netherlands
Well keep working on it, it would be veery lucky if this patch works on 1st try, I didn't even touch the filenames and/or it's pointers and it might be needed to edit those also, but I haven't unlocked any costume yet, so am just throwing this out here as is in case somebody can test it.
I'd be more worried about a checksum, I'm still not sure about 1 of the values and I'm thinking that might be it.
Another oddity is that the FST has 3616 (and a reference to a cpp file which i didn't count) entries while the archive has 3515. This is from the JP version.
 

Elusivo

Shinobu Molester
Member
Joined
Jun 21, 2013
Messages
486
Trophies
0
XP
702
Country
Portugal
ye, the jpn one has 3617 files, the eur has 4100+ iirc.

I did try to do a quick change of the standard outfit yesterday but then the game crashed when trying to read it, I also thought of checksum, there's one value before the outfit filesize that I don't know what it is which may indeed be an hash, but I used it and even so it crashed, that's why I wanted a full save to see if it crashes with the other outfits too.

Later when I get home I'll try to edit the filenames and pointers to see if I can change the standard outfit.
 
  • Like
Reactions: Shinon

DarkKaine

Well-Known Member
Member
Joined
Dec 1, 2014
Messages
373
Trophies
0
Age
35
XP
1,287
Country
Netherlands
Good stuff, and I think I figured everything out.
Now I "just" need to write the decompression routine. The archive has split chunks of data for some files and was generally a pain in the ass to figure out.
I'll release the unpacker soon :)
 

Elusivo

Shinobu Molester
Member
Joined
Jun 21, 2013
Messages
486
Trophies
0
XP
702
Country
Portugal
@DarkKaine Oh, but there's already a quickbms script available to unpack, that's what i used, can't get it to pack them back tho, that would help... http://aluigi.altervista.org/bms/fatal_frame.bms
If you can make it repack that would be great.

So what i said above as being a hash, it's not, it's the deflated size of the files. Never really ventured into an archive so all this is new to me.
From what i understand from going deeper into the archive i can see it starts with pointers for the, i think zlib files (which like u say should be split into chunks as i tried to directly deflate only one model and indeed only got a piece of the file). So what i gathered is that we can get the filename of each file for that pointer by going into the lfmo file, which has the pointers for the filenames and after the pointer it has a number, then we can hex multiply that number by 20 and that will give us the offset position of the pointer for that file in the archive. Next to each pointer in the archive is the deflated size, and after that, the size as is compressed in the archive.

I already tried moving the hex data of another model into the position of the standard outfit inside the archive, and changed the pointers to another model, both ways crash the game after trying to access the outfit. But it might not fail for the other costumes (probly will tho), need a full save! :P

Anyway, i opened a couple model files and they have the filename written inside them, maybe that's why when i changed the model for the standard one it crashed, as i only changed the filename but the name inside it doesn't match... So i guess we either need to change the name inside of the model file and repack it somehow, or find what requests that filename and change it there, maybe the rpx?
 
Last edited by Elusivo,

DarkKaine

Well-Known Member
Member
Joined
Dec 1, 2014
Messages
373
Trophies
0
Age
35
XP
1,287
Country
Netherlands
Oh dang, I didn't even know a script for it existed. I even googled! :P
I will finish up the extractor anyway, and maybe write a packer for it too.

As for replacing data, it's tricky but it can be done.
You want to do this:

1) Edit decompressed file. Note filesize in bytes.
2) Compress your file with zlib. Note filesize again.
3) From lfm_order.bin fetch the id for the file you want to replace or just cycle thru the list of strings til you find what you're looking for.
4) Open up archive00.lnk and seek to offset 0x20.
5) From 0x20, seek to your ID * 0x20. This should put you at the position where the information of your file is.
6) There are 4 byteswapped values here, they are:

Code:
struct archive_data {
    INT64 offset_start;
    INT64 decompressedsize;
    INT64 offset_stop;
    INT64 unknown;
};

You want to modify decompressedsize to the size of your unpacked file.
Note the value of offset_stop.
Leave the rest intact and go to the address from offset_start.

7) At this address there is a 4 byte value which specifies the length of the block + 0x800. You want to replace this with your own (compressed) filesize + 0x800.
8) After setting this, you want to fill everything with 00 up to offset_stop - 4. We don't want to overwrite our new filesize so we cut 4 bytes.
9) Paste your zlib file in there after the filesize, making sure not to overwrite any original data (00 is okay since it's used for padding so you can extend the file slightly). You may come across some other zlib blocks - that's okay, we're not using chunks. Just overwrite them. When you see a LOT of 00's, that's how you know you're approaching the end of file.
10) You then want to add some 00 bytes til you are at an offset in the file that ends with 0. For example 0002E020 or 0002E030. Note the offset you are at.
11) Head back to 0x20 + (id * 0x20) and replace offset_stop with your new value.
12) Save file and fire up the game. Pray to the gods because I haven't tested this yet.
 
Last edited by DarkKaine,

Elusivo

Shinobu Molester
Member
Joined
Jun 21, 2013
Messages
486
Trophies
0
XP
702
Country
Portugal
ye, the file structure I get it, din know we could repack without breaking the zlib into chunks tho. Why do they do it in chuncks, memory issues or something?

Ok, next is to try editing the name in the gmpk file... btw, the samus and zelda costumes that need replacing are the H_MIU_M.GMPK and H_YRI_P.GMPK.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Bunjolio @ Bunjolio: +2