python找.exe进程基地址的方法(以微信为例子)
2023-12-20 14:03:37
使用psutil库的process_iter()函数获取进程列表。
遍历进程列表,使用进程的name()函数判断是否为目标exe进程。
如果是目标exe进程,使用windll.kernel32库的OpenProcess()函数获取进程的句柄。
使用windll.kernel32库的GetModuleHandleA()函数获取进程的基地址。
输出基地址。
使用windll.kernel32库的CloseHandle()函数关闭进程的句柄。
import psutil
import ctypes
# 获取进程列表
processes = psutil.process_iter()
# 遍历进程列表,找到exe进程
for process in processes:
try:
if process.name() == 'WeChat.exe':
# 获取微信进程的PID
pid = process.pid
print('pid:', pid)
# 获取进程的句柄
handle = ctypes.windll.kernel32.OpenProcess(0x1F0FFF, False, pid)
# 获取进程的基地址
base_address = ctypes.windll.kernel32.GetModuleHandleA(None)
# 输出基地址
print('WeChat.exe的基地址:', hex(base_address))
# 关闭进程的句柄
ctypes.windll.kernel32.CloseHandle(handle)
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
输出内容
pid: 10724
WeChat.exe的基地址: 0x290b0000
完毕!!感谢您的收看
----------★★历史博文集合★★----------
我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具
文章来源:https://blog.csdn.net/gxz888/article/details/135103178
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!