Bot clicker Java sederhana pada contoh game World of Warcraft 3.3.5a

Mekanisme ini diuji secara eksklusif pada server bajakan, oleh karena itu kinerjanya di server resmi tidak dijamin.

Semua upaya untuk digunakan - sepenuhnya atas risiko dan risiko Anda sendiri.

Implementasinya untuk desktop Windows.

Jadi, buat bot sederhana, yang tujuannya adalah:

1) memasuki game;
2) masuk ke akun Anda;
3) memasuki dunia game;
4) buka kotak surat;
5) menghasilkan dan mengirim surat ke pemain lain;

1) Masuk ke dalam game


Untuk memasuki permainan, kita harus benar-benar memiliki klien permainan yang diunduh sebelumnya.
Dalam pekerjaan kami, kami menggunakan file exe Wow.exe. Kami menulis jalurnya sebagai berikut:

String WowPatch="D:/Wow/Wow.exe"; 

Di sini kami mencatat jalur ke eksekusi Wow. Jalur ini mungkin akan berbeda untuk Anda.

Jalannya tentu bagus, tetapi ini tidak cukup untuk meluncurkan permainan.

Untuk menjalankannya, kita memerlukan kode ini:

 String WowPatch="D:/Wow/Wow.exe"; File file =new File(WowPatch); try { Desktop.getDesktop().open(file); } catch (IOException e1) { e1.printStackTrace(); } 

Sebagai hasil dari penerapan kode di atas, WoW harus dimulai pada komputer Anda.

Kami meluncurkan WoW dan segera menghadapi masalah baru - Bagaimana membuat bot secara otomatis memasukkan login dan kata sandi dari akun?

2) Masuk ke akun Anda


Sekarang kita perlu menulis dua variabel teks lagi.

 String Login="YourLogin"; String Password="YourPassword"; 

Di sini kami menuliskan Login dan Kata Sandi dari akun yang akan kami masukkan. Namun, jika kita menggunakan dari segera setelah bagian dari kode tempat kita memasuki permainan - akan ada masalah. Dan semua karena bot kami akan mengeksekusi kode terlepas dari apakah Warcraft boot, dan permainan membutuhkan waktu untuk memuat, jika Anda bekerja pada PC yang lemah maka akan memakan waktu lebih lama.

Agar login dan kata sandi tidak "dimasukkan" sebelumnya, kami akan menjeda dalam kode kami:

 String WowPatch="D:/Wow/Wow.exe"; File file =new File(WowPatch); try { Desktop.getDesktop().open(file); } catch (IOException e1) { e1.printStackTrace(); } Thread.sleep(20000); String Login="YourLogin"; String Password="YourPassword"; 

Di sini kami berhenti selama 20 detik. Saya punya lebih dari cukup waktu untuk menjalankan WoW. Perlu dicatat bahwa segera setelah memuat WoW kita sudah memilih bidang login default. Yang sekarang perlu kita lakukan adalah menyalin login dari variabel kita ke clipboard dan menempelkannya ke bidang login:

 Robot rb= new Robot(); StringSelection stringSelection = new StringSelection(Login); Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard(); clpbrd.setContents(stringSelection, null); rb.keyPress(KeyEvent.VK_CONTROL); rb.keyPress(KeyEvent.VK_V); rb.keyRelease(KeyEvent.VK_V); rb.keyRelease(KeyEvent.VK_CONTROL); 

Di sini kami menyalin Login kami ke clipboard dan disimulasikan menekan Ctrl + V, menempelkan login ke jendela yang sesuai.

Sekarang kita perlu beralih ke kotak kata sandi. Ada dua cara untuk melakukan ini:

- Kita dapat mensimulasikan gerakan mouse dan klik pada jendela kedua.
- Kita dapat beralih dengan mensimulasikan menekan tombol Tab.

Kami akan menggunakan opsi kedua, karena lebih sederhana:

 rb.keyPress(KeyEvent.VK_TAB); rb.keyRelease(KeyEvent.VK_TAB); 

Selanjutnya, salin kata sandi kami ke clipboard dan rekatkan:

 StringSelection stringSelection2 = new StringSelection(Password); Clipboard clpbrd2 = Toolkit.getDefaultToolkit().getSystemClipboard(); clpbrd2.setContents(stringSelection2, null); rb.keyPress(KeyEvent.VK_CONTROL); rb.keyPress(KeyEvent.VK_V); rb.keyRelease(KeyEvent.VK_V); rb.keyRelease(KeyEvent.VK_CONTROL); 

Hore !!! Kami memasuki menu pemilihan karakter. Sekarang Anda harus memasuki dunia game.

3) Masukkan dunia game


Sekarang kita melihat menu pemilihan karakter di layar. Kami mungkin tidak akan benar-benar memilah dan pergi ke karakter pertama yang muncul.

