遊戲腳本那點事 一

這些天下來了廣州,又不能出去,只能在家閉關!內心悶騷的我,就開始玩起了地下城,玩了幾把,手動起來真累,就想研究下腳本。

外掛大概分三種:
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.溜了溜了,剩下的靠大家去完善了,研究其他功能去了。這個只是簡單操作鍵盤,重要的部分是破開服務器,或者攔截請求,僞造請求。溜了溜了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章