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