主要用于EBOOT的重新签名以让游戏能够在不同版本的自制系统下顺利运行。
应用场景:
1.重签名EBOOT使之可以在3.41/3.55/4.21/4.30全自制系统通用。
2.重签名EBOOT使之为4.21以上自制系统专用。
3.制作DEX使用FSELF格式EBOOT。
4.批量重签SELF/SPRX文件。
一些相关Q&A
Q:游戏的文件中哪些属于SELF?
A:包括EBOOT.BIN以及扩展名为self,sprx文件。
Q:EBOOT.BIN和self/sprx文件有什么区别?
A:EBOOT.BIN是可执行程序,self/sprx是被EBOOT.BIN调用的应用模块。
Q:Disc Backup和NPDRM分别是什么意思?
A:Disc Backup的光碟游戏备份的意思,如果SELF文件来源于光碟游戏备份,则该SELF文件是没有版权数字保护的。
NPDRM即版权数字保护,如果SELF文件来源于PSN游戏,游戏补丁,自制软件,那都是带NPDRM加密的。
所有NPDRM加密的SELF文件都具有对应的ContentID,在签名时必须输入。
简单的来说,所有PKG里面包含的SELF文件都是带NPDRM加密的,如果要用在PKG里面,必须签名成NPDRM格式。
Q:ELF文件是什么?
A:ELF文件是Linux标准的可执行文件格式,相当于windows下面的exe文件,Sony通过对ELF文件加上数字签名,产生SELF文件。
Q:FSELF文件是什么?
A:FSELF即Fake SELF,是DEX(开发机)调试中使用到的SELF格式,只能在DEX上运行。
Q:重新签名SELF是个什么过程?
A:重签SELF是通过把SELF文件解密还原成ELF文件,再重新用低版本的key对ELF文件进行签名,使之可以在较低版本的系统上使用。
Q:重签所有的SELF文件之后,游戏就能完美运行了吗?
A:大部分游戏是这样,但是有些游戏里面还包含低版本系统无法读取的SDAT/EDAT4.0格式文件,这些文件不重新处理也会导致黑屏死机。还有一些游戏使用到了在高版本系统中才有的函数调用,也会导致在低版本上出现存档不能,手柄失效的问题。
案例教学
------------------------------------------------------------------------------------------------
1.手上有个魔界战记4中文版原版游戏备份,游戏系统要求3.66,PS3目前是3.55K,要怎样才能运行该游戏呢?
(1)首先检查该游戏里的SELF文件只有EBOOT.BIN。(搜索SELF文件请使用windows的搜索功能,以免遗漏)
(2)将EBOOT.BIN复制到Resigner的文件夹里。(放在和resigner.exe一起)
(3)打开Resigner,输入2回车,EBOOT.BIN就会被重签,原来的EBOOT.BIN会被备份成EBOOT.BIN.BAK。
(4)把重签好的EBOOT.BIN覆盖回去,游戏应该就可以运行了。
2.手上有如龙5日版原版游戏备份,游戏系统要求4.31,PS3目前是4.21.1rebug,在不用MM自动patch的情况下,要怎样才能运行该游戏呢?
(1)首先检查该游戏里的所有SELF文件,发现有以下:
EBOOT.BIN
devil_minigame_release_masspro.sprx
devil_shader_ps3.ppu.sprx
p_a.self
p_aa.self
p_j.self
p_k.self
p_v.self
(2)打开Resigner,输入A回车,按提示激活4.21+ CFW ALT选项。
(3)先像案例1一样重签EBOOT.BIN文件。
(4)再把sprx和self文件全部复制进self文件夹。
(5)输入5回车,进到SELF/SPRX List界面,再输all,就开始自动重签self文件夹里的所有文件了。
(6)把重签好的SELF文件按原路径全部替换覆盖回去,游戏应该就可以正常运行了。
3.手上有破解版的PSN游戏胖公主,原来可以在3.55运行,升级到4.30后没法进游戏了,要怎样才能运行该游戏呢?
(1)首先检查该游戏里的所有SELF文件,发现有以下:
EBOOT.BIN
GAME.self
(2)将EBOOT.BIN复制到Resigner的文件夹里。(放在和resigner.exe一起)
(3)打开Resigner,输入3回车,会让你确认提取出来的ContentID,再次回车即可完成签名EBOOT.BIN。
(4)再把GAME.self复制进self文件夹。
(5)输入6回车,进到SELF/SPRX List界面,再直接回车,就开始自动重签self文件夹里的所有文件了。
(6)把重签好的EBOOT.BIN和GAME.self文件按原路径全部替换覆盖回去,游戏应该就可以正常运行了。