首页
社区
课程
招聘
DeviceIoControl
发表于: 2006-3-7 17:39 8789

DeviceIoControl

2006-3-7 17:39
8789
通过动态跟踪,已经知道了DeviceIoControl的参数的值,并且可以读出芯片中信息,现在的问题是如何改写芯片中的信息(以确定能够改)?请各位帮忙!!
谢谢!

以下代码(delphi):
hDevice := CreateFile(lpszDevicePath,         // 设备路径
        generic_read,                        // 读写方式
        0,                                  // 共享方式
        0,                                  // 默认的安全描述符
        3,                                 // 创建方式
        1073741824,                       // 不需设置文件属性
        0);                               // 不需参照模板文件
DeviceIoControl(hDevice,
                2147491864,
                @Buffer,
                BufferSize,
                @Buffer,
                BufferSize,
                cbBytesReturned,
                0)

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 21
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
硬件改写?顶一下!
2006-3-7 19:21
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
怎么没有人帮忙啊??
2006-3-7 21:06
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
去看sys文件吧,在那里可以找到对应的参数
2006-3-7 21:19
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
去看sys文件吧,在那里可以找到对应的参数
2006-3-7 21:27
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
justlovemm:
能不能用交流一下啊?email:chenhaohoo@163.com
2006-3-8 09:30
0
雪    币: 1489
活跃值: (235)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我发的贴子,看看是不是你想要的?
http://bbs.pediy.com/showthread.php?s=&threadid=22008
2006-3-8 09:34
0
雪    币: 329
活跃值: (343)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
8
看lpszDevicePath中的设备名称是什么。然后找到相应的.SYS文件。反汇编,看它的Dispatch过程中是如何处理IRP传递过来的CtrlCode的,所有的CtrlCode都在那里。
2006-3-8 10:15
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢各位的帮助,现在我已经找到了控制码了80002004,80002008...
现在的问题是怎么知道哪一个是控制写硬件的控制码,目前只知道80002018是读取数据的控制码。
请求帮助阿!!
2006-3-8 12:33
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
还是不知道怎么写数据(或者修改)!!谁能帮我解决这个问题,本人愿付酬金的!具体可以联系我:我的qq号624633539
2006-3-9 09:58
0
雪    币: 181
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
顶一下啊,帮帮忙啊
2006-3-13 15:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
1)打开.sys文件,找到DriverEntry函数。

2)在开头处找到类似下面的代码,以确定_write函数地址。

   mov dword [ecx+44h], offset _read
   mov dword [ecx+48h], offset _write
3)修改_write函数,beep一声,然后返回。
4)逐个试一下你的8000200X。
2006-3-13 16:32
0
游客
登录 | 注册 方可回帖
返回
//