提权获取进程路径并获取进程列表
1、进程提权:
- BOOL CProgressInfo::AdjustPrivileges()
- {
- HANDLE hToken = NULL;
- TOKEN_PRIVILEGES tp = {0};
- TOKEN_PRIVILEGES oldtp = {0};
- DWORD dwSize = sizeof(TOKEN_PRIVILEGES);
- LUID luid = {0};
- if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) {
- if (GetLastError()==ERROR_CALL_NOT_IMPLEMENTED)
- return TRUE;
- else
- return FALSE;
- }
- if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luid)) {
- CloseHandle(hToken);
- return FALSE;
- }
- tp.PrivilegeCount=1;
- tp.Privileges[0].Luid = luid;
- tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
- /* Adjust Token Privileges */
- if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), &oldtp, &dwSize)) {
- CloseHandle(hToken);
- return FALSE;
- }
- // close handles
- CloseHandle(hToken);
- return TRUE;
- }
2、获取进程列表(提权后可获取基本所有的进程路径):
- BOOL CProgressInfo::GetProgressList()
- {
- BOOL bResult = FALSE;
- HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
- if ( hSnap == INVALID_HANDLE_VALUE )
- return FALSE;
- HANDLE hProcess = NULL;
- PROCESSENTRY32 info = {0};
- info.dwSize = sizeof(PROCESSENTRY32);
- BOOL bRet = Process32First(hSnap, &info);
- while(bRet) {
- hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, info.th32ProcessID);
- if (hProcess) {
- GetModuleFileNameEx(hProcess, NULL, /*缓冲区指针*/, MAX_PATH);//获取进程路径
- }
- bRet = Process32Next(hSnap, &info);
- }
- return TRUE;
- }
3、根据进程的PID,结束此进程:
- void CProgressInfo::DeleteProgress(DWORD pUID)
- {
- HANDLE hProcessHandle;
- hProcessHandle = ::OpenProcess(PROCESS_TERMINATE, FALSE,pUID);
- if(hProcessHandle)
- {
- TerminateProcess(hProcessHandle,-1);
- CloseHandle(hProcessHandle);
- }
- else
- {
- //......
- }
- }
来源:http://blog.csdn.net/u012372584/article/details/61912606
转载于:https://www.cnblogs.com/acmexyz/p/8521861.html
提权获取进程路径并获取进程列表相关推荐
- VB 获取路径名各部分 (获取文件路径,获取文件名,获取文件扩展名)自编
'====================获取路径名各部分: 如: c:\dir1001\aaa.txt '============获取路径路径 c:\dir1001\ '============获 ...
- MAC怎么获取文件路径 MAC获取文件路径的四种方法
MAC怎么获取文件路径介绍 方法一:最简单的方法 右键文件或者文件夹,选择显示简介 2在弹出来的窗口中找到位置,即为路径,在mac 10.10之前的系统是正常的路径,10.10开始是小箭头代替/显示 ...
- java 获取包路径_java获取java文件路径的四种方法
java获取java文件路径的四种方法 发布时间:2020-04-17 11:03:45 来源:亿速云 阅读:750 作者:小新 今天小编给大家分享的是java获取java文件路径的四种方法,很多人都 ...
- java获取服务器路径_JAVA获取服务器路径的方法
1.在JSF环境中获取到ServletContext: 2.servlet中获得项目绝对路径 根目录所对应的绝对路径 request.getServletPath(); 文件的绝对路径 request ...
- vue中input获取文件路径_JS获取input file绝对路径的方法(推荐)
最近因需要上传文件到oracle blob里, 在获取文件路径的遇到些问题,由于安全原因,新版的浏览器都不支持直接获取本地URL,在网上找了些方法,如下: //FX获取文件路径方法 function ...
- Python 标准库之 os (获取当前目录、读取/设置环境变量、重命名文件、运行shell命令、创建/删除/查看目录文件、判断目录/文件/存在、获取绝对路径、获取文件名、获取换行符、获取路径分隔符)
1. os与sys模块的官方解释如下: os This module provides a portable way of using operating system dependent funct ...
- java get image获取根路径_Java 获取资源文件路径
1 问题描述 通过源码运行时,一般使用如下方式读取资源文件: String str = "1.jpg"; 资源文件与源码文件放在同一目录下,或者拥有同一父级目录: String s ...
- java 获取home路径_Java获取项目或类路径
本文参考 封装在jar包里面,执行jar包,获取当前jar包的绝对路径 System.getProperty("java.class.path") Java获取当前class的绝对 ...
- python获取绝对路径_Python 获取文件路径及文件目录
建議你可以稍微瀏覽一下 Python doc: os.path, 你就會明白囉: 我放上跟你問題相關的幾個條目: os.path.abspath(path) Return a normalized a ...
- java获取绝对路径_JAVA获取项目绝对路径
另,Class类还有一个getResourceAsStream方法,记得以前有个项目要读取在同一个包内的一个xml,就用的这个. 1.如何获得当前文件路径 常用: (1).Test.class.get ...
最新文章
- 使用python建立简单的树机构
- 李宏毅机器学习笔记(五)-----Where does the error come from
- TED+如何让压力成为朋友+如何面对压力决定你的未来
- 5-Python3从入门到实战—基础之数据类型(列表-List)
- ALL ABOUT CIRCUITS 的资源整理
- VC6生成和调用lib
- lamp mysql脚本_初次尝试利用脚本自动编译搭建LAMP-----Mysql
- 路由交换以及其他网络名词基本概念
- Caffe: Caffe的Python接口
- C++中explicit关键字用法
- matlab画泡面图,MATLAB中,( )函数可以保存图像并指定为图像文件格式。
- 8、linux上安装hbase
- 牛客 XOR和(找规律)
- 关于IDEA编辑器运行测试方法时无法在控制台进行输入的问题
- ArcGIS AddIN异常:无法注册程序集 未能加载文件或程序集ESRI.ArcGIS.Desktop.Addins
- Linux编辑启动停止重启springboot jar包脚本
- Rust: Rust 异步入门 (作者洋芋,来自Rust语言中文社区)
- 毕设 学生信息管理系统论文
- web中常用的20种字体 (share)
- 一款清爽的CSS表格样式
热门文章
- Mac屏幕常亮时间控制:Theine
- 新手:Mac状态栏图标管理技巧
- 2.移植3.4内核-支持烧写yaffs2,裁剪内核并制作补丁
- Visual Studio Code 使用 ESLint 增强代码风格检查
- binlog 分析及回滚神器Analysisbinlog
- RocketMQ 拉取消息-通信模块
- MaxCompute 2.0 生态开放之路及最新发展
- Wordpress 错误ERROR: Cookies are blocked or not supported by your browser.
- powerdesigner 连接数据库
- UNIX环境高级编程——标准I/O库缓冲区和内核缓冲区的区别