windows下 远程DLL注入
来源:互联网 发布:新纪元软件官网 编辑:程序博客网 时间:2024/05/29 08:41
windows下 远程DLL注入
第一步:
遍历所有进程,找到目标进程,获取该进程的ID。(完整code见本文链接)
核心函数:CreateToolhelp32Snapshot
CreateToolhelp32Snapshot函数为指定的进程、
进程使用的堆[HEAP]、模块[MODULE]、线程[THREAD])建立一个快照[snapshot]。
HANDLE WINAPI CreateToolhelp32Snapshot(
DWORD dwFlags, //用来指定“快照”中需要返回的对象,可以是TH32CS_SNAPPROCESS等
DWORD th32ProcessID //一个进程ID号,用来指定要获取哪一个进程的快照,
//当获取系统进程列表或获取当前进程快照时可以设为0
);
dwFlags
[输入]指定快照中包含的系统内容,这个参数能够使用下列数值(常量)中的一个或多个。
TH32CS_INHERIT - 声明快照句柄是可继承的。
TH32CS_SNAPALL - 在快照中包含系统中所有的进程和线程。
TH32CS_SNAPHEAPLIST - 在快照中包含在th32ProcessID中指定的进程的所有的堆。
TH32CS_SNAPMODULE - 在快照中包含在th32ProcessID中指定的进程的所有的模块。
TH32CS_SNAPPROCESS - 在快照中包含系统中所有的进程。
TH32CS_SNAPTHREAD - 在快照中包含系统中所有的线程。
注意:需要使用PROCESSENTRY32结构体,以及Process32First和Process32Next遍历。
第二步:
修改调用进程的权限(XP下为调试权限)
核心函数:OpenProcessToken,LookupPrivilegeValue,AdjustTokenPrivileges
//打开进程令牌环
第三步:
打开进程
第四步:
向远程进程空间中写入DLL路径字符串
注意:DLL路径必须是全路径
使用函数如下:
VirtualAllocEx和WriteProcessMemory
第五步:
创建远程线程
第六步:
释放远程进程中的内存以及关闭进程句柄
VirtualFreeEx和CloseHandle(m_hRemoProc)
http://download.csdn.net/detail/fly_sky010/8272169
- windows下 远程DLL注入
- Ring3下远程注入DLL干掉IceSword
- C++:远程注入DLL
- zz - DLL远程注入
- 学习:DLL远程注入
- 远程dll注入 C#
- DLL远程注入实践
- createremotethread()远程注入dll
- 远程线程dll注入
- DLL远程注入实例
- dll远程注入
- 远程DLL注入
- 远程线程DLL注入
- Dll远程注入解除
- DLL的远程注入
- DLL远程注入代码
- 远程注入DLL
- dll远程注入
- 使用busybox制作rootfs
- Apache DBCP连接数据库异常重连
- python 读取文件的最后一行
- 在linux中,如何增加、修改、删除、暂停和冻结用户名
- k-means算法代码
- windows下 远程DLL注入
- Windows 更新错误 8024401C -解决方法之一
- linux文件系统启动流程 ---笔记整理
- Codeforces Round #283 (Div. 2)---A. Minimum Difficulty (暴力)
- C#中线程状态的判别
- Gradle实现的两种简单的多渠道打包方法
- linux下vi命令大全
- 身为程序员的我们......
- 梁启超为何善变?