游戏脚本那点事 一

这些天下来了广州,又不能出去,只能在家闭关!内心闷骚的我,就开始玩起了地下城,玩了几把,手动起来真累,就想研究下脚本。

外挂大概分三种:
1.内存级外挂,指直接修改游戏内存中玩家信息的外挂,简单理解是破了游戏的服务器,修改数据库中存储的信息。
2.数据流外挂,指截住游戏向服务器发起请求的信息,达到修改请求数据。如DNF,爆1000个金币,正常向服务器发起请求的是1000个金币,这个时候拦截,修改成100万金币。
3.脚本级外挂,指写成一个自动化脚本,不用手动去操作游戏。

以前在公司都忙着写业务,没有去研究过其他的,现在只能新开始学。一般来说写外挂都是C,LUA,VBS。用JAVA写的应该少。

VB的脚本语言已经很出名了,只要是 个游戏都会开游戏盾,去扫描进程,那样很容易发现VB脚本,另外加上我也不懂VB语言,所以直接去学习JAVA写脚本吧。当然VB也会去关注的。

首先写一个微信自动聊天吧,其实就是控制键盘,向对方发送信息。刚开始,来个简单的。

这个是控制键盘的各种作用。

 /*Robot robot = new Robot();
        //延迟1000毫秒
        robot.delay(1000);
        //模拟手动按下电脑键盘上的某个键
        robot.keyPress(KeyEvent.VK_0);
        //按下左键
        robot.mousePress(InputEvent.BUTTON1_MASK);
        //按下滚轴键
        robot.mousePress(InputEvent.BUTTON2_MASK);
        //按下右键
        robot.mousePress(InputEvent.BUTTON3_MASK);
        //松开左键
        robot.mouseRelease(InputEvent.BUTTON1_MASK);
        //松开滚轴键
        robot.mouseRelease(InputEvent.BUTTON2_MASK);
        //松开右键
        robot.mouseRelease(InputEvent.BUTTON3_MASK);
        //松开空格键  可以随机选择,如VK_K设置松开K键
        robot.keyRelease(KeyEvent.VK_SPACE);*/

我这边是直接跑Mian方法了,没有打成jar来跑。

1.写一个main方法

 public static void  main(String[] args) throws AWTException {
 Robot robot = new Robot();
        //这个是下面的方法
        weChat();
    }

2.写一个方法,//这个是写着娱乐用的,方法命名就用中文拼音了,新手切记工作中不能这样用。

//写一个微信自动聊天,在玩游戏的时候,女朋友发信息了,怎么办,那么就用这个吧。
    public static void weChat() throws AWTException {
        Robot robot = new Robot();
        ni();
        zai();
        ma();
        send();
        //1分钟后发信息
        robot.delay(60000);
        ni();
        chi();
        fan();
        le();
        ma();
        send();
        robot.delay(60000);
        wo();
        chi();
        le();
        send();
        robot.delay(60000);
    }

3.键盘发送中文汉字,为了复用,我就每一个汉字写成一个方法了。

  //发送
    public static void send() throws AWTException {
        Robot robot = new Robot();
        //来开始编写
        robot.keyPress(KeyEvent.VK_ENTER);
        robot.keyRelease(KeyEvent.VK_ENTER);
    }

    //你
    public static void ni() throws AWTException {
        Robot robot = new Robot();
        //来开始编写
        robot.keyPress(KeyEvent.VK_N);
        robot.keyRelease(KeyEvent.VK_N);
        robot.keyPress(KeyEvent.VK_I);
        robot.keyRelease(KeyEvent.VK_I);
    }
    //在
    public static void zai() throws AWTException {
        Robot robot = new Robot();
        //来开始编写
        robot.keyPress(KeyEvent.VK_Z);
        robot.keyRelease(KeyEvent.VK_N);
        robot.keyPress(KeyEvent.VK_A);
        robot.keyRelease(KeyEvent.VK_A);
        robot.keyPress(KeyEvent.VK_I);
        robot.keyRelease(KeyEvent.VK_I);
    }
    //吗
    public static void ma() throws AWTException {
        Robot robot = new Robot();
        //来开始编写
        robot.keyPress(KeyEvent.VK_M);
        robot.keyRelease(KeyEvent.VK_M);
        robot.keyPress(KeyEvent.VK_A);
        robot.keyRelease(KeyEvent.VK_A);
        robot.keyPress(KeyEvent.VK_SPACE);
        robot.keyRelease(KeyEvent.VK_SPACE);
    }

    //吃
    public static void chi() throws AWTException {
        Robot robot = new Robot();
        //来开始编写
        robot.keyPress(KeyEvent.VK_C);
        robot.keyRelease(KeyEvent.VK_C);
        robot.keyPress(KeyEvent.VK_H);
        robot.keyRelease(KeyEvent.VK_H);
        robot.keyPress(KeyEvent.VK_I);
        robot.keyRelease(KeyEvent.VK_I);
    }

    //饭
    public static void fan() throws AWTException {
        Robot robot = new Robot();
        //来开始编写
        robot.keyPress(KeyEvent.VK_F);
        robot.keyRelease(KeyEvent.VK_F);
        robot.keyPress(KeyEvent.VK_A);
        robot.keyRelease(KeyEvent.VK_A);
        robot.keyPress(KeyEvent.VK_N);
        robot.keyRelease(KeyEvent.VK_N);
    }

    //le
    public static void le() throws AWTException {
        Robot robot = new Robot();
        //来开始编写
        robot.keyPress(KeyEvent.VK_L);
        robot.keyRelease(KeyEvent.VK_L);
        robot.keyPress(KeyEvent.VK_E);
        robot.keyRelease(KeyEvent.VK_E);
    }

    //我
    public static void wo() throws AWTException {
        Robot robot = new Robot();
        //来开始编写
        robot.keyPress(KeyEvent.VK_W);
        robot.keyRelease(KeyEvent.VK_W);
        robot.keyPress(KeyEvent.VK_O);
        robot.keyRelease(KeyEvent.VK_O);
    }

4.溜了溜了,剩下的靠大家去完善了,研究其他功能去了。这个只是简单操作键盘,重要的部分是破开服务器,或者拦截请求,伪造请求。溜了溜了

发布了72 篇原创文章 · 获赞 16 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_40206199/article/details/104681996