GithubHelp home page GithubHelp logo

memwin's Introduction

logo

Python >= 3.8 GitHub stars License win32

memwin

介绍

一个python操作windows的 进程 线程 内存读写 HOOK的库, 暂仅支持32位进程

为什么需要创建这个库?
因为Python尽管已经有pywin32, psutil等库可以操作windows的进程线程内存,
但这些库都只是操作windows的原生api, 自己用python写的话效率低下, 要定义很多结构体才能用,
如果封装好, 就能更方便地通过hwnd来操作任意窗口进程的内存

出于效率考虑, 大家只需要传入hwnd, 就可以操作任意窗口的内存,
已经查过的ID, 句柄信息会存储在实例对象中,
只要查过一次, 下次就能直接获取, 无需再次查询, 大大提高CPU的执行效率 但在使用过程中要注意, 一定要调用方法来获取对象的属性, 不要直接读属性

欢迎各位大佬, 动动手点个Star, 共同完善这个库~

安装

pip install memwin

快速开始

下面演示三个子模块的常用操作, 其它的方法在左侧GitHub中的开源代码

进程操作示例

from memwin.xprocess import XProcess

hwnd=329884
xp = XProcess(hwnd)
h_process = xp.get_h_process()
print(f"h_process: {h_process}")

线程操作示例

from memwin.xthread import XThread

hwnd=329884
xt = XThread(hwnd)
h_thread = xt.get_h_thread()
print(f"h_thread: {h_thread}")

内存读写操作示例

from memwin.xmemory import XMemory

hwnd=329884
xm = XMemory(hwnd)
teb_addr = xm.get_teb_addr()
print(f"TEB地址: {teb_addr}")
stack_top_addr = xm.read_int(teb_addr, 0x4)
print(f"栈顶指针: {stack_top_addr}")

memwin's People

Contributors

decenfrontier avatar

Stargazers

 avatar  avatar  avatar

Forkers

piaoxue88

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.