Skip to main content

一个内存读写模块, 今后会更加的完善, 在此非常感谢大家的支持 !

Project description

Python Memory64 Module :ram:


How to Use this Module

  • 简介

  • 这是一个内存模块 最好是用32位版本的Python3 这样兼容些 :

  • 哒哒、我会继续更新此模块的,感谢大家的支持 !!!

  • 哔哩哔哩主页: https://space.bilibili.com/84500837

  • 许多功能请在模块内查看 这里就不一一赘述了 :baby_bottle:

  • 技术交流群: 1029775623

  • 个人博客: https://meta.natapp4.cc


pip install Memory64 # Windows 安装

Function Module

import Memory64.Function            # 导入 Memory64.Function 模块

Memory64.FindWindowPid()            # 通过窗口类名和名称 取窗口句柄 线程句柄 进程ID
Memory64.Function.FindProcessPid()  # 通过进程名取PID
Memory64.Function.MonitorHotkeys()  # 通过按键Ascii码 监听热键状态
Memory64.Function.WindowShake()     # 抖动窗口 (类似QQ)
Memory64.Function.ShowWindowAsync() # 窗口显示隐藏
Memory64.Function.CloseWindow()     # 关闭窗口
Memory64.Function.GetWindRect()     # 获取窗口矩形
Memory64.Function.IsWindowVisible() # 窗口是否可见
Memory64.Function.MoveWindow()      # 移动窗口
Memory64.Function.SetkeyBoHook()    # 安装键盘钩子
Memory64.Function.SendMessage()     # 窗口发送消息
Memory64.Function.UpdateWindow()    # 更新窗口
Memory64.Function.WindPending()     # 窗口挂起


import Memory64.Bin32               # 导入 Memory64.Function 模块

Memory64.Bin32.Openhwnd()           # 打开进程句柄
Memory64.Bin32.GetProcPid()         # 获取进程PID
Memory64.Bin32.GetModuleAddr64()    # 获取64位 32位进程模块基址
Memory64.Bin32.GetModule2()         # 获取64位 32位进程模块基址
Memory64.Bin32.ReadMemory64Int()    # 读64位 32位进程内存整数
Memory64.Bin32.WriteMemory64Int()   # 写64位 32位进程内存整数
Memory64.Bin32.ReadMemory64Float()  # 读64位 32位进程内存小数
Memory64.Bin32.WriteMemory64Float() # 写64位 32位进程内存小数
Memory64.Bin32.WriteMemory64Bytes() # 写64位 32位进程内存字节集
Memory64.Bin32.ReadMemory64Text()   # 读64位 32位进程内存字符串


import Memory64.D3Gui               # 导入 Memory64.D3Gui 模块

Memory64.D3Gui.ExecDraw()           # 初始化D3Gui
Memory64.D3Gui.drawText()           # 绘制文本
Memory64.D3Gui.drawRect()           # 绘制矩形
Memory64.D3Gui.drawLine()           # 绘制线条
Memory64.D3Gui.drawCircle()         # 绘制圆
Memory64.D3Gui.startLoop()          # 启动绘制段
Memory64.D3Gui.endLoop()            # 结束绘制段
版本 说明 检查
1.0.3.dev2 修复Bin32.dll调用报错问题 增加64位进程读写 :wave:
1.0.2.dev2 修复Bin32.dll 调用路径错误问题 :wave:
1.0.1.dev2 修复D3Gui 绘制报错问题 更新目录结构 语法等 :wave:
1.0.0.dev2 第一版 全是BUG 滑稽 :ear_of_rice:

获取64位程序模块基址

from Memory64.Bin32 import *

hwnd = Openhwnd("Calculator.exe")           # 打开进程句柄
pid  = GetProcPid("Calculator.exe")         # 获取进程PID

mod1 = GetModuleAddr64(hwnd, "shlwapi.dll") # 通过进程句柄获取64位程序模块基址
mod2 = GetModule2(pid, "shlwapi.dll")       # 通过进程PID获取64位程序模块基址

print(pid, hwnd, mod1, mod2)                # 输出进程PID, 进程句柄, 输出模块基址

读写64位进程内存

from Memory64.Bin32 import *

hwnd  = Openhwnd("Calculator.exe")                  # 打开进程句柄
mod1  = GetModuleAddr64(hwnd, "shlwapi.dll")        # 通过进程句柄获取64位程序模块基址
addr  = ReadMemory64Int(hwnd, 0x7FF8E64CEC48)       # 直接读内存地址
addr2 = ReadMemory64Int(hwnd, mod1 + 0x4EC48)       # 配合模块加偏移读内存地址
print(addr, addr2)

WriteMemory64Int(hwnd, mod1 + 0x4EC48, 10)          # 写64位内存整数
WriteMemory64Float(hwnd, mod1 + 0x4EC48, 5.261)     # 写64位内存小数
WriteMemory64Int(hwnd, mod1 + 0x4EC48, 10)          # 写64位内存整数

bytesa = "11 33 30 32 32 33 35 40 40 58"
WriteMemory64Bytes(hwnd, 0x7FF77E2BE72E,bytesa, 10)   # 写64位内存字节集

透明GUI绘制

from Memory64 import FindWindowPid
import Memory64.D3Gui

hwnd = FindWindowPid(None, "xxx")[0]            # 通过窗口名称取窗口句柄
draw = Memory64.D3Gui.ExecDraw(hwnd)            # 初始化模块

while True:
    draw.startLoop()                             # 开始绘制段
    draw.drawRect(100,100,100,100,5,(255,254,0)) # 绘制矩形
    draw.endLoop()                               # 结束绘制段

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Memory64-1.0.3.dev2.tar.gz (342.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Memory64-1.0.3.dev2-py3-none-any.whl (343.1 kB view details)

Uploaded Python 3

File details

Details for the file Memory64-1.0.3.dev2.tar.gz.

File metadata

  • Download URL: Memory64-1.0.3.dev2.tar.gz
  • Upload date:
  • Size: 342.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for Memory64-1.0.3.dev2.tar.gz
Algorithm Hash digest
SHA256 e0d5ea7a01ad6335ade63b87e7475707cc1b3c2af160637e605db5c2662c4db7
MD5 17014eb3d13ae49e3b025aec549660ca
BLAKE2b-256 3dd3fa2e33401898f2bcf19b8caed5b210d72e1ec496fd7fa5fb697b03dc1c0a

See more details on using hashes here.

File details

Details for the file Memory64-1.0.3.dev2-py3-none-any.whl.

File metadata

  • Download URL: Memory64-1.0.3.dev2-py3-none-any.whl
  • Upload date:
  • Size: 343.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for Memory64-1.0.3.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 a6b6513ce33ef32a5444727848df0e40a384952242c7c52a6e52a12557692bce
MD5 6ac20f6859fa4f73d9e0e6c1a9577467
BLAKE2b-256 2ca333666d8c20f1ede93a0d8554a4bd3e74eed5cfca1583b28b228bef4fdfee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page