64位 怎么读取内存,求大神指教
vb吧
全部回复
仅看楼主
level 1
tttgcxh 楼主
Private Declare Function ReadProcessMemory Lib "kernel32" ( _
ByVal hProcess As Long, _
lpBaseAddress As Any, _
lpBuffer As Any, _
ByVal nSize As Long, _
lpNumberOfBytesWritten As Long _
) As Long ' 声明
ReadProcessMemory pHandle, ByVal &H13F8E11C, ByVal (str), 4, aa
Dim str As String * 4 ' 存储显示文本
坐标为65时会显示A
Dim str As Long 时,返回0 aa也为0
2020年04月22日 02点04分 1
level 15
系统是64位,但是程序本身是32位对吧,因为你只读了4个字节
那么用Long型就好,不过不要加ByVal,也不要加括号
2020年04月22日 02点04分 2
level 1
tttgcxh 楼主
查了百度,好象64位系统要用wow64ReadProcessMemory才行,怎么办啊
2020年04月22日 04点04分 3
level 1
tttgcxh 楼主
谢谢 miku_con
只是这API用法是百度上复过来修改的,调用格式不能修改,一改直接报错。
网上说wow64ReadProcessMemory能行,一直找不到VB的例程,也找不到这声明。
2020年04月25日 10点04分 4
同样想法,咋整
2020年12月25日 04点12分
@BabyFaceVv ReadProcessMemory可以读取32位进程,NtWow64ReadVirtualMemory64可以读取64位进程
2020年12月25日 07点12分
@隨風🍁缒夢 好的,我试试[呵呵] 谢谢
2021年05月01日 03点05分
@BabyFaceVv 一年过去了[惊哭],去年在精易论坛上面vb区发了一个vb版的wow64ext,纯api+汇编写的vb6模块。可对64位进程,内存读写操作,线程创建,模块遍历,线程遍历,取64位api地址(包括非系统dll)方便hook64位进程
2021年05月01日 10点05分
1