能够利用JAVA来编游戏外挂,这真的是一个让人很感兴趣的话题。

在讨论这个题目之前,我们首先来给不玩网络游戏的人补一下课,首先网络游戏的概念大家应该都是知道了,从虾米最早接触的文字MUD《重出江湖》,一直到现在大红大紫的魔兽世界等游戏,都是网游。如果更精确的说,虾米认为应该是那些通过广域网来进行的游戏,没人会把局域网里的纸牌叫做是网游吧?那么所谓的外挂就是针对网络游戏开发的一款软件,功能是截获从客户端发往服务器的数据,模拟玩家的操作,以达到更快升级、更块赚钱的目的。外挂从游戏类型来说,可以分为两种,一种是用于本地数据修改的。相信地球上的程序员都玩过《暗黑破坏神》也都用过修改器。其实修改器就可以叫做外挂。因为它修改了本地的数据;另一种是用于网络数据修改的,最常见的手段就是截获、修改数据包以欺骗服务器。例如,一个1级的菜鸟本来伤害只有10点,但是可以修改发往服务器的数据包,把伤害修改为任意值,玩拳皇的人也许碰到过这种情况,被对方一个轻拳就打废了,很有可能就是这个原因。(所举的例子理论上可行,大多数情况你的外挂还没开发完成就会被官方封号了)。

简单的知识我们先讲到这里,在讨论用java编外挂之前,还有一个话题要讨论,那就是外挂的工作原理或方式。上面的讲的那个例子其实已经把外挂的工作原理和盘托出:1、模拟玩家操作;2、分析并获取本地内存中游戏的数据;3、将修改的数据发往服务器(针对网络游戏而言)。但是现在各个运营商防外挂的水平都很高,如果是修改过的数据包那么服务器会不接受,甚至会被判定为使用非法外挂而封号的。在这里举一个场景例子:你在打怪的时候,你的血会不断的减少,怪物被杀死后还会掉落物品,那么外挂就应该获取到你的血值和是否有物品掉落以及掉落的坐标,然后触发相应的鼠标时间去喝药或捡东西。注意,在这里我们没有讨论利用按键精灵去实现外挂。因为我一直认为单纯依靠界面坐标去定位操作的程序不能称之为外挂

现在我们来讨论一下用JAVA开发外挂。开发过外挂的人都知道,开发外挂所使用的一般都是VC,VB,语言方面大多是c++,vb,dephl,这是因为中国的网络游戏99.9%都是运行在windows环境下的,因此就要调用windows的api,在这方面,上述开发语言有着得天独厚的优势。另一方面,用vc,vb开发的外挂,可以直接在windows宿主下运行,但是java却不行,JAVA是需要JRE才能运行的。我相信没人原因为了使用一款几十KB的外挂去装一个几十M的JAVA运行环境吧。但是从技术上,我认为JAVA是完全可以用于开发外挂的。

首先,JAVA完全具备分析内存的功能,不过我还不知道怎么做(汗一下)。JAVA程序运行的效率和性能可能是低于C++,但是目前的主流配置跑游戏的时候再跑个JAVA虚拟机是不成问题的。甚至利用JAVA读取内存的数据,还可以发挥JAVA本身的优势。其次,JAVA的网络编程功能强大,获取数据封包不是什么难题,但是要解析封包那就不一样了,这属于另一个领域的知识。也许有人会问,JAVA能调用WINDOWS的API吗?其实我也不确定能不能或者是否可以做到完全调用,但是我相信,这跟人的实力有关系,跟语言是没关系的。

今天就写到这里吧,还有好多想说的话慢慢再补充,现在我的手指头敲得都疼了。

关于利用JAVA开发游戏外挂的几点思考相关推荐

  1. 利用java开发简易版扫雷游戏

    1.简介 学了几周的Java,闲来无事,写个乞丐版的扫雷,加强一下Java基础知识. 2.编写过程 编写这个游戏,一共经历了三个阶段,编写了三个版本的游戏代码. 第一版:完成了扫雷游戏的基本雏形,实现 ...

  2. java 双击_利用java开发一个双击执行的小程序

    之前我们利用java写了很多东西,但是好像都没有什么实际意义. 因为有意义桌面小程序怎么都得有个界面,可是界面又不太好搞.或者 了解到这一层的人就少之又少了. 呀,是不是还得开辟一些版面来介绍awt和 ...

  3. Delphi如何开发游戏外挂

    上回对五种类型的外挂做了一个大体的概括,大家对这几种外挂都有了一定的了解,现在就依次(制作难度)由浅到深谈谈我对外挂制作的一些认识吧~~~~ 首先,先来谈一下动作式的外挂,这也是我第一次写外挂时做的最 ...

  4. 利用java开发一个猜数字幸运小游戏:游戏规则如下

    package com.day04.www;import java.util.Random; import java.util.Scanner;public class day04 {public s ...

  5. MySQL和java连连看_用 JAVA 开发游戏连连看(之一)动手前的准备

    JAVA ,相信大家也不会陌生了吧, JAVA 是一门相当优秀的语言.目前 JAVA 领域 J2EE . JSP . STRUTS 等技术不知有多么的热门,他们的主要用途是用来进行企业开发, J2ME ...

  6. 【Android游戏开发十八】解放手指,利用传感器开发游戏!

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/344.html 前 ...

  7. Java开发游戏脚本(第五卷)

    游戏脚本开发第五卷 前言介绍 相关技术 相关功能 项目结构 最后结语 前言介绍 本卷具体介绍脚本1.0,相关代码不再展示,该项目全部源码以及相关配置文件可在下方评论区留下QQ邮箱即可领取. 相关技术 ...

  8. java游戏开始被流星_用 JAVA 开发游戏连连看(之一)动手前的准备

    JAVA ,相信大家也不会陌生了吧, JAVA 是一门相当优秀的语言.目前 JAVA 领域 J2EE . JSP . STRUTS 等技术不知有多么的热门,他们的主要用途是用来进行企业开发, J2ME ...

  9. 【Android游戏开发十八】解放手指,利用传感器开发游戏!(本文讲解在SurfaceView中用重力传感器控制圆球的各方向移动)

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi ) 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/andr ...

最新文章

  1. 根据进程名杀死进程 -kill进程名
  2. 都9102年了,还问GET和POST的区别
  3. 学习资料,欧姆社学习漫画-电力电气类-漫画电池
  4. Codeforces Round #171 (Div. 2)
  5. MNIST数据集下载资源
  6. VTK:几何对象之OpenVRCylinder
  7. ROS通信架构(上)
  8. matlab验证对称三相电路,不对称三相电路中,中线的电流为()。 A.0 B. C. D....
  9. LINQ表达式用法整理
  10. [机器学习笔记]Note13--异常检测
  11. Leetcode--925. 长按键入
  12. np生成多维数组数组比较
  13. 开发宝典:基于分布式对象的网游程序结构设计
  14. 洛谷 P4099 SAO —— 树形dp
  15. java 规范 阿里巴巴_阿里巴巴 Java 代码规范
  16. Kotlin 密封类
  17. 计算机及格率用什么函数,excel计算及格率函数的使用教程
  18. 一张图看晕人民的名义
  19. android 检测软键盘,Android:检测软键盘打开
  20. Hadoop文件系统

热门文章

  1. P2431 正妹吃月饼
  2. 计算机游戏 25攻略,我的咖啡厅25级攻略大全及游戏技巧详解
  3. hive报错(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory/tmp/hive/.
  4. 李娜火力全开横扫意大利老将 五年四进澳网4强
  5. 美图 html模板,httpclient爬取美图
  6. 仿华为电商商城,官网,华为超级新品日demo,大屏霸气且简洁
  7. pyspider最易上手的初学教程
  8. unity 中使角色按键更灵敏。
  9. mos管工作原理动画图讲解_MOS管工作原理电路图简述【通俗易懂】
  10. 如何在 Mac 上设置闹钟