xChar
·4 months ago

此贴为自用提醒~

用到的工具

  1. NFE

  2. NFECore

  3. nokiacooker

  4. WinHex

流程及细节

固件准备

只做大核心包的情况下,修改过程所需文件为core、rofs2、rofs3,刷机需要core、dcp、vpl以及signature.bin

大致流程

1 - NFECore解包core,NFE解包rofs2、rofs3,rofs2-->rofs然后rofs3-->rofs,全部覆盖。如需diy先diy,然后所得的rofs文件夹大小留一点点空隙换算成16进制(单位M的10进制数值10241024换算),到此核心包大小确定。
2 - WinHex打开core包,找第一个5400EE,从5开始往后走过2F就到了core起始地址,后面的就是头文件区域,只修改core大小、c盘起始和c盘大小。注意,官方包:c盘起始 + c盘大小 < 结束地址,这里的空隙原大小保留。下面的红色横线部分也要做对应调整,数值为: c盘起始 - 1
屏幕截图 2024-05-22 184530
3 - WinHex接着往下翻找到第一个5401170E,由此开始到FFFFFFFF结束为分区表。分区表修改核心:数值倒置,如真实数值为01 02 03 04,实际填写04 03 02 01。
要修改的分区表大概从右侧SOS+CORE 后面开始,如图红色为起始地址,绿色为对应区大小,第1个和最后一个红框不修改,core大小按上面的填,rofs2、rofs3大小均为0,c盘大小也按上面的填。
屏幕截图 2024-05-22 190441
4 - 最重要的0x54段校验,不修改刷机后无法开机!
方法:
4.1 WinHex打开rofs2,从开头B2到第一个5D01272D的前面,很短的一段,选定后右键-编辑-复制选块-至新文件,取名jiaoyan,后缀为fpsx,后缀后加也可以。
4.2 回到修改完的core包,选定上面3中的分区表部分,右键-编辑-复制选块-16进制数值,然后到刚刚的jiaoyan中粘贴在最后,保存,winhex不要退出。
4.3 用nokiacooker打开jiaoyan.fpsx,然后立即保存退出,回到winhex会发现jiaoyan文件有数据变化,刷新后查看5401170E后面的2处变化,如图红框内的就是变化的,将变化后的数值填到core包分区表里即可。
屏幕截图 2024-05-22 193251
5 - 校验过后的core包放到NFECore里,点击rofs容量调整不报错就成功了,顺便点击校验修改,如果全是2B,就全改成2A。确保rofs里的文件都准备好了,直接点打包就可以得到刷机的core包了。

Loading comments...