Ok so i think i found a soloution to this problem
Bascially from what ive read and heard in windows, you can make 2 partitions on a usb memorystick, edit the first to pretend its a CD drive and boom it works. When you plug it into windows, windows only recognises the CD drive and dosnt want to mount the actual memorystick.
So heres my idea.
I jsut found out that theres a command in windwos called "rsm" which works with removable media, in there theres a command called mount. So When the cd drive partition is mounted it shoudl autorun a payload which mounts the actual USB.
Just an idea.
here my dump for interest.
C:Documents and SettingsAmish>rsm
RSM [ALLOCATE | DEALLOCATE | MOUNT | DISMOUNT | EJECT | EJECTATAPI |
CREATEPOOL | DELETEPOOL | VIEW | REFRESH | INVENTORY]
The command line is case insensitive, except when you refer to Media
Objects (including media, drives, changers, libraries, media types, slots)
by their friendly names.
The arguments for a command may be specified in any order.
All commands return an error code - success, a system defined error
code or one of the application defined error codes shown below:
536870913: Invalid Arguments
536870914: Duplicate Arguments
536870915: No Guid For Friendly Name
536870916: Insufficient Arguments
536870917: Invalid Guid
536870918: Ioctl Failed
There should be no spaces between a tag and the actual argument. For
example, for the timeout option in allocate, the timeout is specified
as /t50 and not /t 50.
See Start->Help (search for "Using the command line for Removable
Storage") for more details.
C:Documents and SettingsAmish>rsm mount /?
Mount a specified piece of media.
RSM MOUNT
/L[G|F]<LogicalMediaID> | /P[G|F]<PartitionID> |
[/S[G|F]<SlotID> /C[G|F]<ChangerID>]
[/D[G|F]<DriveID>]
/O[ERRUNAVAIL|DRIVE|READ|WRITE|OFFLINE]
[/R[NORMAL|HIGH|LOW|HIGHEST|LOWEST]]
[/T<timeout>]
The /[L|P|S|C|D]G option should be used when the LogicalMediaID,
PartitionID, SlotID, ChangerID or DriveID is supplied as a GUID.
The /[L|P|S|C|D]F option should be used when the LogicalMediaID,
PartitionID, SlotID, ChangerID or DriveID is supplied as a friendly
name.
/O options: More than one may be specified by using the
switch repeatedly. Only one of the following can be used.
ERRUNAVAIL: The mount request will generate an error if either the
media or the drive is not available.
READ: Mount for read access.
WRITE: Mount for write access. If this option is selected
completed media will not be mounted.
DRIVE: To be specified if drive guid or name is provided.
OFFLINE: Error is returned if media is not on-line. If this option
is not used then operator request is queued.
/T Timeout: Specifies a timeout in milliseconds. Default is INFINITE
/R Priority: Default priority is NORMAL.
C:Documents and SettingsAmish>