forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

known psp devices

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
loser



Joined: 07 Feb 2005
Posts: 25

PostPosted: Tue May 10, 2005 5:24 pm    Post subject: known psp devices Reply with quote

hiya

ive written a psp program to brute force test all io devices.
from what ive seen so far there seem to be 2 main types of devices:
"fat access" devices which provide file system access
"block access" devices which provide access to a big chunk or block of data

usually with fat access you need to open specific files, but with block access u just open the device itself, eg open("flash0:").
it seems some block devices are seekable, while others arent.
i havent played with these devices yet, but hope to later. maybe some others would like to jump and and find out more about them.

ill post to this thread as i come accross them.
if anyone knows of others please also post.


these were found by nemnem:
flash0: - fat access - system file volume
flash1: - fat access - configuration file volume



these were found by my program:

ms0: - fat access - memcard
umd: - block access - umd
irda: - block access - infra-red port (doesnt support seeking, maybe send/recieve data from port tho)
mscm: - block access - memstick cm??
umd0: fat access - umd
umd1: block access - umd
umd2: error 0x80010013
umd3: error 0x80010013
umd4: error 0x80010013
umd5: error 0x80010013
umd6: error 0x80010013
umd7: error 0x80010013
umd8: error 0x8001B002
umd9: error 0x8001B002


im not sure what the errors 0x80010013 and 0x8001B002 are.
anyone got any ideas?

ill add more as i have time to run my scanning program
(if it finds any more of course)


PLEASE keep this thread concise and easy to read.
DONT post comments etc, only post if you are mentioning a new device
Back to top
View user's profile Send private message Visit poster's website
CybBlade



Joined: 14 Jan 2005
Posts: 3

PostPosted: Tue May 10, 2005 9:15 pm    Post subject: Reply with quote

i find some nice things in wipeout boot.bin name and example

host0:
host0:DVD\USRDIR\FE.wad
file://host0:/www/index.htm

fatms0:
fatms0:\PSP\SAVEDATA\

disc0:
disc0:\PSP_GAME\USRDIR\.wad

mscmhc0:
another name for ms0:
_________________

La Lección de hoy es: No todas las mujeres con las tetas grandes son necesariamente imbéciles.
Back to top
View user's profile Send private message
loser



Joined: 07 Feb 2005
Posts: 25

PostPosted: Wed May 11, 2005 3:14 pm    Post subject: Reply with quote

it seems there is a way of assigning a device name similar to the ps2's AddDrv function. wipeout shows funcs that assign "umd:", "wad:" and "ms:" to other files on the memcard and disc. for this reason a search through files is not enough to give real device names. if you find a device name in this way, then check it n your own program without having that game (and therefore its fake drives loaded)

i have tested all device names up to 5 characters in length (testing of 6 character names will take 9 days, so it'll be a while before they are done testing. and 7 character names would take a year. so i wont bother with them or any longer names) so if you have found a devicename that is 5 characters or less, and its not in this thread, then chances are its a fake name.

in reference to CybBlades post:
"host0:" and "disc0:" seem to be fake as is "wad:" which is also used in wipeout.


fatms: fat access to memstick
isofs: fat access to umd
irda?: block access to irda port (doesnt support seeking), (? = any number - 0-9)
mscm0: block access to memstick (doesnt support seeking)
mscm?: error 0x80220081 (? = any number - 1-9)
umd00: block access to umd
umd01: block access to umd
umd0?: error 0x80010013 (? = any number 2-7)
umd??: error 0x8001B002 (?? = any number 08-99)
Back to top
View user's profile Send private message Visit poster's website
loser



Joined: 07 Feb 2005
Posts: 25

PostPosted: Fri May 20, 2005 12:05 am    Post subject: raw flash access! Reply with quote

well seems my brute force device name checker paid off big time!!
it found exactly what i was looking for :)

lflash:

this give you block access to the flash, the full 32meg of it!
btw thanks to mrbrown for realising that a blocksize of 512byte multiples is needed when reading from it.

w00t!

it also opens the device with read/write access, so who wants to test write capabilities? :)
Back to top
View user's profile Send private message Visit poster's website
MelGibson



