作者cassine (Savannah)
看板Modchip
标题[PS3 ] 3.50版韧体解析进行中
时间Sun Nov 14 23:05:14 2010
http://xorloser.com/?p=297&cpage=3
xorloser已经成功解析了 PS3韧体更新档案.pup的结构。由於JB所带来的可能性
,让他们得以研究.pup档案与实际Flash ROM 内容的对应,进而推论出韧体的写
入位址。
运气好的话,这是自制韧体的第一步,也许能够透过只更新必要程式而保留JB漏
洞的方式执行3.50 SDK所编译出的游戏。
--
○ ____ _ _ _ _ ____ _ _ ____ _____ ____
。 ★(_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \
o _)(_ ) ( \ / )__) ) ( )( )(_)( ) / ● ‧
(____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_) ★
o
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.61.141
1F:→ narcissusli:这一搞出来,连狗都不用准备了,赞!! 11/15 01:16
2F:→ cassine:还是要啦!不然你要用IC烧录器对付主机板上的FlashROM 11/15 10:26
3F:→ narcissusli:应该可以把加料过的fw放在光碟上,让主机更新吧?! 11/15 11:01
4F:→ cassine:不行,因为韧体更新档都有签证,没破解主机的韧体更新程式 11/15 11:26
5F:→ cassine:$QNY没理由让玩家这样搞。 11/15 11:26
6F:→ cassine:不过有Factory Service Mode可能就不一样,会有机会 11/15 11:27
7F:→ todotaurus:原文讨论串下面的回覆很精采,有空的人可以看看。 11/15 14:12
8F:→ bhh0026:要是连签证都搞出来的话,直接封成更新档就可以丢进去了w 11/15 14:28
9F:→ cassine:基本上是不大可能,这种public/private key签证的东西要拿 11/15 15:03
10F:→ cassine:到key可不简单,我是不大相信$QNY会跟老任一样,在签证上 11/15 15:03
11F:→ cassine:犯同样错误 strcmp() 那个实在太宝了XD 11/15 15:04
12F:推 kaoru7568:老任那个 hash吃到0就终止的BUG真的太可爱XD 11/15 17:38
13F:→ UnknownX:老任那个签证是怎样?可以详细一下吗? 11/15 18:31
14F:推 kaoru7568:假设正确签证是 1234567890ABCDEF 因为BUG吃到0会停掉 11/15 18:43
15F:→ kaoru7568:所以只要把hash弄成1234567890______ ←後面那堆随便 11/15 18:44
16F:→ kaoru7568:也就是自制程式是 1234567890123456 一样可以通过认证 11/15 18:45
17F:→ kaoru7568:只要0前面有对就好了 11/15 18:45
18F:推 f1234518456:XDD 11/15 18:52
19F:推 f1234518456:被函式bug婊了XD 11/15 19:06
20F:→ cassine:不是bug,在C语言里面字串阵列的结尾本来就是0 11/15 19:41
21F:→ cassine:所以比较的时候读到0会以为字串终结了,结果原本256-bit的 11/15 19:41
22F:→ cassine:签证如果在第10个bit遇到0就会削弱成只有10-bit的强度,很 11/15 19:42
23F:→ cassine:容易就可以伪造出前10个bit都相同的假签证 11/15 19:43
24F:推 f1234518456:原来是这样 11/15 20:04
25F:推 SGBA:专业推 O_O 11/15 20:28
26F:→ cassine:事实是老任在不该使用strcmp的地方用了,结果形成bug,这 11/15 21:02
27F:→ cassine:个bug应该是有人反组译程式时发现的,不然正常执行根本不 11/15 21:03
28F:→ cassine:可能察觉,因为hash collision的机率太低,所以老任也签了 11/15 21:03
30F:→ danny8376:不过NDS上也有这个错误吗? (我想应该没人研究就是了...) 11/15 23:33