VB.net中读取内存数据问题,不会整。(等会就回来看)

urf 2004-05-10 03:51:48
我正在做一个读取游戏内存数据的程序,不是修改器。只是监视固定内存地址的数据,如0101CE81的一个位置的浮点数据,定期读取这个位置的数据进行监视。

但是我看了一些文章好像都是vb6的,里面有些语句不太兼容。我自己写的老是抓不到进程句柄(游戏已运行)。

请问在VB.net里应该具体怎么写?或者有什么其它更简单的方法实现?
程序思路:点“开始监视按钮”触发验证游戏是否已经运行并抓到句柄,可开始读内存,然后触发timer,定期读取指定地址的数据并显示在text控件里。
...全文
306 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
urf 2004-05-11
  • 打赏
  • 举报
回复
怎么还没解决啊?我是初学者能不能说详细点。
urf 2004-05-10
  • 打赏
  • 举报
回复
好像没有理解我的意思(!-_-)
我现在知道这些代码,就是发现有些在.net里不兼容,而且老是抓不到进程句柄。
我的代码:
声明:
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, ByVal lpdwProcessId As Long) As Long
Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As String, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As String, ByVal lpBuffer As String, ByVal nSize As Long, ByVal lpNumberOfBytesWritten As Long) As Long
Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As String, ByVal lpBuffer As String, ByVal nSize As Long, ByVal lpNumberOfBytesWritten As Long) As Long
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Dim hWnd, pid, pHandle As Long

代码(用写字板测试):
hWnd = FindWindow(vbNullString, "写字板")
If hWnd = 0 Then
MsgBox("你还没打开写字板?")
Exit Sub
End If
GetWindowThreadProcessId(hWnd, pid)
pHandle = OpenProcess("PROCESS_ALL_ACCESS", False, pid)
If (pHandle = 0) Then
MsgBox("得不到进程句柄!")
Exit Sub
End If

每次都抓不到句柄,前面的声明有些地方被我改了,因为在.net里不能用。
谁能提供能抓到进程句柄的.net里的代码?
lxcc 2004-05-10
  • 打赏
  • 举报
回复
vb.net访问内存还不如vb6(个人感觉!)
Montaque 2004-05-10
  • 打赏
  • 举报
回复
。net 一般是不允许你直接读内存中的数据,这样不安全。
度的话必须掉api
liutian32 2004-05-10
  • 打赏
  • 举报
回复
可使用API函数FindWindow来查找指定进程是否在运行,如果找到指定进程,这个函数返回的就是进程句柄。你所说的读内存应该指的是共享内存吧,也必须使用API函数来实现,具体的实现要用到下面函数:

Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Declare Function CreateFileMapping Lib "kernel32" Alias "CreateFileMappingA" (ByVal hFile As Long, lpFileMappigAttributes As SECURITY_ATTRIBUTES, ByVal flProtect As Long, ByVal dwMaximumSizeHigh As Long, ByVal dwMaximumSizeLow As Long, ByVal lpname As String) As Long
Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) As Long
Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Long) As Long
Declare Function FlushFileBuffers Lib "kernel32" (ByVal hFile As Long) As Long
Declare Function MapViewOfFile Lib "kernel32" (ByVal hFileMappingObject As Long, ByVal dwDesiredAccess As Long, ByVal dwFileOffsetHigh As Long, ByVal dwFileOffsetLow As Long, ByVal dwNumberOfBytesToMap As Long) As Long
Declare Function UnmapViewOfFile Lib "kernel32" (ByVal lpBaseAddress As Long) As Long
Declare Function OpenFileMapping Lib "kernel32" Alias "OpenFileMappingA" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal lpname As String) As Long

共享内存的读写可能要使用MoveMemory函数。以上函数的声明是VB6的,在.net下要做相应的转换。
内容概要:本文提出了一种基于混沌系统与DNA编码的复合型彩色图像加密解密方案,旨在解决传统图像加密算法安全性不足及抗干扰能力弱的问题。方案通过混沌系统的伪随机序列对图像像素进行全局置乱,并结合DNA碱基编码的多维扩散特性实现像素值的深层混淆,构建了“置乱-扩散”双重保护机制。研究不仅系统验证了算法在密钥空间、密钥敏感性、信息熵等方面的安全性能,还重点开展了多场景、多强度的抗噪声与抗裁剪性能分析,证实了其在高斯噪声、椒盐噪声干扰及不同位置、面积裁剪攻击下的卓越鲁棒性,弥补了现有研究在实用性方面的不足。; 适合人群:具备一定信息安全、图像处理或密码学基础,从事科研或工程开发的研究生、教师及技术人员。; 使用场景及目标:①为彩色图像在网络传输、医疗影像、军事通信等高安全需求场景下的保密存储与传输提供高鲁棒性加密方案;②为研究复合型图像加密算法的设计与性能评估提供系统性参考; 阅读建议:读者应重点关注混沌与DNA编码的融合机制、加密流程设计以及抗干扰性能的测试方法,建议结合文中提到的仿真结果深入理解算法的实用性与优化方向,并可进一步探索其在视频加密或多模态数据保护中的扩展应用。
内容概要:WiFiSupply斯普莱WFS7000BDAX是一款高性能、电信工业级双射频双频分体式无线基站,支持2.4G和5.8G频段的WiFi6(802.11ax)标准,采用4T4R MIMO架构,双射频最大带宽达2974Mbps,点对点实际吞吐量超过1500Mbps。设备具备高发射功率(单射频28dBm)、超强抗干扰能力、通信延迟≤1ms、支持OFDMA、FastRoaming快速漫游、LD长距离优化协议等核心技术,配合高增益天线可实现3km覆盖或150公里点对点桥接。产品支持宽电压POE供电(12-30V,可选48V),具备IP68防护等级和-45~85℃宽温工作能力,通过多项国家级认证,适用于恶劣环境下的稳定运行。支持胖瘦一体模式、云管理平台、API对接、SNMP、SSH等丰富管理方式,提供多重加密与安全防护机制,适用于工业4.0、智慧物流、智能驾培、AGV小车、车载船载视频传输等复杂场景。; 适合人群:从事工业无线通信、网络工程、物联网系统集成的技术人员及项目决策者,具备一定网络基础知识和现场部署经验的工程师。; 使用场景及目标:①用于远距离无线桥接与大面积无线覆盖,如森林防火监控、智慧交通信号回传;②满足高密度、高移动性终端接入需求,如AMR/AGV小车组网、无人机遥控;③在强电磁干扰或极端气候环境下构建高可靠无线网络,保障视频传输、PLC控制等关键业务连续性;④通过云平台或本地服务器实现集中运维管理和安全认证。; 阅读建议:此文档为产品技术规格说明书,重点在于了解设备性能边界与适用场景,建议结合实际项目需求对照参数选型,并关注其私有协议、安全隧道、抗干扰设计等差异化功能的实际部署配置方法。

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