|
[讨论][讨论][讨论]OD附加DNF,可以附加,但是他老是暂停,我点击运行,他还暂停,我要一直按着运行,才能跑下去,很奇怪,各位来帮忙看看
不知道是不是对OD有检测还是我过驱动哪里没成功,但是OD正常附加了出来线程信息,就是卡住,我一按F9就动了一下又卡住 |
|
[讨论][讨论][讨论]OD附加DNF,可以附加,但是他老是暂停,我点击运行,他还暂停,我要一直按着运行,才能跑下去,很奇怪,各位来帮忙看看
刚刚检查了驱动源码,没发现有int 3断点,我在想是不是异常或者是有其他检测,故意下断的吗?! |
|
[讨论]驱动调试KdPrint显示问题
int main(int argc, char* argv[]) { //add //CreateFile 打开设备 获取hDevice HANDLE hDevice = CreateFile("\\\\.\\My_DriverLinkName", //\\??\\My_DriverLinkName GENERIC_READ | GENERIC_WRITE, 0, // share mode none NULL, // no security OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); // no template } 首先多谢大家的回答,这个问题我是这样解决的,不知道对不对,如上在EXE程序中 |
|
|
|
[讨论]驱动调试KdPrint显示问题
NTSTATUS CreateDevice(PDRIVER_OBJECT pDriverObject) { //设备名称 UNICODE_STRING devName; RtlInitUnicodeString(&devName,L"\\Device\\BaoHu");//命名为保护 //接受创建的设备 PDEVICE_OBJECT pDevObj; //创建设备 NTSTATUS status=IoCreateDevice(pDriverObject,//驱动程序对象 sizeof(DEVICE_EXTENSION),//指定驱动程序为设备扩展对象而定义的结构体大小 &devName,//创建设备的名字 FILE_DEVICE_UNKNOWN,//设备类型 未知设备 0, true,//设备是否是独占 &pDevObj//符号链接 ); if(!NT_SUCCESS(status))//判断申请内存是否成功 { if (status==STATUS_INSUFFICIENT_RESOURCES) { KdPrint(("资源不足")); } if(status==STATUS_OBJECT_NAME_EXISTS) { KdPrint(("指定对象名存在")); } if (status==STATUS_OBJECT_NAME_COLLISION) { KdPrint(("对象名称有冲突")); } KdPrint(("设备创建失败")); return status; } KdPrint(("设备创建成功的名字********\n"),pDriverObject); KdPrint(("设备创建成功********\n")); DuiKangQingLing(); PDEVICE_EXTENSION pDevExt; //符号链接名称 UNICODE_STRING symlinkName; RtlInitUnicodeString(&symlinkName,L"\\??\\BaoHuSys");//保护SYS //代表是一个IO设备 pDevObj->Flags|=DO_BUFFERED_IO;//do_buffered //得到设备扩展 pDevExt = (PDEVICE_EXTENSION)pDevObj->DeviceExtension; //设置扩展设备的设备对象 pDevExt->pDevice = pDevObj; //设置扩展设备的设备名称 pDevExt->ustrDeviceName = devName; pDevExt->ustrSymLinkName=symlinkName; //创建符号链接 status=IoCreateSymbolicLink(&symlinkName,&devName); if (!NT_SUCCESS(status)) { //创建失败 删除设备 IoDeleteDevice( pDevObj ); return status; } return STATUS_SUCCESS; } 是这个吗请问 |
|
[讨论]驱动调试KdPrint显示问题
我的主要目的是执行HelloDDKDispatchRoutine中的内容,有什么办法做到呀 |
|
[讨论]驱动调试KdPrint显示问题
[QUOTE=yarpee;1095593]这段代码是设置驱动回调,当对应的事件如CloseHandle发生就会调用pDriverObject->MajorFunction[IRP_MJ_CLOSE]中设置的IRP_MJ_CLOSE回调。[/QUOTE] 您的意思是在应用程序中调用HelloDDKDispatchRoutine函数才会显示信息的吗? |
|
|
|
[讨论]驱动调试KdPrint显示问题
pDriverObject->MajorFunction[IRP_MJ_CREATE] = HelloDDKDispatchRoutine; pDriverObject->MajorFunction[IRP_MJ_CLOSE] = HelloDDKDispatchRoutine; pDriverObject->MajorFunction[IRP_MJ_WRITE] = HelloDDKDispatchRoutine; pDriverObject->MajorFunction[IRP_MJ_READ] = HelloDDKDispatchRoutine; 这些不是入口吗,我如驱动加载工具加载的时候不就调用了吗,如果不是请问怎么调用?能否告诉我呀,3QQQQQQ |
|
[求助][求助]驱动加载问题 请大神赐教3Q3Q3Q
求助呀大哥们帮帮说一句话也是好的呀呵呵 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值