Untuk masuk, kita dapat menggunakan dua opsi berbeda:

- Pindahkan kursor mouse ke tombol "Login" dan mensimulasikan klik;
- Simulasikan menekan tombol Enter;

Opsi kedua lebih sederhana, tetapi jika kita menambahkan klik segera setelah fungsi input, maka akan ada masalah lagi, jadi kita akan jeda lagi, memungkinkan game untuk dengan tenang masuk ke menu pemilihan karakter:

 Thread.sleep(5000); rb.keyPress(KeyEvent.VK_ENTER); rb.keyRelease(KeyEvent.VK_ENTER); 

Saya 5 detik hilang dengan kepala.

Oh keajaiban, pemuatan dunia game telah dimulai!

4) Buka kotak surat


Di sini kita sekali lagi harus berhenti agar WoW punya waktu untuk memuat dunia game. Disarankan juga untuk menyiapkan karakter:

- Maksimalkan kamera;
- Menjadi dahi di kotak masuk Anda;

Untuk membuka kotak surat, Anda harus meneriakkannya dengan tombol kanan mouse. Untuk melakukan ini, kami akan memindahkan kursor mouse dan mensimulasikan klik:

 Thread.sleep(30000); rb.mouseMove(700, 350); rb.mousePress(InputEvent.BUTTON3_MASK); rb.mouseRelease(InputEvent.BUTTON3_MASK); 

Perlu diingat bahwa posisi mouse yang ditunjukkan oleh saya dirancang untuk resolusi layar 1366x768.
BUTTON3 persis tombol kanan mouse.

Kami membuka kotak surat, sekarang buka tab "Kirim":

 rb.mouseMove(200, 550); rb.mousePress(InputEvent.BUTTON1_MASK); rb.mouseRelease(InputEvent.BUTTON1_MASK); 

Di sini kita tidak hanya meniru gerakan mouse di layar, tetapi juga mengklik kiri.

Sekarang saatnya mengisi dan mengirim email!

5) Bentuk dan kirim surat ke pemain lain


Sekarang kita perlu mengisi poin:

- Nama penerima;
- Subjek pesan;
- Teks pesan;

 String Name="Name"; String Theme="Theme"; String Text="Text"; 

Pertama, letakkan di clipboard, nama karakter dan tempel ke kolom yang sesuai:

 StringSelection stringSelection3 = new StringSelection(Name); Clipboard clpbrd3 = Toolkit.getDefaultToolkit().getSystemClipboard(); clpbrd3.setContents(stringSelection3, null); rb.keyPress(KeyEvent.VK_CONTROL); rb.keyPress(KeyEvent.VK_V); rb.keyRelease(KeyEvent.VK_V); rb.keyRelease(KeyEvent.VK_CONTROL); rb.keyPress(KeyEvent.VK_TAB); rb.keyRelease(KeyEvent.VK_TAB); 

Kami memasukkan nama penerima dan beralih ke kolom lain. Sekarang Anda perlu memasukkan subjek pesan:

 StringSelection stringSelection4 = new StringSelection(Theme); Clipboard clpbrd4 = Toolkit.getDefaultToolkit().getSystemClipboard(); clpbrd4.setContents(stringSelection4, null); rb.keyPress(KeyEvent.VK_CONTROL); rb.keyPress(KeyEvent.VK_V); rb.keyRelease(KeyEvent.VK_V); rb.keyRelease(KeyEvent.VK_CONTROL); rb.keyPress(KeyEvent.VK_TAB); rb.keyRelease(KeyEvent.VK_TAB); 

Kami menyisipkan subjek pesan dan beralih ke kolom ketiga - teks pesan:

 StringSelection stringSelection5 = new StringSelection(Text); Clipboard clpbrd5 = Toolkit.getDefaultToolkit().getSystemClipboard(); clpbrd5.setContents(stringSelection5, null); rb.keyPress(KeyEvent.VK_CONTROL); rb.keyPress(KeyEvent.VK_V); rb.keyRelease(KeyEvent.VK_V); rb.keyRelease(KeyEvent.VK_CONTROL); 

Sisipkan teks pesan. Sekarang yang tersisa adalah mengklik tombol "Kirim":

 rb.mouseMove(200, 520); rb.mousePress(InputEvent.BUTTON1_MASK); rb.mouseRelease(InputEvent.BUTTON1_MASK); 

Pindahkan kursor dan klik kiri pada "Kirim".

Itu saja. Saya harap ini bermanfaat untuk setidaknya seseorang. Saya juga sangat berharap bahwa artikel ini tidak diterima sebagai panduan untuk bertindak dan tidak akan mengarah pada peningkatan jumlah spam dalam game.

Source: https://habr.com/ru/post/id434218/


All Articles