1.改存盘文件,不过要对一个具体的游戏和存盘文件的格式熟悉才行。
以下是一些例子的网址
http://mmkjgame.yeah.net
http://www.csdn.net/expert/topic/52/52142.shtm
http://www.csdn.net/expert/TopicView.asp?id=47566
http://www.csdn.net/expert/TopicView.asp?id=51467
http://www.csdn.net/expert/topic/314/314934.shtm
都是以前帖子的,借花献佛罢了
2.修改内存
用API的一些函数如
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" (ByVal hwnd As Long, lpdwProcessId As Long) As LongPrivate Declare Function OpenProcess Lib "kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongPrivate Declare Function ReadProcessMemory Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
以下是一些例子的网址
http://mmkjgame.yeah.net
http://www.csdn.net/expert/topic/52/52142.shtm
http://www.csdn.net/expert/TopicView.asp?id=47566
http://www.csdn.net/expert/TopicView.asp?id=51467
http://www.csdn.net/expert/topic/314/314934.shtm
都是以前帖子的,借花献佛罢了
2.修改内存
用API的一些函数如
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" (ByVal hwnd As Long, lpdwProcessId As Long) As LongPrivate Declare Function OpenProcess Lib "kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongPrivate Declare Function ReadProcessMemory Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
解决方案 »
- VB接收下位机发送的数据并取出其中的数据 求大神相助
- VB6.0的应用程序能读写Cookie吗?
- 求注册模块,给点思路也行啊
- 数据库操作中弹出的对话框
- 怎么用vb画网络进度图,在线等待!。。。。。。。。。。。。。
- 欢迎好象不够热烈!再放一帖
- 如何提高timer控件运行速度。
- 谁会要我?CET-6, VB+SQL2000,Delphi,Asp经验,期待月薪2500,有系统开发经验
- 关于串口通信的问题,帮忙看一下,谢谢!
- 在如下使用record的AddNew方法时,遇到问题:(简单简单)
- 请问怎样在同一工程组中,把一个窗体中的某值赋给另一窗体的相同类型的值呀?
- 网络打印的问题,高手请进!!!(第一次提问)
你给我的这几个网址无法显示啊。
http://mmkjgame.yeah.net
http://www.csdn.net/expert/topic/52/52142.shtm
http://www.csdn.net/expert/TopicView.asp?id=47566
http://www.csdn.net/expert/TopicView.asp?id=51467
http://www.csdn.net/expert/topic/314/314934.shtm
http://www.csdn.net/Expert/TopicView2.asp?id=52142
http://www.csdn.net/Expert/TopicView2.asp?id=47566
http://www.csdn.net/Expert/TopicView2.asp?id=51467
http://www.csdn.net/Expert/TopicView2.asp?id=314934
参考代码:上面几位的联结!
反正做HEX一类的都行~
HELP~~
首先:利用《金山游侠》等工具先对内存里的数据进行观查,然后记录下里面的要改变的数据的地址。
其次:用API里有关内存操作的函数对它进行修改。(注意:如果修改不当,很有可能会让其它程序运行不正常。)但一定要对内存里的数据的结构有相当的了解行。
但是,VB里面就算用了API对内存也很难进行操作,不过我这儿有一个李海编的一个控件,还没有用过,你如果想用的话,给我来信,地址见下面。
上面是对内存进行操作的思路。如果你要改写存盘文件,那就容易多了,可以直接用VB里的write语句进行改写就可以了。
我的邮件地址:[email protected]
If Label1.Caption = "" Then
MsgBox "你要先找到文件才能修改哟!", vbOKOnly + 48, "错误!"
Else
Dim two As Integer
Open Label1.Caption For Binary Access Write As #1
Seek #1, &H3B9
two = &H1
Put #1, , two
Close #1
End If
End SubPrivate Sub Command2_Click()'此按纽用于修改野球拳
If Label1.Caption = "" Then
MsgBox "你要先找到文件才能修改哟!", vbOKOnly + 48, "错误!"
Else
Dim ten As Integer
Open Label1.Caption For Binary Access Write As #1
Seek #1, &H3D7
ten = &H3E7
Put #1, , ten
Close #1
End If
End Sub
Private Sub Command3_Click()'此按纽用于找到存盘文件。
With CommonDialog1
.ShowOpen
End With
Label1.Caption = CommonDialog1.FileName
End SubPrivate Sub Command4_Click()'用于退出
Unload Me
End Sub
这些东西都是用游戏的存盘文件修改人物的属性的,要用到很好的16进制编辑器。至于内存修改,楼上的那位仁兄已经说到了, 好好努力吧!!!