吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 979|回复: 8
收起左侧

[求助] WriteProcessMemory

[复制链接]
kings12333 发表于 2022-9-12 19:21
已使用 WriteProcessMemory 成功将字符串写入到内存的目标指针,但是该指针所关联的控件不会显示字符串,必须在这个控件上随意敲几下(有几个字符敲几下),字符串才会更新到控件上来...在控件上随意敲几下应该是占位,这在改写内存里专业术语叫什么??? 写入的数据类型是Byte数组
捕获.JPG

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Huanghousec 发表于 2022-9-13 02:32
你放这段的控件的代码我看你怎么写的
头像被屏蔽
tl;dr 发表于 2022-9-13 07:12
 楼主| kings12333 发表于 2022-9-13 08:11

代码是VB写的.
[Visual Basic] 纯文本查看 复制代码
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
 楼主| kings12333 发表于 2022-9-13 08:12
Huanghousec 发表于 2022-9-13 02:32
你放这段的控件的代码我看你怎么写的

大佬,帮看看,
 楼主| kings12333 发表于 2022-9-13 08:35
录了一个GIF,演示了两点:
1.演示了指针关联的那个文本框控件,如果不在上面任意占几个字符的位置,它不显示写入指针的数据;
2.演示了文本框你敲了2次占用两个字符的位置,那么无论你对指针写入多少位的数据,它始终只显示两位
 楼主| kings12333 发表于 2022-9-13 08:36
不支持GIF文件,没法上传,哎
plauger 发表于 2022-9-13 10:19
写完数据你需要刷新那个文本框,比如发WM_PAINT消息,或者调用WINAPI:InvalidateRect ,UpdateWindow之类的
 楼主| kings12333 发表于 2022-9-13 17:55
plauger 发表于 2022-9-13 10:19
写完数据你需要刷新那个文本框,比如发WM_PAINT消息,或者调用WINAPI:InvalidateRect ,UpdateWindow之类 ...

点击窗体或控件与WM_PAINT应该是一样的,所以与这个的 关系不大,现在主要的问题是文本框不占有字符它就不显示,占几个字符它就显示几位.
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表