PSP游戏破解分析 – opnssmp.bin&mesg_led_0X.prx

本文揭示了PSP游戏破解的关键步骤,介绍了如何利用opnssmp.bin和mesg_led_0X.prx解密游戏EBOOT.BIN。L大的破解方法涉及通过opnssmp.bin中的数据调用sceMesgLed模组,使用特定函数sceResmgr_8E6C62C8进行密钥计算,该过程与kirk加密算法相关。虽然核心部分的详细代码未提供,但文章提供了基本的破解逻辑和流程。
摘要由CSDN通过智能技术生成
序言

距离上一次写PSP破解方面的东西已经过了3年了,这是何等的跨度啊~~~好了,前面两篇算是基础的基础,可以说不管你是想开发自己的程序在自制固件上运行,还是打算走开发自制固件的路,那些都是必备的东西,这篇文章主要是给有兴趣的朋友一个引导,想必有些童鞋对当年L大怎么找到游戏的关键密钥从而破解新的游戏EBOOT.BIN有点好奇吧,现在就来揭开这个秘密。

貌似我忘了规矩,首先感谢在我研究期间帮助过我的1位朋友(之所以这样说的确是破解圈没什么人会告诉你怎么继续下去,很多时候都只能靠你自己不厌其烦的去摸索)noname120,他人很好,虽然在寻找key的研究中并没有其太大作用,但是给了其他很多辅助。其次是一直不知道如何联系到L大,所以只能利用他留下来的一些开源资源去研究;好了,接下来是前期回顾:

传送门

这里是当年L大破解和平行者的记录,我们可以了解一下顺序。


正文

【版权】转帖请著名出处,本人只在私人博客发布,如果有需要转载请尊重他人的劳动成果!

首先说一下逻辑,根据L大所说,opnssmp.bin是解密的关键,他类似一个密保卡,新的游戏会传递自己EBOOT.BIN偏移0xD0位置大小4位的一个flag去opnssmp.bin,然后利用这个密保卡里面给出的一段120位长度的数据去调用sceMesgLed模组(来自mesg_led_02g.prx)中的一个函数,当然这个模块是6.xx的新功能,所以低于6.xx版本的固件就玩不了新游戏,所以L大才需要对自己开发的prometheus固件的修改让广大的游戏爱好者能玩到6.xx版本下的游戏。

开始分析,首先我们先利用L大工具PSPCipher或者jas0nuk写的PRXDecrypter解密opnssmp.bin文件,当然解密这个固件也需要钥,但是这个密钥可以通过逆向memlmd_??g.prx得到,十分容易。但是如何得到解密memlmd_??g.prx呢?这个密钥需要dump内核内存分析,这个超出本文的畴,就不多赘述了。

module_start:
	0x00000000: 0x27BDFFF0 '...'' - addiu      $sp, $sp, -16
	0x00000004: 0xAFBF0004 '....' - sw         $ra, 4($sp)
	0x00000008: 0xAFB00000 '....' - sw         $s0, 0($sp)
	0x0000000C: 0x0C000017 '....' - jal        SysMemUserForUser_D8DE5C1E
	0x00000010: 0x8CB00000 '....' - lw         $s0, 0($a1)
	0x00000014: 0x14400008 '..@.' - bnez       $v0, loc_00000038
	0x00000018: 0x8FBF0004 '....' - lw         $ra, 4($sp)
; Data ref 0x00000150 ... 0x00000000 0x00000000 0x00000000 0x00000000 
	0x0000001C: 0x3C020000 '...<' - lui        $v0, 0x0
	0x00000020: 0x24030012 '...$' - li        
软件安装:   将下载的文件解压,然后将解压得到的“PSP”文件夹拷贝至PSP记忆棒更目录下覆盖即可(覆盖不会改变文件夹内的原文件)。   这里需要提醒一下:该软件有英/日两种语言,如果你的PSP主机系统语言是日语,那软件的界面语言就是日语。如果你的PSP主机系统语言不是日语,那软件的界面语言则为英语。(本教程中以英文界面为准,步骤都是一样的)。   补充说明:   使用该软件破解好的游戏在运行时,请先关闭GAMES中“KHBBS”插件,否则会冲突,出现黑屏等不能运行的现象。   插件关闭方法如下:   PSP3000/2000V3用户:在PSP界面下按Select呼出VSH菜单,选择RECOVERY MENU(恢复菜单),进入之后,选择CPU Speed的选项,进入之后会看到你现在所有的插件,将其中的KHBBS_patch设为Disable即可。(注:开启插件操作方法同上,只需将Disable设置为Enable即可)   PSP1000/2000非V3用户:按住R键不松,重启PSP主机,进入恢复菜单,选择Plugins,进入之后会看到你现在所有的插件,将其中的KHBBS_patch设为Disable即可。(注:再次开启该插件操作方法同上,只需将Disable设置为Enable即可)   游戏破解:   1.安装完软件之后,打开PSP游戏目录就能看到iso_tool 1.66版的图标了,进入软件。 2.选择记忆棒中的umd游戏的原版ISO,将光标移动到该ISO上,按○出现如下图所示菜单。菜单按照从上到下的顺序依次是“破解EBOOT、还原EBOOT、重命名、转换成CSO、打补丁、插件导入”以及最后一项“删除”。 第一步我们一般从破解EBOOT开始,按○键确认,选择YES。此时提示你是否备份原版EBOOT文件。根据情况进行选择。 接下来提示你是否进行版本欺骗,如果你的系统是500m33的话,这一步请选择YES 问你是否可以开始破解,选择YES开始破解。 下面软件就会自动破解游戏的EBOOT文件,出现“Finished”字样就完成EBOOT文件的破解
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值