Go Back  
Reply
 
Thread Tools
Old 08-07-2012   #211
Asure
Member
 
Join Date: Jan 2008
Posts: 245
Likes: 27
Liked 127 Times in 72 Posts
Mentioned: 69 Post(s)
Tagged: 0 Thread(s)
Someone more skilled than me could probably do it. As i'm told, IDA could be used to debug the decrypted eboot.bin and see what it hands over as it calls the npdrm function(s) in the ps3. I don't know powerpc assembly, or C for that matter, so it's not really for me. Maybe someone else will pick up where i left.
Asure is offline   Reply With Quote
Old 08-07-2012   #212
xxmcvapourxx
Member
 
Join Date: May 2010
Posts: 97
Likes: 51
Liked 79 Times in 40 Posts
Mentioned: 15 Post(s)
Tagged: 0 Thread(s)
49 6E 66 69 6E 69 74 79 57 61 72 64 4B 65 79 00 there you go!!! infinity ward key its all the same from 1.06 -1.17 Just do the rest
xxmcvapourxx is offline   Reply With Quote
Likes: (1)
Old 08-07-2012   #213
Asure
Member
 
Join Date: Jan 2008
Posts: 245
Likes: 27
Liked 127 Times in 72 Posts
Mentioned: 69 Post(s)
Tagged: 0 Thread(s)
Originally Posted by xxmcvapourxx View Post
49 6E 66 69 6E 69 74 79 57 61 72 64 4B 65 79 00 there you go!!! infinity ward key its all the same from 1.06 -1.17 Just do the rest
That actually spells 'InfinityWardKey' and it is in the binary (around 0xD490).. and it was bruteforceable, but the batch file never found it, because scetool expects it to be at the _start_ of the command line.

Updated bruteforcer to find keys faster. Can probably be expanded to skip more stuff with lots of zeroes and such.

Code:

@Echo
 off
