Windows Mobile中使用WinCE驱动调试助手的小技巧

简介: 驱动调试助手是针对Windows CE做的,在Windows Mobile中使用会有一些问题,最主要的就是其菜单栏被Windows Mobile系统的任务栏给遮住了,导致相应的功能无法正常使用,如下图所示。

      驱动调试助手是针对Windows CE做的,在Windows Mobile中使用会有一些问题,最主要的就是其菜单栏被Windows Mobile系统的任务栏给遮住了,导致相应的功能无法正常使用,如下图所示。

      image

      按理来说只要将系统任务栏隐藏就可以,今天在模拟器上实验了一下,看起来是可行的。只是任务栏隐藏后,相应的区域出现画屏,如下图所示。

      image

      不知道画屏是不是模拟器的缘故,暂且不管先。驱动调试助手的菜单隐约可见,简单测试了下其中的注册表搜索的功能,也正常工作,如下图所示。

      image image

      实现方法如下,借助于一个WMDM.exe的程序,通过它隐藏系统任务栏并将同一目录下的DM.exe启动起来,在DM.exe退出后,恢复显示系统任务栏,代码如下。

 1      HWND hWnd;
 2      DWORD dwLen;
 3      PROCESS_INFORMATION pi;
 4      TCHAR szPath[MAX_PATH];
 5      
 6      dwLen  =  GetModuleFileName(NULL, szPath, MAX_PATH);
 7       if  ( ! dwLen)
 8      {
 9           return   0 ;
10      }
11 
12       while  (szPath[ -- dwLen]  !=  _T( ' \\ ' ))
13      {
14          szPath[dwLen]  =  _T( ' \0 ' );
15      }        
16      wcscat(szPath, _T( " DM.exe " ));
17 
18      hWnd  =  FindWindow(_T( " HHTaskBar " ), NULL);
19       if  (hWnd)
20      {
21          EnableWindow(hWnd, FALSE);
22          ShowWindow(hWnd, SW_HIDE);
23      }
24 
25       if (CreateProcess(szPath, NULL, NULL,  0 , FALSE,  0 , NULL, NULL, NULL,  & pi))
26      {
27          WaitForSingleObject(pi.hProcess, INFINITE);
28          CloseHandle(pi.hThread);
29          CloseHandle(pi.hProcess);
30      }
31      
32      EnableWindow(hWnd, TRUE);
33      ShowWindow(hWnd, SW_SHOW);

       WMDM的下载地址:http://files.cnblogs.com/we-hjb/WMDM.rar,其中包括了ARMV4I版本的DM.exe。

目录
相关文章
|
5天前
|
Windows
Windows 映射网络驱动器及删除-此网格连接不存在
Windows 映射网络驱动器及删除-此网格连接不存在
7 0
|
1月前
|
安全 测试技术 Windows
LabVIEW版本、硬件驱动和Windows版本之间兼容性
LabVIEW版本、硬件驱动和Windows版本之间兼容性
40 2
|
2月前
|
网络安全 C++ Windows
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
|
2月前
|
Windows
【Windows驱动开发】注册表的基本操作(创建、打开、修改、读取、枚举)(附源码)
【Windows驱动开发】注册表的基本操作(创建、打开、修改、读取、枚举)(附源码)
|
2月前
|
Windows
【Windows内核驱动函数(1)】IoCreateSymbolicLink()-----创建符号链接函数
【Windows内核驱动函数(1)】IoCreateSymbolicLink()-----创建符号链接函数
|
3月前
|
存储 安全 数据安全/隐私保护
【Windows manage-bde 命令】BitLocker 2.0:一步步解锁您的加密驱动器
【Windows manage-bde 命令】BitLocker 2.0:一步步解锁您的加密驱动器
1007 0
|
3月前
|
监控 安全 API
5.9 Windows驱动开发:内核InlineHook挂钩技术
在上一章`《内核LDE64引擎计算汇编长度》`中,`LyShark`教大家如何通过`LDE64`引擎实现计算反汇编指令长度,本章将在此基础之上实现内联函数挂钩,内核中的`InlineHook`函数挂钩其实与应用层一致,都是使用`劫持执行流`并跳转到我们自己的函数上来做处理,唯一的不同的是内核`Hook`只针对`内核API`函数,但由于其身处在`最底层`所以一旦被挂钩其整个应用层都将会受到影响,这就直接决定了在内核层挂钩的效果是应用层无法比拟的,对于安全从业者来说学会使用内核挂钩也是很重要。
70 1
5.9 Windows驱动开发:内核InlineHook挂钩技术
|
3月前
|
监控 Windows
7.4 Windows驱动开发:内核运用LoadImage屏蔽驱动
在笔者上一篇文章`《内核监视LoadImage映像回调》`中`LyShark`简单介绍了如何通过`PsSetLoadImageNotifyRoutine`函数注册回调来`监视驱动`模块的加载,注意我这里用的是`监视`而不是`监控`之所以是监视而不是监控那是因为`PsSetLoadImageNotifyRoutine`无法实现参数控制,而如果我们想要控制特定驱动的加载则需要自己做一些事情来实现,如下`LyShark`将解密如何实现屏蔽特定驱动的加载。
57 0
7.4 Windows驱动开发:内核运用LoadImage屏蔽驱动
|
3月前
|
监控 安全 API
7.3 Windows驱动开发:内核监视LoadImage映像回调
在笔者上一篇文章`《内核注册并监控对象回调》`介绍了如何运用`ObRegisterCallbacks`注册`进程与线程`回调,并通过该回调实现了`拦截`指定进行运行的效果,本章`LyShark`将带大家继续探索一个新的回调注册函数,`PsSetLoadImageNotifyRoutine`常用于注册`LoadImage`映像监视,当有模块被系统加载时则可以第一时间获取到加载模块信息,需要注意的是该回调函数内无法进行拦截,如需要拦截则需写入返回指令这部分内容将在下一章进行讲解,本章将主要实现对模块的监视功能。
77 0
7.3 Windows驱动开发:内核监视LoadImage映像回调
|
3月前
|
监控 API C++
8.4 Windows驱动开发:文件微过滤驱动入门
MiniFilter 微过滤驱动是相对于`SFilter`传统过滤驱动而言的,传统文件过滤驱动相对来说较为复杂,且接口不清晰并不符合快速开发的需求,为了解决复杂的开发问题,微过滤驱动就此诞生,微过滤驱动在编写时更简单,多数`IRP`操作都由过滤管理器`(FilterManager或Fltmgr)`所接管,因为有了兼容层,所以在开发中不需要考虑底层`IRP`如何派发,更无需要考虑兼容性问题,用户只需要编写对应的回调函数处理请求即可,这极大的提高了文件过滤驱动的开发效率。
67 0