Joined: 10 Apr 2005
Posts: 58

PostPosted: Fri May 20, 2005 1:34 am    Post subject: Reply with quote

thats really nice info.... wonder if you can see more of the OS now then compared to flash0 / flash1 access
Back to top
View user's profile Send private message
MindWall



Joined: 10 May 2005
Posts: 70

PostPosted: Fri May 20, 2005 3:40 am    Post subject: Reply with quote

nice =)

did you check?:
prfat0:
msstor0p0:
msstor0p1:
Back to top
View user's profile Send private message
mrbrown



Joined: 17 Jan 2004
Posts: 1536

PostPosted: Fri May 20, 2005 4:49 am    Post subject: Reply with quote

I think a listing of native devices is good enough to be stickied.
Back to top
View user's profile Send private message
zigzag



Joined: 26 Jan 2005
Posts: 129

PostPosted: Fri May 20, 2005 7:17 am    Post subject: Reply with quote

So, now we can extract the firmware easily I take it -- just read the entire contents of lflash to a file. But flashing a 1.5 is still a ways off unfortunately as we can't run any code to perform the flash and it looks like its impossible to tweak a Sony update to include our own flash :(
Back to top
View user's profile Send private message
pedroleite



Joined: 10 Apr 2005
Posts: 39

PostPosted: Fri May 20, 2005 7:53 am    Post subject: Reply with quote

zigzag wrote:
So, now we can extract the firmware easily I take it -- just read the entire contents of lflash to a file. But flashing a 1.5 is still a ways off unfortunately as we can't run any code to perform the flash and it looks like its impossible to tweak a Sony update to include our own flash :(


On the PSP Exploit forum, there's the java dissamble code from the Wipeout files downloader Jar...

I have got around the JAR a couple of minutes and there's an Internal Key... and the seed at the bottom of the file. This is used in a XOR stream cipher, a block one, based on SHA1...

What it does from reading the code is, calculate the SHA1 from the seed (last 20 bytes) and the internal key, this is placed internally.
Then each byte read for the actual data is XOR with a byte from this digest...
After consuming the digest, the calculated value + the internal key is SHA1'ed again to produce a new digest value... to be xored some more.

Code:

public synchronized class SHA1CipherStream
{
    private static final byte INTERNAL_KEY[] = Util.parseBytes("D3C64E430B3F2C1152DBFEF1A5C71CA4");
    private byte internalKey[];
    MessageDigest digest;
    byte buffer[];
    byte seed[];
    int bufferOffset;

    static
    {
    }

    public SHA1CipherStream(byte seed[])
    {
        this(seed, INTERNAL_KEY);
    }

    public SHA1CipherStream(byte seed[], byte internalKey[])
    {
        this.seed = seed;
        this.internalKey = internalKey;
        digest = Util.getDigest();
        if (digest == null)
            throw new NullPointerException("SHA-1 not set");
        digest.update(this.seed);
        digest.update(this.internalKey);
        buffer = digest.digest();
        bufferOffset = 0;
    }

    public void xor(byte buffer[])
    {
        xor(buffer, 0, buffer.length);
    }

    public void xor(byte buffer[], int offset, int length)
    {
        int i;
        i = 0;
        expression buffer
        expression offset + i
        dup 2 over 0
        push []
        expression (byte)(read() & 255)
        ^
        convert W to B
        pop []
        i++;
        if (i < length) goto 6 else 34;
    }

    public int read()
    {
        if (bufferOffset >= buffer.length)
        {
            digest.reset();
            digest.update(buffer);
            digest.update(internalKey);
            buffer = digest.digest();
            bufferOffset %= buffer.length;
        }
        int value = buffer[bufferOffset];
        bufferOffset++;
        return value;
    }
}


What I could ask ... Does any section of your firmware, has this key and probably others?

Anyone care to try this method on PSAR ou ~PSP formats?
Back to top
View user's profile Send private message
loser



Joined: 07 Feb 2005
Posts: 25

PostPosted: Fri May 20, 2005 9:00 am    Post subject: Reply with quote

