【教程】高版本系統(tǒng)sysmodule移植5.05教程!部分游戲使用高版本的sysmodule,導(dǎo)致在5.05系統(tǒng)上無(wú)法正常運(yùn)行,需要將高版本的sysmodule移植到5.05上,需要配合IDA分析eboot.bin解決 部分游戲使用高版本的sysmodule,導(dǎo)致在5.05系統(tǒng)上無(wú)法正常運(yùn)行,需要將高版本的sysmodule移植到5.05上 需要配合IDA分析eboot.bin解決 比如創(chuàng)軌調(diào)用了SCE_SYSMODULE_CES_CS這個(gè)模塊,這個(gè)是在6.72上才有的模塊,需要dump ps4系統(tǒng)的libSceCesCS.sprx(路徑在systemcommonliblibSceCesCs.sprx) 1、首先使用IDA檢查eboot.bin的sceSysmoduleLoadModule調(diào)用,看是否有高版本調(diào)用,我們可以發(fā)現(xiàn)地址0x05141B調(diào)用了sceSysmoduleLoadModule(0x10C)
【教程】高版本系統(tǒng)sysmodule移植5.05教程-1.jpg (30.39 KB, 下載次數(shù): 9)
下載附件
2024-7-1 13:40 上傳
2、寫(xiě)一段prx loader代碼,實(shí)現(xiàn)自定義模塊載入,代碼我寫(xiě)在0xF3CED0,自動(dòng)載入/app0/libSceCes.prx這個(gè)模塊
【教程】高版本系統(tǒng)sysmodule移植5.05教程-2.jpg (10.47 KB, 下載次數(shù): 5)
下載附件
2024-7-1 13:40 上傳
3、由于loader代碼需要調(diào)用libkernel的sceKernelLoadStartModule,部分游戲沒(méi)有這個(gè)函數(shù),需要把其他函數(shù)改為sceKernelLoadStartModule,我這邊將sceKernelGetGPI改為sceKernelLoadStartModule,首先修補(bǔ)所有的sceKernelGetGPI調(diào)用,然后把NID的4oXYe9Xmk0Q替換成wzvqT4UqKX8。函數(shù)的nid可以去https://github.com/idc/ps4libdoc這里查詢(xún) 3、最后吧0x05141B的call地址跳轉(zhuǎn)到0xF3CED0,完成自定義模塊載入
【教程】高版本系統(tǒng)sysmodule移植5.05教程-3.jpg (26.79 KB, 下載次數(shù): 6)
下載附件
2024-7-1 13:40 上傳
其他說(shuō)明 部分模塊(比如libSceAvPlayer.prx)會(huì)使用sceKernelGetCompiledSdkVersion檢查編譯時(shí)候的SDK版本,降級(jí)后會(huì)導(dǎo)致這個(gè)錯(cuò)誤,需要手動(dòng)修補(bǔ)sceKernelGetCompiledSdkVersion識(shí)別,比如下圖我把要求5.50的功能改成4.90,這樣在游戲降級(jí)到5.05時(shí)候,會(huì)觸發(fā)原先5.50的調(diào)用
【教程】高版本系統(tǒng)sysmodule移植5.05教程-4.jpg (20.3 KB, 下載次數(shù): 7)
下載附件
2024-7-1 13:40 上傳
下載地址處提供2個(gè)附件 一個(gè)是SCE_SYSMODULE_CES_CS問(wèn)題的修復(fù),適用創(chuàng)軌、萊莎的煉金工房2等調(diào)用ces庫(kù)的解決方案 還有個(gè)是libSceAvPlayer補(bǔ)丁,適用于死或生6,海賊無(wú)雙4播放視頻卡頓的問(wèn)題修復(fù)
下載地址
游客,如果您要查看本帖隱藏內(nèi)容請(qǐng) 回復(fù)
|