定制调试诊断工具和实用程序(8)
http://tech.ddvip.com 2006年07月20日 社区交流
本文详细介绍定制调试诊断工具和实用程序(8)
本文假设你熟悉 Win32,DLL
- 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(一)
- 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(二)
- 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(三)
- 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(四)
- 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(五)
- 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(六)
- 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(七)
CreateRemoteThread,命令行及其它
你已经看到如何用 Win32 调试 API 来揭示进程是怎样加载 DLLs 以及加载到哪里的。现在让我们来揭开CreateRemoteThread 的秘密,这个函数允许你使用另外一个进程在其上下文中启动函数作为线程运行:
HANDLE CreateRemoteThread(
HANDLE hProcess, // 进程句柄
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD-安全描述符
DWORD dwStackSize, // 初始栈大小
LPTHREAD_START_ROUTINE lpStartAddress, // 线程函数
LPVOID lpParameter, // 线程参数
DWORD dwCreationFlags, // 创建选项
LPDWORD lpThreadId // 线程标示符
);lpStartAddress 应该是拟在另一个进程环境中执行的线程过程地址。这个函数的窍门在于 lpStartAddress 参数必须是另一个进程地址空间中的地址,这也是它为什么难以使用的原因。如果你不想重新创建代码程序集,那么就将它拷贝到另一个进程地址空间即可, 你可以使用一个较容易的解决方法。
责编:豆豆技术应用
正在加载评论...
- VC/VC++按钮设计专题
- VC/VC++ 菜单专题
- VC/VC++ 工具条专题
- VC/VC++ 对话框教程
- VC/VC++ 报表教程
- VC/VC++ 控件
- VC/VC++ GDI
- Visual Studio 2008
- VC/VC++ MFC教程
- VC/VC++ QQ
- VC/VC++ Socket编程
- VC/VC++ 钩子编程
- TangramMini组件应用教程
- VC/VC++ 窗体
- VC/VC++ ADO 教程
- Windows CE 教程
- VC/VC++ DLL(动态链接库)编程
- VC/VC++ PDFlib
- VC与MATLAB编程
- VC/VC++ DirectShow 教程
- VC++入门视频教程
- VC/VC++ COM组件设计与应用
- VC/VC++ ATL
- VC/VC++ WTL
- VC/VC++ 定制调试诊断工具和程序
- VC/VC++ 进程
- VC/VC++ Win32
- VC/VC++ WMI
- VC/VC++ 消息
- 更多VC/VC++专题……