WriteProcessMemory
已使用 WriteProcessMemory 成功将字符串写入到内存的目标指针,但是该指针所关联的控件不会显示字符串,必须在这个控件上随意敲几下(有几个字符敲几下),字符串才会更新到控件上来...在控件上随意敲几下应该是占位,这在改写内存里专业术语叫什么??? 写入的数据类型是Byte数组你放这段的控件的代码我看你怎么写的 tl;dr 发表于 2022-9-13 07:12
得看看代码
代码是VB写的.
Sub WriteSet_2()
Dim 窗口句柄 As Long
Dim 标识符 As Long
Dim 进程句柄 As Long
Dim Ret As Long, BaseAddress As Long, x As Long
窗口句柄 = FindWindow(vbNullString, "EliteSpy+ 枕善居收集整理")
GetWindowThreadProcessId 窗口句柄, 标识符 '
进程句柄 = OpenProcess(&H1F0FFF, False, 标识符) '
If (进程句柄 = 0) Then Exit Sub
BaseAddress = Val("&H" & "0026DA90") '目标指针
'//数据类型:Byte数组
Dim s As String, b() As Byte
s = "T5ABS" & vbNull
b = StrConv(s, vbFromUnicode) & vbNull
'// 写入内存数据
Ret = WriteProcessMemory(进程句柄, ByVal BaseAddress, b(0), UBound(b) + 1, 0&)
x = CloseHandle(进程句柄)
End Sub
Huanghousec 发表于 2022-9-13 02:32
你放这段的控件的代码我看你怎么写的
大佬,帮看看, 录了一个GIF,演示了两点:
1.演示了指针关联的那个文本框控件,如果不在上面任意占几个字符的位置,它不显示写入指针的数据;
2.演示了文本框你敲了2次占用两个字符的位置,那么无论你对指针写入多少位的数据,它始终只显示两位 不支持GIF文件,没法上传,哎 写完数据你需要刷新那个文本框,比如发WM_PAINT消息,或者调用WINAPI:InvalidateRect ,UpdateWindow之类的 plauger 发表于 2022-9-13 10:19
写完数据你需要刷新那个文本框,比如发WM_PAINT消息,或者调用WINAPI:InvalidateRect ,UpdateWindow之类 ...
点击窗体或控件与WM_PAINT应该是一样的,所以与这个的 关系不大,现在主要的问题是文本框不占有字符它就不显示,占几个字符它就显示几位.
页:
[1]