• [转]【给游戏修改器制作爱好者】——一点游戏修改器制作的经验


     估计没玩过单机游戏的人现在只好去火星找了……

          恐怕很多人都用过游戏修改器,也有不少不少人写过,或者正在准备写,或者正在写但是遇到了一些小问题。在这里作为一个VB爱好者提供一些参考给大家,当然我写过的游戏修改器有不少,出于兴趣也写了好几年,在我CSDN的下载频道里面有一些,也有一些没有公布的,虽然这样,我也不是什么资深专家,这篇文章提到的很多知识也是我新学的,例如说我正在学OD(有点汗颜,有一段时间没摸了)。

          这篇文章早就写好了,也没有订正,错误之处请大家多多指正。由于图片比较多,写的时候用的WORD,又不能直接贴到这里,所以干脆截屏下来了。在这些图片之后,有一个简短的游戏修改器,有兴趣的可以参考一下,么有用以前封装的类,只是那天找到修改方法作为记录写了一会。看了代码也许一些正在困惑的同学们就豁然开朗了,原来就那么点玩意,非高深之学也!呵呵,不过有些游戏并不是简单的搜索搜索标记标记NOPNOP就能得到修改方法的。

    以上就是一点经验了。下面贴一个游戏修改器的源码:

    幻幻球无限球内存修改器:

    Public Class Form1
        '将加-1(&HFFFFFFFF)修改为减-1
        Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Byte, Optional ByVal nSize As Integer = 1, Optional ByRef lpNumberOfBytesWritten As Integer = 0) As Integer
        Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Int32, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Byte, Optional ByVal nSize As Integer = 1, Optional ByRef lpNumberOfBytesWritten As Integer = 0) As Integer

        Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
            Dim pros = Process.GetProcessesByName("Peggle")
            Dim code As Byte
            If pros.Length > 0 Then
                ReadProcessMemory(pros(0).Handle, &H4536FD, code)
                If code = &H3 OrElse code = &H2B Then
                    If CheckBox1.Checked Then
                        WriteProcessMemory(pros(0).Handle, &H4536FD, &H2B)
                    Else
                        WriteProcessMemory(pros(0).Handle, &H4536FD, &H3)
                    End If
                Else
                    MsgBox("发现Peggle.exe版本不符!(适用版本1.00)")
                End If
            Else
                MsgBox("未发现Peggle.exe")
            End If
        End Sub
    End Class

    这就是完整的代码了。只在窗体上加一个控件:CheckBox1即可。这个代码在测试的时候游戏界面显示的球个数是不变的,这一点要注意,当你把球打没了,还可以接着打——这就显示出效果了。。。不要看到数字没变就……谢谢观赏,再见。
  • 相关阅读:
    Bootstrap中的Dropdown悬停触发
    git常用命令整理
    ThinkPHP-项目模块分组后自定义类库文件放去哪?
    项目开发中常用的PHP实用代码算法
    1049. Counting Ones (30)
    1059. Prime Factors (25)
    1050. String Subtraction (20)
    观察者模式
    策略模式
    JVM剖析
  • 原文地址:https://www.cnblogs.com/NoRoad/p/1688425.html
Copyright © 2020-2023  润新知