首页
社区
课程
招聘
[求助]DeviceIoControl函数不会分析
发表于: 2014-9-27 20:48 5462

[求助]DeviceIoControl函数不会分析

2014-9-27 20:48
5462
0012F670   00402243  /CALL 到 DeviceIoControl 来自 22.0040223E
0012F674   000000A4  |hDevice = 000000A4 (window)
0012F678   0007C088  |IoControlCode = SMART_RCV_DRIVE_DATA
0012F67C   00161AC0  |InBuffer = 00161AC0
0012F680   00000020  |InBufferSize = 20 (32.)
0012F684   001523D0  |OutBuffer = 001523D0
0012F688   00000220  |OutBufferSize = 220 (544.)
0012F68C   0012F6C8  |pBytesReturned = 0012F6C8
0012F690   00000000  \pOverlapped = NUL
这个函数参数有点复杂,怎么个分析这个函数来找到程序取硬盘序列号
http://qiannao.com/file/m718195/5734b862/
网络验证软件,抓包发现取硬盘特征上传服务器验证,无法找出DeviceIoControl 这个函数的返回取硬盘机器码的符号地址

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 995
活跃值: (669)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
第五个参数的结构里面
2014-9-27 21:20
0
雪    币: 9
活跃值: (57)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
lpOutBuffer Any,驱动程序返回给应用程序的数据缓冲区地址,这个指针的结构体是什么啊,查不到啊
2014-9-27 21:26
0
雪    币: 9
活跃值: (57)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
http://wenku.baidu.com/link?url=rTVKsLP8YHsOojnqs-hHeEM7iwk6rQ8McKzm3mlrxWUKC427plWisZqVOB4Rvmm7nO94RhG_4NlwOYY24lnp0eNYXAE95gkys7pTKXzY7S3
那个才是结构,高手说下,上面有详细,看不懂
2014-9-27 22:50
0
雪    币: 220
活跃值: (117)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
传入的是个PVIOD类型的指针 然后另外一个参数指定size

在驱动中填充该指针指向的内存.3环读取

不同驱动的定义不同
2014-9-28 08:49
0
雪    币: 59
活跃值: (1481)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
先断CreateFileA,这样能更快找到关键位置。它返回之后,一般接下来就要调用 DeviceIoControl了。
2014-9-29 21:19
0
雪    币: 9
活跃值: (57)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
有点难理解,找不来
2014-9-30 09:16
0
游客
登录 | 注册 方可回帖
返回
//