吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 5644|回复: 21

[VB] VB6.0制作游戏内存修改器【标题一定要长不然没人看→_→】

  [复制链接]
PS_URINE 发表于 2015-5-9 16:53 | 显示全部楼层 |阅读模式

VB修改游戏内存 about <红警大战2共和国之辉>

金钱地址:A1E0C4+24C
用易语言写很简单,但是写出来的程序不能装逼有木有→_→,拉进PEID吓死一大片的扫描结果,所以本屌写了这篇关于VB修改内存的教程。

说明:读者必须要会使用VB!


首先
你需要知道几个API
WriteProcessMemory ;向指定进程内存地址中写入数据
ReadProcessMemory ;从指定进程内存地址中读取数据
OpenProcess ;打开一个进程,返回进程的进程句柄

VB6.0中声明如下:
‘注意:ReadProcessMemory函数和WriteProcessMemory函数的声明和API浏览器中的有所不同
附注:ByVal关键字表示形参,ByRef关键字表示实参(易语言的传址,相当于传递过去了一个指针)

Private Declare Function WriteProcessMemory Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Long,ByVal lpBaseAddress As Long, ByRef lpBuffer As Long, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long ‘Private关键字用来声明一个窗体级别的API,也可以使用Public关键字来声明一个全局API,但是需要把声明放进模块中。

Private Declare Function ReadProcessMemory Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Long,ByVal lpBaseAddress As Long, ByRef lpBuffer As Long, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long

Private Declare Function OpenProcess Lib "kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
声明截图如下
图片1.png
(局部截图,因为我没有换行)
接下来我们要开始漫漫编程之路了。
我们先在窗体上画出几个控件
一个TextBox(易语言中的编辑框) 和一个 CommandButton(易语言中的按钮)
TextBox用来让用户输入游戏的进程PID(我承认我懒了,不会自己写个取进程PID函数),按钮用来控制写入内存
TextBox名称为 Text1
CommandButton 名称为 Command1
先了解几个VB函数\关键字
Clng 将指定类型强制转换为Long类型(易语言的到整数()) 语法:Clng(“123”) 把string类型(易语言的文本型)”123”数据转为long数据类型的123(易语言的整数型)
MsgBox 显示一个消息框(易语言的信息框()) 语法:MsgBox “内容”,0,”标题”
Dim (关键字) 定义一个变量 语法 : Dim i as long (Dim 变量名 as 数据类型) 定义一个名称为i类型为long的变量
If .... Else ....条件控制语句 语法
If 1=1 then
MsgBox “1=1”,0,”提示”
Else
MsgBox “1<>1”,0,”提示”
End if
OK了
还有1个事件要知道
Click (被单击时触发该事件)
双击你在界面上画好的CommandButton即可进入该事件的代码编写区
图片2.png
现在我们在这个事件里面开始写代码
首先声明一个Long类型变量用来储存进程句柄
Dim hwnds as Long ‘定义名称为hwnds类型为Long的变量
hwnds=OpenProcess(2035711,0,Clng(Text1.text)) ‘打开指定进程,并返回进程句柄
然后我们最好加上判断进程打开成功与否的代码
Dim hwnds as Long ‘定义名称为hwnds类型为Long的变量
hwnds=OpenProcess(2035711,0,Clng(Text1.text)) ‘打开指定进程,并返回进程句柄
If hwnds = 0 then ‘如果hwnds=0
MsgBox “进程打开失败”,48,”警告” ‘弹出一个信息框
Else ‘否则
‘内存写入代码编写区
End if
我们来回忆一下内存写入的过程
读取基址的值——加上偏移——得出地址——写入
那么我们先用ReadProcessMemory函数来读取

