I've been reversing an exemplary application given in class & I'm facing a problem trying to find out what the DeviceIoControl()
function is returning in the Output Buffer
& since DeviceIoControl()
is often used after calling CreateFile()
, i have to discuss about that last one.
Those are the steps the program goes through:
- The program opens
C:
drive withREAD|WRITE
access &READ|WRITE
shared mode (CreateFile()
function). - Then fills an input buffer (which seems to be a structure) with certain data I'll be posting at the end.
- Specifies
Input Buffer
&Output Buffer
sizes. - And finally calling
DeviceIoControl()
with control code:4D004h
By looking at the data returned in the Output Buffer
, it seems like it's all about hard drive info like: manufacturer, model name...etc
This is the data block returned:
The most important string which is kept for later use is: Z2P1S4PJ
and i have no idea what it means !!
For the rest of supplements: