外挂是怎么执行和实现冒险岛无敌状态的.

下面外挂源程序的主窗口代码:

窗口区有两个Timer和两个Check,两个Timer的Interval = 100
1000/1秒.这是主要的控件.

第一个Timer的代码,因为Timer的Interval 取值是 100 ,所以每100毫秒执行一次Timer代码.

先看这段:
Private Sub Timer1_Timer()

'用if判断语句判断是否按下了键盘F11
If MyHotKey(vbKeyF11) Then

'If Check1.Value Then   '再次用if判断Check1是否已经选取.Value取值有0 , 1 , 2;
Check1被选取成立就执行wudi的代码
If Check1.Value Then

'这里是wudi代码,作者把它放到Module1模块里 ,作者把执行wudi的代码简单化了.其实也可以这么写,便于理解[Aall wudi()], 函数Aall调用wudi()
wudi
End if

'如果if判断成立,也就是按下了F12就执行下一段代码.
ElseIf MyHotKey(vbKeyF12) Then

If Check2.Value Then
gongji
End If
Else
End If
End Sub

第二个Timer的代码,Interval 取值同样是 100 .

Private Sub Timer2_Timer()

'定义ID , Gamehwnd1
Dim ID As Long, Gamehwnd1 As Long

'查找冒险岛游戏的句柄,赋值给Gamehwnd1
Gamehwnd1 = FindWindow(vbNullString, "Maplestory")

'用GetWindowThreadProcessId获取冒险岛游戏的进程ID
GetWindowThreadProcessId Gamehwnd1, ID

'以全部权力打开进程
hProces1 = OpenProcess(PROCESS_ALL_ACCESS, False, ID)

'这里又用到了if , (hProces1 = 0) 就是没有冒险岛的句柄,反之游戏已加载.
If (hProces1 = 0) Then

'游戏未启动通过Label1标题来显示证明 "游戏未启动" ,然后关闭Timer1
Label1.Caption = "游戏未启动"

'其实程序在制作初期就设定Timer1的Enabled为无效 False , 写不写这段代码无所谓
Timer1.Enabled = False
Else

'游戏未启动通过Label1标题来显示证明 "游戏已启动" ,然后打开Timer1
Label1.Caption = "游戏已启动"
Timer1. Enabled = True
End If

结束Timer2代码
End Sub

模块代码:
'FindWindow :查找指定窗体的API函数
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

'GetWindowThreadProcessId : 取得指定窗体的进程ID函数
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long

'OpenProcess : 打开指定的进程用到的函数
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

'WriteProcessMemory :写进程内存用到的函数
Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long

'ReadProcessMemory :写进程内存用到的函数
Public Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long

'CloseHandle :关闭进程用到的函数
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

' GetAsyncKeyState : 虚拟键表判断按键的类型的函数
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer

'定义hProces1
Public hProces1 As Long

下面定义的wudi代码
Public Sub wudi()

'if判断冒险岛游戏是否存在
If (hProces1 = 0) Then

'向目标地址写入数值, 把内存地址585D55替换成F26B07,这里有用吗?
WriteProcessMemory hProces1, ByVal &H585D55, &HF2, 1, 0&
WriteProcessMemory hProces1, ByVal &H585D56, &H6B, 1, 0&
WriteProcessMemory hProces1, ByVal &H585D57, &H0, 1, 0&
WriteProcessMemory hProces1, ByVal &H585D58, &H7, 1, 0&

Else

''向目标地址写入数值, 把内存地址585D55替换成E91F60.这才是重点外挂执行无敌代码
WriteProcessMemory hProces1, ByVal &H585D55, &HE9, 1, 0&
WriteProcessMemory hProces1, ByVal &H585D56, &H1F, 1, 0&
WriteProcessMemory hProces1, ByVal &H585D57, &H6, 1, 0&
WriteProcessMemory hProces1, ByVal &H585D58, &H0, 1, 0&
End If

'关闭进程
CloseHandle hProces1
End Sub

下面代码解释同上
Public Sub gongji()
If (hProces1 = 0) Then
WriteProcessMemory hProces1, ByVal &H574F9B, &H14, 1, 0&
WriteProcessMemory hProces1, ByVal &H574FA0, &H13, 1, 0&
WriteProcessMemory hProces1, ByVal &H574FA0, &H0, 1, 0&
WriteProcessMemory hProces1, ByVal &H574FA0, &H1 ,1, 0&
Else
WriteProcessMemory hProces1, ByVal &H574F9B, &H1C, 1, 0&
WriteProcessMemory hProces1, ByVal &H574F9F, &H4, 1, 0&
WriteProcessMemory hProces1, ByVal &H574FA0, &H0, 1, 0&
WriteProcessMemory hProces1, ByVal &H574FA0, &H0, 1, 0&
End If
CloseHandle hProces1
End Sub

冒险岛无敌外挂代码诠释相关推荐

  1. 高侨名人冒险岛java,高桥名人冒险岛无敌版

    游戏介绍 高桥名人冒险岛无敌版这款游戏是很多年前就深受各大玩家们喜爱的经典街机游戏,相当有趣的玩法模式,随时可以享受.高桥名人冒险岛无敌版游戏中所有景点的关卡经过移植过来,玩家随时可以去体验哦.高桥名 ...

  2. 手把手教你五分钟扒个源码写个无敌外挂

    大家好,我是若川.源码共读<1个月,200+人,一起读了4周源码> 活动进行到第五期了,欢迎点链接加我微信 ruochuan12 报名参加. 前言 前段时间群里分享了一个小游戏,多次怀疑自 ...

  3. DDD as Code:如何用代码诠释领域驱动设计?

    简介: 相较于常规的MVC架构,DDD更抽象.更难以理解,各个开发者对DDD的解释也不尽相同.那么哪种设计方式才更好?在学习时如何知道哪种DDD更正统,没有被别人带歪?本文尝试使用"DDD ...

  4. 给Source Insight做个外挂系列之三--构建外挂软件的定制代码框架

    上一篇文章介绍了"TabSiPlus"是如何进行代码注入的,本篇将介绍如何构建一个外挂软件最重要的部分,也就是为其扩展功能的定制代码.本文前面提到过,由于windows进程管理的限 ...

  5. 牛博威:成熟的反外挂系统一般企业未必能承受

    腾讯科技讯 3月18日消息,在今日举行的腾讯网络安全技术峰会上,游戏安全和反外挂方面的专家牛博威表示,反外挂系统并非越成熟越好,成熟的反外挂系统会让一般公司很难承受,大大增加了运营成本.同时,越是成熟 ...

  6. Themida 1.8.X 脱壳之泡泡堂不死外挂3.16

    Themida 1.8.X 脱壳之泡泡堂不死外挂3.16 Themida 1.8.X 脱壳之泡泡堂不死外挂3.16 首先用PEID查下壳:什么也没发现,看区段名有Themida 字样,初步估计应该是1 ...

  7. 外挂:一个因“快感”而崛起的暴利行业

    "本人职业选手出身,强烈鄙视外挂行为..." 当上个月"实锤"直击斗鱼主播五五开(卢本伟)绝地求生开挂,遭到了五五开本人矢口否认后,粉丝和质疑网友的连番互怼,让 ...

  8. 外挂,一个因“快感”而崛起的暴利行业

    "本人职业选手出身,强烈鄙视外挂行为..." 当上个月"实锤"直击斗鱼主播五五开(卢本伟)绝地求生开挂,遭到了五五开本人矢口否认后,粉丝和质疑网友的连番互怼,让 ...

  9. 游戏外挂设计技术探讨

    一. 前言 所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作.修改游戏网络数据包以及修改游戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将.虽然,现在对游戏外挂程 ...

  10. 游戏外挂的基本编写原理

    游戏外挂的基本编写原理 Posted on 2005年9月17日 23:40 游戏外挂的基本编写原理 本文主要是针对开发游戏外挂程序后期使用的程序开发技术进行探讨,重点介绍的 如下几种在游戏外挂中常使 ...

最新文章

  1. 懒加载实现的分页网站footer自适应
  2. 享元模式 -- 大话设计模式
  3. Android系列之Fragment(二)----Fragment的生命周期和返回栈
  4. jQuery的Accordion插件
  5. 2016微软开发者峰会在京举办 纳德拉要来做演讲
  6. php socketconnect连接失败_PHP设计模式之模板方法模式
  7. 【IDEA】IDEA中使用git将项目上传到码云上
  8. CentOS 6.8 安装JDK8
  9. library的英语怎么读音_如何提高英语听力
  10. 全阶滑模观测器程序_滑模观测器转子估算程序
  11. python获取a股报表数据_python获取A股基础数据
  12. Visual Studio中绘制UML用例图
  13. python爬虫 爬取视频 练习
  14. mysql常用语句梳理
  15. Rayson API 框架分析系列之7: 注解处理器(APT)原理
  16. svn clean up 特别慢
  17. /usr/bin/xauth: file /home/wj/.Xauthority does not exist
  18. 怎样安装win服务器系统,win服务器系统安装教程
  19. win10计算机出现位置不可用desktop不可用,桌面只有此电脑几个图标,其它桌面图标都没有了
  20. 微信小程序加载第三方字体

热门文章

  1. matlab2014a vs2015,Matlab2014a使用VS2015混合编译
  2. C语言程序设计教程(第三版)课后习题8.2
  3. 用Java打印棱形的思路,java打印菱形思路
  4. 【Java】恶搞程序实现桌面无限弹窗
  5. KVYcam(网络摄像头软件) v13.0.3.0
  6. mysql查询top5_MySQL常用函数TOP5
  7. 什么是低代码(LowCode)/无代码(NoCode)平台?
  8. 设计不难学,这10款软件总有一款适合你
  9. 青鸟影院的最后一部分
  10. 《MyBatis3源码深度解析》图书简介