SET OFFSET=0
:START
FOR /F "tokens=*" %%i in ('"od -j%OFFSET% -N16 -w16 -t x1 eboot.elf | cut -c 8- |sed 's/ //g'"') do SET KEY=%%i
if %KEY% == 00000000000000000000000000000000 (
echo Skipped 10 bytes of blank/useless key at %OFFSET%
set /a OFFSET+=10
) else (
ECHO Trying Key: %KEY% from decimal offset: %OFFSET%
scetool.exe -l %KEY% -d default.self selfout.elf >nul
set /a OFFSET+=1
)
IF EXIST selfout.elf GOTO END
goto START
:end
echo Done! Key used was: %KEY%
Those testing and using it, please try to duplicate the result

(testing w/ portal 2 / sprx's now..)

BINGO, portal 2 fell prey to this approach as well. Start around offset 608600
If you're looking for the key and want it found faster, it seems to help if you search for the strings and start from there.
Ex. portal2 has text strings around 0x94992 = offset 608658, key found in a few seconds.
Ex2. Rage has this around 0x197C038 = 26722360.. ah crap, cut doesn't cut it.. (need to update bat for this, or split into smaller parts.)

Reposting link to tools, you'll need to edit the bat file with the new one though.
Code:
http://www.sendspace.com/file/g9syfd

Last edited by Asure; 08-07-2012 at 03:36 PM. Reason: typo, portal 2, link..
Asure is offline   Reply With Quote
Likes: (3)
Old 08-07-2012   #214
schraube
Apprentice
 
Join Date: Nov 2011
Posts: 1
Likes: 0
Liked 0 Times in 0 Posts
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
3 keys per seconds using an 6-core cpu and ssd. what i'm doing wrong?
schraube is offline   Reply With Quote
Old 08-07-2012   #215
Asure
Member
 
Join Date: Jan 2008
Posts: 245
Likes: 27
Liked 127 Times in 72 Posts
Mentioned: 69 Post(s)
Tagged: 0 Thread(s)
Originally Posted by schraube View Post
3 keys per seconds using an 6-core cpu and ssd. what i'm doing wrong?
Get rid of the virusscanner for say, 3-4 hours

Once i pause kaspersky, it went to say, ~10+ keys/sec.
This is just crude ms-dos code.. could be faster if someone ported it to C or similar..
Asure is offline   Reply With Quote
Old 08-07-2012   #216
deeptrap
Apprentice
null
 
Join Date: Aug 2012
Posts: 26
Likes: 1
Liked 2 Times in 2 Posts
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Originally Posted by Asure View Post
That actually spells 'InfinityWardKey' and it is in the binary (around 0xD490).. and it was bruteforceable, but the batch file never found it, because scetool expects it to be at the _start_ of the command line.

Updated bruteforcer to find keys faster. Can probably be expanded to skip more stuff with lots of zeroes and such.

Code:

@Echo
 off
SET OFFSET=0
:START
FOR /F "tokens=*" %%i in ('"od -j%OFFSET% -N16 -w16 -t x1 eboot.elf | cut -c 8- |sed 's/ //g'"') do SET KEY=%%i
if %KEY% == 00000000000000000000000000000000 (
echo Skipped 10 bytes of blank/useless key at %OFFSET%
set /a OFFSET+=10
) else (
ECHO Trying Key: %KEY% from decimal offset: %OFFSET%
scetool.exe -l %KEY% -d default.self selfout.elf >nul
set /a OFFSET+=1
)
IF EXIST selfout.elf GOTO END
goto START
:end
echo Done! Key used was: %KEY%
Those testing and using it, please try to duplicate the result

(testing w/ portal 2 / sprx's now..)

BINGO, portal 2 fell prey to this approach as well. Start around offset 608600
If you're looking for the key and want it found faster, it seems to help if you search for the strings and start from there.
Ex. portal2 has text strings around 0x94992 = offset 608658, key found in a few seconds.
Ex2. Rage has this around 0x197C038 = 26722360.. ah crap, cut doesn't cut it.. (need to update bat for this, or split into smaller parts.)

Reposting link to tools, you'll need to edit the bat file with the new one though.
Code:
http://www.sendspace.com/file/g9syfd
i see what we are doing.
thing that i dont understand is this. If we now the correct key then this should be the commando to extract it.

scetool.exe -d default.self selfout.elf -l 496E66696E697479576172644B657900


scetool 0.2.7 <public build> (C) 2011-2012 by naehrwert
NP local license handling (C) 2012 by flatz
[*] Error: Could not decrypt header.

And now going to sleep
deeptrap is offline   Reply With Quote
Old 08-07-2012   #217
Asure
Member
 
Join Date: Jan 2008
Posts: 245
Likes: 27
Liked 127 Times in 72 Posts
Mentioned: 69 Post(s)
Tagged: 0 Thread(s)
Originally Posted by deeptrap View Post
scetool.exe -d default.self selfout.elf -l 496E66696E697479576172644B657900
I (we?) wasted a day the -l comes before, not after.

Code:
scetool.exe -l 496E66696E697479576172644B657900 -d default.self selfout.elf
Asure is offline   Reply With Quote
Old 08-07-2012   #218
deeptrap
Apprentice
null
 
Join Date: Aug 2012
Posts: 26
Likes: 1
Liked 2 Times in 2 Posts
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Originally Posted by Asure View Post
I (we?) wasted a day the -l comes before, not after.

Code:
scetool.exe -l 496E66696E697479576172644B657900 -d default.self selfout.elf
LOL

btw stil not sleeping ..
deeptrap is offline   Reply With Quote
Old 08-07-2012   #219
haz367
Senior Member
 
Join Date: Dec 2010
Posts: 2,038
Likes: 1,039
Liked 583 Times in 473 Posts
Mentioned: 237 Post(s)
Tagged: 0 Thread(s)
Thumbs up

haha..strong batch..my pc can't handle = crash/blue screen..haven't seen that one in awhile hehe i'm leaving this alone..to much brainpain, although made a couple, others would fail same method, like F11, fix = 6mb file, fail to get working file, i'm gonna lurk for awhile and have fun with the rest
haz367 is offline   Reply With Quote
Old 08-07-2012   #220
Asure
Member
 
Join Date: Jan 2008
Posts: 245
Likes: 27
Liked 127 Times in 72 Posts
Mentioned: 69 Post(s)
Tagged: 0 Thread(s)
This one in reverse, and for handling big files, like Rage:

Code:

@Echo
 off
for %%S in (eboot.elf) do SET /a LAST_OFFSET=%%~zS-16
for %%S in (eboot.elf) do SET /a MAX_OFFSET=%%~zS-16
:START
set CUT=8
if %LAST_OFFSET% gtr 1000000 (
set /a CUT+=1
)
rem echo Cut val: %CUT%
FOR /F "tokens=*" %%i in ('"od -j%LAST_OFFSET% -N16 -w16 -t x1 eboot.elf | cut -c %CUT%- |sed 's/ //g'"') do SET KEY=%%i
if %KEY% == 00000000000000000000000000000000 (
echo Skipped 10 bytes of blank/useless key at %LAST_OFFSET%
set /a LAST_OFFSET-=10
) else (
ECHO Trying Key: %KEY% from decimal offset: %LAST_OFFSET% / %MAX_OFFSET%
scetool.exe -l %KEY% -d patch.self selfout.elf -l %KEY% >nul
set /a LAST_OFFSET-=1
)
IF EXIST selfout.elf GOTO END
goto START
:end
echo Done! Key used was: %KEY%

Last edited by Asure; 08-07-2012 at 05:28 PM.
Asure is offline   Reply With Quote
Likes: (3)
Reply

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



PS3Hax.net is Copyright © 2010-2013.
Use of this site is governed by our Terms of Use and Privacy Policy. All Trademarks and images are owned by their respected owners.
Posts and links are subject to each author on this forum and are no way affiliated with the operations and/or opinions of ps3hax.net
All times are GMT -5. The time now is 11:20 PM.