看流星社区

 找回密码
 注册账号
查看: 2402|回复: 2

vb读取角色名乱码

[复制链接]

该用户从未签到

发表于 2012-4-21 22:49:38 | 显示全部楼层 |阅读模式
新手总是问题多啊 老师们别见怪啊
最近发现大漠模块很好用于是尝试了下
但是问题来了
'定义各类变量
Dim dj As String
Dim jsm As String
Dim hp As String
Dim mxhp As String
Dim mp As String
Dim mxmp As String
Dim zbx As String
Dim zby As String
Dim Y As New VB智辅对象
'读取各种数据
hp = Dm.ReadInt(Spy控件1.窗口句柄, "[[f45E08]+4] + b4", 0) '红
mxhp = Dm.ReadInt(Spy控件1.窗口句柄, "[[f45E08]+4] + b8", 0) '最大红
mp = Dm.ReadInt(Spy控件1.窗口句柄, "[[f45E08]+4] + bc", 0) '蓝
mxmp = Dm.ReadInt(Spy控件1.窗口句柄, "[[f45E08]+4] + c0", 0) '最大蓝
zbx = Int(Dm.ReadFloat(Spy控件1.窗口句柄, "[[f45E08]+4] + 14")) 'X坐标
zby = Int(Dm.ReadFloat(Spy控件1.窗口句柄, "[[f45E08]+4] + 1c")) 'Y坐标
jsm = Dm.ReadString(Spy控件1.窗口句柄, "[[f45E08]+4] + 54", 0, 12) '角色名
'显示
Label5.Caption = hp + "/" + mxhp
Label6.Caption = mp + "/" + mxmp
Label7.Caption = "(" + zbx + "/" + zby + ")"
Label9.Caption = jsm

前面的都好说 但是角色名出了问题 这个角色名是非U码的 在VB里读出来成了乱码
字母数字显示正常
转换了下思路
Dim hwd As Long
Dim PID As Long
Dim base As Long
Dim hProcess As Long
Dim name_temp As Long
Dim Name(31) As Byte
hwd = spy控件1.进程句柄
PID = spy控件1.进程Pid
hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, PID)
ReadProcessMemory hProcess, ByVal &HF45E08, base, 4, 0&
ReadProcessMemory hProcess, ByVal base + &H4, base, 4, 0&
ReadProcessMemory hProcess, ByVal base + &H54, name_temp, 4, 0&
ReadProcessMemory hProcess, ByVal name_temp, Name(0), 32, 0&
Label8.Caption = Name
白菜了 哪位大哥给指导个明路啊

该用户从未签到

 楼主| 发表于 2012-4-23 09:01:34 | 显示全部楼层
真白菜啊:$
找出来角色名是 基址+4+54
读英文名字没问题,读中文名就是乱码
我一直以为是程序写法问题,最近也一直在研究
今天无意间发现 在OD中他的中文角色名显示的就是乱码(以前一直用的英文小号在调试)
ce附加了下居然也是 也就是只能显示英文
这个是啥编码啊?大牛们帮忙啊

该用户从未签到

 楼主| 发表于 2012-4-23 19:59:31 | 显示全部楼层
在ce就是乱码:'(
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-13 23:42

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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