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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

序言

距离上一次写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        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值