【发布时间】:2016-08-25 23:36:25
【问题描述】:
我一直在反转课堂上给出的示例应用程序,我在试图找出 DeviceIoControl() 函数在 Output Buffer 中返回的内容时遇到了问题,因为在调用 @987654332 后经常使用 DeviceIoControl() @,我必须讨论最后一个。
这些是程序经过的步骤:
- 程序以
READ|WRITE访问和READ|WRITE共享模式(CreateFile()功能)打开C:驱动器。 - 然后用我将在最后发布的某些数据填充输入缓冲区(这似乎是一个结构)。
- 指定
Input Buffer和Output Buffer大小。 - 最后使用控制代码调用
DeviceIoControl():4D004h
通过查看Output Buffer 中返回的数据,似乎都是关于硬盘驱动器信息,例如:制造商、型号名称...等
保留供以后使用的最重要的字符串是:Z2P1S4PJ,我不知道它是什么意思!!
对于其余的补充:
【问题讨论】:
-
最后几张图忘记注释了。第一个(最后)是对CreateFile的调用。第二个是对ControlIoDevice的调用。第三个也是最后一个是Input Buffer数据。
-
是调用
ControlIoDevice还是DeviceIoControl? MSDN 对第一个没有帮助。 -
@Seki 是
DeviceIoControl,很抱歉弄错了。 -
@Seki 我在您的回答中添加了评论,请查看!
标签: winapi reverse-engineering createfile ollydbg