Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Wanted: Python module allowing direct access to raw sectors of harddrives (MFT, boot sector, etc.) in MS Windows

Reply
Thread Tools

Wanted: Python module allowing direct access to raw sectors of harddrives (MFT, boot sector, etc.) in MS Windows

 
 
jepler@unpythonic.net
Guest
Posts: n/a
 
      10-10-2005
I took the advice from this web page:
http://support.microsoft.com/kb/q100027/
(I don't know how this extends to floppies, and the 9x family of OSes isn't
listed in "applies to", so this may not help your case)

Here, I open "physical drive 0" and see that the magic number indicates a valid
boot record. I believe it is the MBR.

>>> f = open('\\\\.\\PhysicalDrive0', 'rb')
>>> f.read(512)[-2:]

'U\xaa' # that is, hex 55 AA

I don't know much about low-level filesystem or partition details--I got the
tidbit about the 55 AA magic number from
http://www-uxsup.csx.cam.ac.uk/pub/d...les9/ch08.html

Jeff

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDSut+Jd01MZaTXX0RAj7hAKCWr19nOx/wK0nUVJN1jjfUjBbVnQCfUnhd
tY09o+WnHwALynIt5PCN7F0=
=Jf1D
-----END PGP SIGNATURE-----

 
Reply With Quote
 
 
 
 
sam
Guest
Posts: n/a
 
      10-10-2005
The following site contains my routines to access information from the
Microsoft SCSIPASSTHROUGH layer under windows. These routines allow you
to access the storage devices mounted under windows using SCSI
commands. The dll that I provide will work with Python 2.3

http://starship.python.net/crew/samschul/

Sam Schulenburg

Claudio Grondi wrote:
> Thank you Jeff very much for your quick reply.
> It saved me really much time of digging in the wrong direction.
>
> <(E-Mail Removed)> wrote in
> news:<(E-Mail Removed)>...
> >> I took the advice from this web page:
> >> http://support.microsoft.com/kb/q100027/

> Ok, I had found this page myself during Googling, but I have missed just
> to try to use the described way of addressing physical devices with file
> opening in Python.
> It works as expected with harddrives so you are right that you are getting
> the MBR with the proposed code.
>
> After some not always happy end adventures with Python
> scripting I am impressed by the power of the concept behind
> the language once again.
>
> Claudio
>
> >>(I don't know how this extends to floppies, and the 9x family of OSes

> isn't
> >>listed in "applies to", so this may not help your case)
> >>Here, I open "physical drive 0" and see that the magic number indicates a

> valid
> >>boot record. I believe it is the MBR.
> >>>>> f = open('\\\\.\\PhysicalDrive0', 'rb')
> >>>>> f.read(512)[-2:]
> >>'U\xaa' # that is, hex 55 AA
> >>I don't know much about low-level filesystem or partition details--I got

> the
> >>tidbit about the 55 AA magic number from
> >>http://www-uxsup.csx.cam.ac.uk/pub/d...-sles9/ch08.ht

> ml
> >>Jeff
> >><(E-Mail Removed)> schrieb im Newsbeitrag

> news:(E-Mail Removed)...


 
Reply With Quote
 
 
 
 
Claudio Grondi
Guest
Posts: n/a
 
      10-10-2005
Googling for keywords like
"direct access sector harddrive Python module Windows"
seems to give no useful results.

Any hints(best if cross-platform)?

Claudio



 
Reply With Quote
 
Claudio Grondi
Guest
Posts: n/a
 
      10-11-2005
Thank you Jeff very much for your quick reply.
It saved me really much time of digging in the wrong direction.

<(E-Mail Removed)> wrote in
news:<(E-Mail Removed)>...
>> I took the advice from this web page:
>> http://support.microsoft.com/kb/q100027/

Ok, I had found this page myself during Googling, but I have missed just
to try to use the described way of addressing physical devices with file
opening in Python.
It works as expected with harddrives so you are right that you are getting
the MBR with the proposed code.

After some not always happy end adventures with Python
scripting I am impressed by the power of the concept behind
the language once again.

Claudio

>>(I don't know how this extends to floppies, and the 9x family of OSes

isn't
>>listed in "applies to", so this may not help your case)
>>Here, I open "physical drive 0" and see that the magic number indicates a

valid
>>boot record. I believe it is the MBR.
>>>>> f = open('\\\\.\\PhysicalDrive0', 'rb')
>>>>> f.read(512)[-2:]

>>'U\xaa' # that is, hex 55 AA
>>I don't know much about low-level filesystem or partition details--I got

the
>>tidbit about the 55 AA magic number from
>>http://www-uxsup.csx.cam.ac.uk/pub/d...-sles9/ch08.ht

ml
>>Jeff
>><(E-Mail Removed)> schrieb im Newsbeitrag

news:(E-Mail Removed)...


 
Reply With Quote
 
Claudio Grondi
Guest
Posts: n/a
 
      10-11-2005
Thank you for your reply, even if currently not
that interesting for me because after the first
CD writer for IDE were available I stopped to
use SCSI and didn't come back to it since then.

Does the Python open() command not work the
same way for SCSI drives as for IDE or USB
drives (I can't try it myself, because of above)?

Claudio
P.S. for those who are interested I have uploaded a
Python script I wrote for myself to have a reference to
this subject to:
http://people.freenet.de/AiTI-IT/Pyt...sicalDrives.py


"sam" <(E-Mail Removed)> schrieb im Newsbeitrag
news:(E-Mail Removed) ups.com...
> The following site contains my routines to access information from the
> Microsoft SCSIPASSTHROUGH layer under windows. These routines allow you
> to access the storage devices mounted under windows using SCSI
> commands. The dll that I provide will work with Python 2.3
>
> http://starship.python.net/crew/samschul/
>
> Sam Schulenburg
>
> Claudio Grondi wrote:
> > Thank you Jeff very much for your quick reply.
> > It saved me really much time of digging in the wrong direction.
> >
> > <(E-Mail Removed)> wrote in
> > news:<(E-Mail Removed)>...
> > >> I took the advice from this web page:
> > >> http://support.microsoft.com/kb/q100027/

> > Ok, I had found this page myself during Googling, but I have missed just
> > to try to use the described way of addressing physical devices with file
> > opening in Python.
> > It works as expected with harddrives so you are right that you are

getting
> > the MBR with the proposed code.
> >
> > After some not always happy end adventures with Python
> > scripting I am impressed by the power of the concept behind
> > the language once again.
> >
> > Claudio
> >
> > >>(I don't know how this extends to floppies, and the 9x family of OSes

> > isn't
> > >>listed in "applies to", so this may not help your case)
> > >>Here, I open "physical drive 0" and see that the magic number

indicates a
> > valid
> > >>boot record. I believe it is the MBR.
> > >>>>> f = open('\\\\.\\PhysicalDrive0', 'rb')
> > >>>>> f.read(512)[-2:]
> > >>'U\xaa' # that is, hex 55 AA
> > >>I don't know much about low-level filesystem or partition details--I

got
> > the
> > >>tidbit about the 55 AA magic number from

> >
>>http://www-uxsup.csx.cam.ac.uk/pub/d...-sles9/ch08.ht
> > ml
> > >>Jeff
> > >><(E-Mail Removed)> schrieb im Newsbeitrag

> > news:(E-Mail Removed)...

>





 
Reply With Quote
 
Grant Edwards
Guest
Posts: n/a
 
      10-11-2005
On 2005-10-10, Claudio Grondi <(E-Mail Removed)> wrote:
> Googling for keywords like
> "direct access sector harddrive Python module Windows"
> seems to give no useful results.
>
> Any hints(best if cross-platform)?
>
> Claudio
>
>
>



--
Grant Edwards grante Yow! Maybe we could paint
at GOLDIE HAWN a rich PRUSSIAN
visi.com BLUE --
 
Reply With Quote
 
sam
Guest
Posts: n/a
 
      10-11-2005
The main use of my SCSI routines,is that by using the SCSIPASSTHROUGH
layer under Windows gives the user absolute control of the storage
device. For example copying data from and IDE drive to a SCSI drive
becomes transparent using SCSI commands. I.e Logical block 0 remains
consistant. I had an PHD clam that using fopen(),and fread(),along with
fwrite() with an offset of 0 would always get you sector zero,head
zero on a drive. I was able to prove that this was not the case. When
using the SCSIPASSTHROUGH layer LBA 0 will always return the first user
accessable sector. Using Python open() behaves the same as the C
functions,thus you would have the same problem.

 
Reply With Quote
 
Claudio Grondi
Guest
Posts: n/a
 
      10-12-2005
Python code for direct access to raw sectors of harddrives (MFT, boot
sector, etc.) in Linux/Windows:

http://people.freenet.de/AiTI-IT/Pyt...ves_onLinux.py
and
http://people.freenet.de/AiTI-IT/Pyt...s_onWindows.py

Claudio
http://wiki.python.org/moin/ClaudioGrondi


 
Reply With Quote
 
 
 
Reply

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
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Ruby byte access to disk sectors like dd does Gary Hasson Ruby 15 11-30-2009 05:16 PM
Large Harddrives and installing windows 2000 fresh? Pacific Dragon NZ Computing 3 01-31-2006 09:16 AM
Can python 'read disk sectors' like/via linux:dd ? news@absamail.co.za Python 1 11-09-2005 07:39 PM
Can python 'read disk sectors' like/via linux:dd ? news@absamail.co.za Python 3 11-06-2005 11:04 AM
During boot up, the computer reports there may be bad sectors.... Happy@Camper.Com Computer Support 4 07-24-2004 11:15 PM



Advertisments