i tried all known devices with all known prefixes and suffixes.
eg "ms" with "fat" and "stor" added to front and back etc.
there is always the possibility that a module may need to be loaded to gain access to particular device, but i have tried these 'as is' with no extra modules loaded. (i havent been able to find any kind of usb device, or remote control/serial, or wifi as yet. ive tried all the obvious names i could think of for them)

(? = any number, i tested 0 to 100)
prfat and prfat? do not open, so arent native devices
msstor and msstor0 open ok (they seem to give block accces to memstick? read was successful, but i havaent checked what i got in the read buffer)

here are some more that opened ok:
flash0: FAT
flash1: FAT
flashfat: FAT
flashfat0: FAT
flashfat1: FAT
lflash: BLOCK R | W
lflash?: BLOCK R | W
ms0: FAT
mscm: BLOCK R | W
mscm0: BLOCK R | W
mscmhc: BLOCK R | W
mscmhc0: BLOCK R | W
msstor: BLOCK R | W
msstor0: BLOCK R | W
fatms: FAT
fatms?: FAT
irda: BLOCK R | W
irda?: BLOCK R | W
isofs: FAT
isofs0: FAT
isofs1: FAT
isofs2: ERROR 80020199
isofs3: turns off psp when i try to open this!!
umd: BLOCK R
umd0: FAT
umd1: BLOCK R


i havent looked closely at actually accessing most devices, so 'FAT' or 'BLOCK' device types are based on error codes that i seemed to get for other known fat/block devices. there may even be some other kind of device, like for just sending ioctl/devctl commands (ala ps2).

i still havent finished scanning thru all 6 character devicenames (seems it will take a month to do so, and im about a third of the way thru so far)
i will finish scanning for 6 character names, but wont bother with 7 character names, as it will take much much too long. besides i found the main device i was after ;)
Back to top
View user's profile Send private message Visit poster's website
Vampire



Joined: 12 Apr 2005
Posts: 138

PostPosted: Sat May 21, 2005 8:09 pm    Post subject: Reply with quote

lflash:
and
lflash?: (? = any number)
are identical

blocksize: 512


Last edited by Vampire on Mon Jun 06, 2005 6:10 am; edited 6 times in total
Back to top
View user's profile Send private message
Vampire



Joined: 12 Apr 2005
Posts: 138

PostPosted: Sat May 21, 2005 11:23 pm    Post subject: Reply with quote

flash0:
and
flashfat:
and
flashfat0:
are identical

flash1:
and
flashfat1:
are identical
Back to top
View user's profile Send private message
Vampire



Joined: 12 Apr 2005
Posts: 138

PostPosted: Mon May 23, 2005 4:54 am    Post subject: Reply with quote

irda:
and
irda?: (? = any number)
are identical

blocksize: any


Last edited by Vampire on Mon Jun 06, 2005 6:11 am; edited 1 time in total
Back to top
View user's profile Send private message
Vampire



Joined: 12 Apr 2005
Posts: 138

PostPosted: Mon May 23, 2005 5:45 am    Post subject: Reply with quote

msstor:
and
msstor0:
are identical

blocksize: 512


Last edited by Vampire on Mon Jun 06, 2005 6:11 am; edited 2 times in total
Back to top
View user's profile Send private message
Vampire



Joined: 12 Apr 2005
Posts: 138

PostPosted: Mon May 23, 2005 6:08 am    Post subject: Reply with quote

fatms:
and
fatms0:
and
ms0:
are identical
Back to top
View user's profile Send private message
Vampire



Joined: 12 Apr 2005
Posts: 138

PostPosted: Mon May 23, 2005 9:15 am    Post subject: Reply with quote

msstor: and msstor0: is the entire physical disk (the hole disk: mbr,partition1,...)

msstor0p1: is partition1

...

of the memory stick
Back to top
View user's profile Send private message
Vampire



Joined: 12 Apr 2005
Posts: 138

PostPosted: Sat May 28, 2005 7:59 am    Post subject: Reply with quote

isofs:
and
isofs0:
are identical


Last edited by Vampire on Fri Jun 03, 2005 8:00 am; edited 1 time in total
Back to top
View user's profile Send private message
0xdeadface



Joined: 31 May 2005
Posts: 62