Dim hwnds as Long ‘定义名称为hwnds类型为Long的变量
hwnds=OpenProcess(2035711,0,Clng(Text1.text)) ‘打开指定进程,并返回进程句柄
If hwnds = 0 then ‘如果hwnds=0
MsgBox “进程打开失败”,48,”警告” ‘弹出一个信息框
Else ‘否则
‘内存写入代码编写区
Dim base as Long ‘定义整数型变量储存基址
Dim second as Long ‘定义整数型变量储存最终地址
ReadProcessMemory hwnds,10608836, base, 4, 0 ‘10608836是A1E0C4的十进制
Second=base + 588 ‘588是24C的十进制
WriteProcessMemory hwnds,second,1000000,4,0 ‘写入内存
End if
下面贴出完整代码
Private Declare Function ReadProcessMemory Lib "kernel32.dll" (ByVal hProcess As Long, ByVal lpBaseAddress As Long, ByRef lpBuffer As Long, ByVal nSize As Long, ByVal lpNumberOfBytesWritten As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32.dll" (ByVal hProcess As Long, ByVal lpBaseAddress As Long, ByRef lpBuffer As Long, ByVal nSize As Long, ByVal lpNumberOfBytesWritten As Long) As Long
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Option Explicit


Private Sub Command1_Click()



Dim hwnds As Long
     hwnds = OpenProcess(2035711, 0, CLng(Text1.Text))
  If hwnds = 0 Then
      MsgBox "进程打开失败!", 48, 0
   Else
      Dim base As Long
      Dim second As Long
      ReadProcessMemory hwnds, 10608836, base, 4, 0
      second = base + 588
      WriteProcessMemory hwnds, second, 1000000, 4, 0
  End If

End Sub
我画的界面如下:
图片3.png
代码截图
图片4.png
源码-无注释.rar (1.55 KB, 下载次数: 15)
由于第一次写这类文章有什么不对的地方欢迎指出




评分

参与人数 30HB +63 THX +25 收起 理由
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
消逝的过去 + 2
af521 + 1
agan8888 + 1
逝水流年 + 1
ding520 + 1 &amp;lt;span class=&amp;quot;text2Link&amp;quot;&amp;gt;[吾爱汇编论坛&amp;lt;a target=&amp;quot;_blank&amp;quot;&amp;gt;52HB.COM&amp;lt;/a&amp;gt;]-学破解防破解,知进攻懂防守!&amp;lt;/span&amp;gt;.
playboy + 1
xwc28 + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
破心 + 1 + 1 好人有好报!你的热心我永远不忘!谢谢!
374237370 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
a西中 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
Scar-疤痕 + 3 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
后弦 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
有何不可 + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
寻寻觅觅 + 1 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
cfc0699 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
a498021895 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
轻轻不语 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
1342971816 + 1 + 1 本站任何内容出于学习研究的目的,禁止用于商业或非法途径,否则后果自负!
赵师傅 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
寂寞、格式化 + 4 + 1 评分=感恩!简单却充满爱!感谢您的作品!
雪里红 + 1 + 1 不会VB,啥办
逍遥枷锁 + 4 + 1 好人有好报!你的热心我永远不忘!谢谢!
千里丶 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
倚窗听雨 + 1 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
无言仰慕不起 + 6 + 1 VB大神,膜拜!!!!
Shark恒 + 10 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
cyx520 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
独一无② + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
逍遥灬泪痕 + 6 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
逍遥灬泪痕 发表于 2015-5-9 17:09 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2015-5-9 17:41 | 显示全部楼层

好骚气,学习了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
腾龙细雨 发表于 2015-5-9 17:57 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
无言仰慕不起 发表于 2015-5-9 18:18 | 显示全部楼层

霸气。谢谢楼主!!学习了。
VB大神,膜拜!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
一世迷离 发表于 2015-5-9 18:41 来自手机端 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
情哥 发表于 2015-5-9 19:03 | 显示全部楼层

好像很早就有了吧?
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| PS_URINE 发表于 2015-5-9 19:07 | 显示全部楼层

情哥 发表于 2015-5-9 19:03
好像很早就有了吧?

然而你可以随便去网上找找看VB修改内存的教程,很多都是误导新手→_→

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
寂寞、格式化 发表于 2015-5-9 19:23 | 显示全部楼层

谢谢楼主,学习了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
gujin162 发表于 2015-5-9 21:12 | 显示全部楼层

这个可以局域网么?
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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