PostPosted: Thu Jun 02, 2005 8:37 am    Post subject: Reply with quote

Vampire,

Care to disclose (or even hint) how you figured this out?

0xdf
Back to top
View user's profile Send private message
Marco_N



Joined: 29 May 2005
Posts: 46

PostPosted: Sat Jun 04, 2005 11:50 am    Post subject: Reply with quote

host0: can also be found in Gretzky NHL;

disc0:/PSP_GAME/USRDIR/browser/hsbrowser.prx
and then
host0:browser/hsbrowser-host.prx

is it possible host0: uses some generic code supplied by sony for network access?
Back to top
View user's profile Send private message
mrbrown



Joined: 17 Jan 2004
Posts: 1536

PostPosted: Sat Jun 04, 2005 1:01 pm    Post subject: Reply with quote

host: does not exist in consumer PSPs.
Back to top
View user's profile Send private message
Vampire



Joined: 12 Apr 2005
Posts: 138

PostPosted: Mon Jun 06, 2005 6:12 am    Post subject: Reply with quote

umd:
and
umd0:
and
umd1:
are identical

blocksize: 2048
Back to top
View user's profile Send private message
Vampire



Joined: 12 Apr 2005
Posts: 138

PostPosted: Sun Jun 19, 2005 12:05 pm    Post subject: Reply with quote

lflash0:0,0
lflash0:0,1
...
Back to top
View user's profile Send private message
mrbrown



Joined: 17 Jan 2004
Posts: 1536

PostPosted: Sun Jun 19, 2005 2:31 pm    Post subject: Reply with quote

Vampire wrote:
lflash0:0,0
lflash0:0,1
...


Don't you want to explain what they do? lflash0:0,0 is logical partition 0 (normally mapped to flash0), lflash0:0,1 is logical partition 1 (flash1), etc.
Back to top
View user's profile Send private message
Vampire



Joined: 12 Apr 2005
Posts: 138

PostPosted: Sun Jun 19, 2005 6:06 pm    Post subject: Reply with quote

mrbrown wrote:
Don't you want to explain what they do?

well, i thought it was pretty obvious...
Back to top
View user's profile Send private message
mph2



Joined: 10 Jun 2005
Posts: 6

PostPosted: Thu Jun 30, 2005 6:37 am    Post subject: Reply with quote

Marco_N wrote:
host0: can also be found in Gretzky NHL;

disc0:/PSP_GAME/USRDIR/browser/hsbrowser.prx
and then
host0:browser/hsbrowser-host.prx

is it possible host0: uses some generic code supplied by sony for network access?


I think disc0: is the name given in sceIoAssign function for access umd0:
_________________
mph
Back to top
View user's profile Send private message Send e-mail MSN Messenger
MindWall



Joined: 10 May 2005
Posts: 70

PostPosted: Mon Aug 01, 2005 4:40 am    Post subject: Reply with quote

I was wondering why the ipl:/ in not in the list?
could the bruteforce search have missed it?
Back to top
View user's profile Send private message
PspPet



Joined: 30 Mar 2005
Posts: 210

PostPosted: Mon Aug 01, 2005 7:27 am    Post subject: Reply with quote

> I was wondering why the ipl:/ in not in the list?
"ipl" doesn't appear to be a real device. It is a special case in the version 2.00 updater (not present in earlier updaters).
[in a dissembly, search for a strncmp-like call with the r5="ipl", r6=3]
Back to top
View user's profile Send private message Send e-mail Visit poster's website
MindWall



Joined: 10 May 2005
Posts: 70

PostPosted: Mon Aug 01, 2005 7:55 am    Post subject: Reply with quote

I haven't had time to look at it, but from your words it looks a lot like the kbooti.bin

remember that some of the modules are not accessible through the usual device accesses, I guess the ipl: should be assigned to the "restricted" section of the flash?
Back to top
View user's profile Send private message
pyrosama



Joined: 13 May 2005
Posts: 66

PostPosted: Mon Aug 22, 2005 11:31 pm    Post subject: Reply with quote

flashfat2:
flashfat3:

FATFMT (Not device. Used as mount at start of .rodata)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group