เขียนบอทด้วย vb6

37
เเเเเเเเเเเเ VB6 posted on 08 Aug 2009 19:18 by immortalpao in Programming Introduction - - - - - - - - - - - CODE: SELECT ALL พพพ FireBoy พพพพพพพพพพพพพพพพพพพพพพ พพพพพพพพพพ พพพพพพพพพพพพพพพพพ พพพพพพพพพพพพพพพพพพ... พพพพพพพพพพพพพพพพพ พพพพพพพพพพพพพ... :shock:พพพ พพพพพ - - พพพพพพพพพพพพพพพพ พพพพพ พพพพพพพพพพพ พพพพพพพพพพพพพพพพพพ พพพ Code พพพพพพพพพพพพพพ พพพพพพพพพพพพ พพพพพพพพพพ พพพ พพพพพพพพ Code พพพพพพพพพพพพพพพพ พพพพพพพพพพ พพพพพพพพพพพ พพพพพพพพพพพพพพพพพพพพพพพพพพพพพพ - พพพพพพพพพพ พพพพพพพพพพพพพพพพพพพพพพพ code พพพพพพพพพพพพพพพ (พพพพพพพพพพพ) พพพพพพพพพพพพพพพพพพพพพพพพพพพพพพพพพพพพพพ พพพพพพ พพ พพพ พพพ พพพพพพพ พพพพพพ พพพพพพพพพพพพพพพพพพพพพพ พพพ พพพพพพพพพพ พพพพพพ 2 พพพ 8 พพพ 10 พพพ พพพ 16 พพพ 2 พพพ พพพพพพพพพพพพ 2 พพพ พพพพพพพพพ พพพพพ พพพพพพ พพพพพ พพพพพพพ พ พพพ พพพพพพ พพ พพพ 2 พพพ 1 พพพ 0 พพพพ พพพ 1 พพพ พพพพพพพพพพพพ พพพพพ พพพพ 0000 0001 <<< 1 byte พพพ 2 พพพ พพพพพพพพพพพพ พพพพพ พพพพ 0000 0010 <<< 1 byte พพพ 3 พพพ พพพพพพพพพพพพ พพพพพ พพพพ 0000 0011 <<< 1 byte พพพ 4 พพพ พพพพพพพพพพพพ พพพพพ พพพพ 0000 0100 <<< 1 byte ....

Upload: -

Post on 29-Jul-2015

368 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: เขียนบอทด้วย VB6

เขี�ยนบอทด้วย VB6

posted on 08 Aug 2009 19:18 by immortalpao  in Programming

Introduction

- - - - - - - - - - -

CODE: SELECT ALL

พี่�� FireBoy ไม่�พี่อใจที่��ผม่ม่าสอนงี้��ก็� ลบได้�นะคั�บ

ก็�ม่�ายม่�ไรม่าก็คัร�บ คั�อว่�าผม่เป็!นคันเอ�อ... ด้�อยาก็ช่�ว่ยเหล�อคันที่��อยาก็ที่$าบอที่... :shock:ถุ&ย เหอะๆ - - ก็�คั�อว่�างี้จ�ด้คัร�บ เลยม่าสอนก็�นหน�อย 

ขอบอก็ไว่�ก็�อนนะคัร�บ ว่�า Code ที่��เข�ยนน��คั�อ ให�อ�านงี้�ายๆ พี่อจะเข�าใจ ม่�น ถุ�าจะเอา Code น��ไป็ที่$าบยอที่จ*งี้ๆ คังี้ไม่�ม่�ที่างี้จะได้�นะคัร�บ คังี้ต้�องี้ไป็ป็ร�บแต้�งี้แบบเยอะเลยคัร�บ - ไม่�แน�ผม่จะต้��งี้ก็ระที่-�ใหม่�สอนแต้�พี่ว่ก็ code อย�างี้เด้�ยว่ละก็�น (ถุ�าว่�าจ�ด้พี่อ)

ม่าเร�ยนเร��องี้ต้�ว่เลขก็�อนน*ด้น.งี้ก็�ด้�นะคั�บ

ต้�ว่เลข ใน คัอม่ ที่�� น*ยม่ใช่� และที่�� ม่�ก็จะต้�องี้ร- �เพี่��อเอาม่าใช่� ป็ระก็อบด้�ว่ย เลขฐาน 2 ฐาน 8

ฐาน 10 และ ฐาน 16

ฐาน 2 คั�อ ม่�ต้�ว่เลขอย-� 2 ต้�ว่ แต้�สาม่ารถุ น*ยาม่ ต้�ว่เลข ที่��ม่�คั�าอ��น ๆ ได้�ต้�ว่เลข ใน ฐาน 2 คั�อ1 และ 0เช่�นเลข 1 ที่�� พี่ว่ก็เราเข�าใจ ม่�คั�า เป็!น 0000 0001 <<< 1 byte

เลข 2 ที่�� พี่ว่ก็เราเข�าใจ ม่�คั�า เป็!น 0000 0010 <<< 1 byte

เลข 3 ที่�� พี่ว่ก็เราเข�าใจ ม่�คั�า เป็!น 0000 0011 <<< 1 byte

เลข 4 ที่�� พี่ว่ก็เราเข�าใจ ม่�คั�า เป็!น 0000 0100 <<< 1 byte

....

เลข 255 ที่�� พี่ว่ก็เราเข�าใจ ม่�คั�า เป็!น 1111 1111 <<< 1 byte

Page 2: เขียนบอทด้วย VB6

ไป็เร��อย ๆ ใน 1 byte จะน*ยาม่ ต้�ว่เลขได้�ถุ.งี้ 256 คั�า คั�อ 0 - 255

ฐาน ที่�� จ$าเป็!น อ�ก็ ฐาน คั�อ ฐาน 8 แต้�ไม่�คั�อยได้�ใช่� แต้�คัว่รร- �ไว่�

หล�ก็ก็ก็าร เหม่�อนเด้*ม่ คั�อเซต้ ของี้ต้�ว่เลข ต้��งี้แต้� 0 - 7 ( จะเห�น ว่�า ม่� 8 ต้�ว่ ) แต้� สาม่ารถุ น$าไป็น*ยาม่ ต้�ว่เลข อ��น ๆ ได้�

0 = 000

1 = 001

2= 002

3=003

4=004

5= 005

6=006

7=007

8=010

9=011

10=012

11=013

.....จนถุ.งี้ 777

จะพี่บ บ�อย ๆ ก็�บเร��องี้ ของี้ ส*ที่ธิ*ก็ารใช่�งี้าน file บน ระบบ unix

ไม่�คั�อยเจอบน windows เที่�าไหร�

ต้�อไป็ที่��พี่บม่าก็ที่��ส&ด้ คั�อ ฐาน 16

ป็ระก็อบด้�ว่ย0 1 2 3 4 5 6 7 8 9 A B C D E F

ที่��งี้หม่ด้ 16 ต้�ว่ โด้ย ต้��งี้แต้� A - F จะแที่น จ$านว่น 10 - 15

1 = 01

2 = 02

3 = 03

...

9=09

10 =0A

Page 3: เขียนบอทด้วย VB6

11=0B

12=0C

...

15= 0F

======================

คัว่าม่ ส�ม่พี่�นธิ3 โด้ยต้รงี้ก็�บเลขฐาน 2คั�อ เม่��อ เรา น$า เลข ฐาน 2 ก็ะ ฐาน 16 ม่าเป็ร�ยบเที่�ยบก็�นม่�นจะ ต้รงี้ก็�น เช่�น

0(2)__= 0000 0000

0(16)_= ___0___0

1(2)__= 0000 0001

1(16)_= ___0___1

...

10(2)__= 0000 1010

10(16)_= ___0__ A

15(2)__= 0000 1111

15(16)_= ___0__ F

16(2)__= 0001 0000

16(16)_= ___1__ 0

ด้�งี้น��น เม่��อเห�นเลข ฐาน 16 เช่�น 0x78 เอาม่าเข�ยน เป็!น ฐาน 2จะได้�___7 ___8

0111 1000

คั�อพี่-ด้งี้�าย ๆ เม่�อเห�น เลข ฐาน 16 เราจะเอาม่าเข�ยน เป็!นฐาน 2 ได้�ที่�นที่�แต้�ก็ารจะเอา ม่าที่$าเป็!น ฐาน 10 ต้�องี้คั*ด้ก็�อน 

- ระบบเลขฐาน 2 เลข 0 ก็�บ 1- ระบบเลขฐาน 8 เลข 0 ถุ.งี้ 7

Page 4: เขียนบอทด้วย VB6

- ระบบเลขฐาน 10 เลข 0 ถุ.งี้ 9- ระบบเลขฐาน 16 เลข 0 ถุ.งี้ 9 และต้�ว่อ�ก็ษรอ�ก็ 6 ต้�ว่ A,B,C,D,E,F ม่�คั�าเที่�าก็�บ 10-15

ต้ารางี้รางี้เป็ร�บเที่�ยบเลขฐาน 10, ฐาน 2,ฐาน 8, ฐาน 16

เลขฐาน 10 เลขฐาน 2 เลขฐาน 8 เลขฐาน 16

0 0000 0 0

1 0001 1 1

2 0010 2 2

3 0011 3 3

4 0100 4 4

5 0101 5 5

6 0110 6 6

7 0111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

== = = = = = = = = = = = = = = = =

ก็ารแป็ลงี้เลขฐาน 10 ให�เป็!นเลขฐาน 2 สาม่ารถุที่$าได้�โด้ยว่*ธิ�หารส��นแบบ

งี้�ายๆจาก็ก็ารน$าเลขฐาน 10 หารด้�ว่ย 2 แล�ว่ที่$าก็ารเข�ยนผลหารและเศษที่��เหล�อจาก็ก็าร

หารแต้�ละคัร��งี้ไว่�และที่$าก็ารหารจนก็ระที่��งี้ผลของี้ก็ารหารเป็!น 0 ส&ด้ที่�ายที่$าก็ารเข�ยนส&ด้ที่�ายที่$าก็ารเข�ยนเศษที่��ได้�จาก็ก็ารหารโด้ยเร�ยงี้ล$าด้�บจาก็ด้�านล�างี้ข.�นด้�านบนต้ย. 58 ฐาน 10 เป็!นฐาน 258/2 ได้� 29 เศษ 029/2 ได้� 14 เศษ 1

Page 5: เขียนบอทด้วย VB6

14/2 ได้� 7 เศษ 07/2 ได้� 3 เศษ 13/2 ได้� 1 เศษ 1

1/2 ได้� 0 เศษ 1

ผลล�พี่ธิ3ที่��ได้�ในร-ป็เลขฐาน 2 คั�อ 1110102

และถุ�าจะแป็ลงี้จาก็ฐาน 10 เป็!6 นฐาน 2 ก็�

111010 = (1x25 ก็$าล�งี้ 5)+(1x24 ก็$าล�งี้ 4)+(1x23 ก็$าล�งี้ 3)+

(0x22 ก็$าล�งี้ 2)+(1x21 ก็$าล�งี้ 1)+(0x20 ก็$าล�งี้ 0)

= (1x32)+(1x16)+(1x8)+(0x4)+(1x2)+(0x1)

= 32+16+8+0+2+0

= 58

0 or 0 = 0

0 or 1 = 1

1 or 0 = 1

1 or 1 = 1

0 and 0 = 0

0 and 1 = 0

1 and 0 = 0

1 and 1 = 1

0 xor 0 = 0

0 xor 1 = 1

1 xor 0 = 1

1 xor 1 = 0

แนะน$า: ไป็ซ��อหน�งี้ส�อ ว่*ที่ยก็ารคัอม่พี่*ว่เต้อร3 ม่าเลยม่�เยอะก็ว่�าน��

อ�านะคั�บ ยาว่ม่าก็ เร*�ม่เลย

- - - - - - - - - - - -

Page 6: เขียนบอทด้วย VB6

CHAPTER 1

- - - - - - - - - - - -

เร*�ม่เลยนะคัร�บ ส*�งี้ที่��ขาด้ไม่�ได้� ม่�อย-� 2 อย�างี้คั�บ 

= สม่องี้ (ที่��ม่�ต้*ด้ต้�ว่ก็�นอย-�แล�ว่) + VB หาได้�จาก็ ต้รงี้ Download นะคัร�บ

แนะน$าให�ไป็หาข�อม่-ลเก็��ยว่ก็�บพี่ว่ก็ Socket Programming ไรพี่ว่ก็น��ม่าก็�อนนะคั�บ ไคัรไม่�อยาก็ก็�เร��องี้ของี้คั&ณนะคั�บ ผม่ไม่�เก็��ยว่....

เที่�าที่��ผม่ร-นะคั�บ ต้�ว่ Game หร�อ ต้�ว่ Client เน��ย ต้�องี้ส�งี้ข�อม่-ล หร�อเร�ยก็ว่�า Packet ไป็ให�ก็�บ Server แล�ว่ Server จะส�งี้ก็ล�บม่าให�ต้�ว่ Client อ�ก็ที่�คั�บ ยก็ต้�ว่อย�างี้เช่�นเด้*นไป็ต้รงี้ ??? , ??? ก็�จะส�งี้ไป็ให� Server ว่�า ต้�ว่ละคัรเราเด้*นไป็ต้รงี้พี่*ก็�ด้น��นะเฟ้9ย แล�ว่ Server

ก็�จะส�งี้ก็ล�บม่าว่�า เออ... ร�บร- �แล�ว่เฟ้9ยว่�าม่�นเด้*น อ�าๆ เอาแบบด้�ๆ ก็�คั�อ

ต้�ว่อย�างี้ Packet

Send (Client 2 Server)

59 E9 AB AD A2 A9 F0 EB AD AD

Recieve (Server 2 Client)

AD 00 AB

ม่าต้�อคัร�บ.... โช่คัด้�นะคัร�บ ที่�� Yulgang เน��ย ไม่�ได้�เข�ารห�สไรไว่�เลยในก็ารส�งี้ Packet อย�างี้ TS

Online เงี้��ย จะเข�ารห�สด้�ว่ย Xor ก็�บ ไรบางี้อย�างี้เน��ยแหละ แต้�ก็�โช่คัร�ายเหม่�อนก็�นที่�� Yulgang

จะม่� Packet 00C0 ซ.�งี้เหม่�อนก็�บว่�าเรา Zip ข�อม่-ลไรไว่�ป็ระม่ารน��น (นรก็ที่��ส&ด้ของี้ลย)

เว่รก็รรม่เรา พี่-ด้ม่าก็ไป็ละ - โป็รแก็รม่ที่��ต้�องี้ไช่�นะคั�บ ที่��บอก็ไป็แล�ว่คั�อ VB แล�ว่เราต้�องี้ม่�ต้�ว่ด้�ก็ข�อม่-ลหร�อ Packet เน��ยคั�บ คั�อ WpePro หาๆ ด้-ละก็�น

คั$าเต้�อน : ส$าหร�บคันที่��ไช่� WpePro แล�ว่ Anti-Virus ฟ้9องี้ข.�นม่านะคั�บ ให� Disable Anti-Virus ไว่� หร�อ ออก็เลยก็�ได้� ม่�นเห�นเป็9นไว่ร�สเพี่ราะว่�า WpePro ม่�นที่$างี้านเหม่�อนไว่ร�สหนะคั�บ

Page 7: เขียนบอทด้วย VB6

- - - - - - - - - - -

CHAPTER 2

- - - - - - - - - - -

พี่ร�อม่ย�งี้?? ผม่พี่ร�อม่ละ ล&ยต้�อเลยย Chapter น��นะคั�บ จะอธิ*บายเพี่*�ม่เต้*ม่เร��องี้ Packet

หน�อย:

Packet นะคั�บ จะไช่�เลขเป็!น Hex หร�อ เลขฐาน 16 ซ.�งี้ม่�

0 1 2 3 4 5 6 7 8 9 A B C D E F (เหม่�อนที่��บอก็ไว่�ข�างี้บนนะคั�บ)

เราจะอ�าน Packet ก็ล�บหล�งี้ อย�า 21 42 ก็�จะเป็!น 42 21 แล�ว่คั&ณ 24 42 หร�อ 42 21 ไรก็�แล�ว่แต้� เราจะเร�ยก็ว่�า ไรก็�ไม่�ร- � เอาเป็!นว่�า ช่&ด้ละก็�น ช่&ด้น.งี้จะม่� 2 (2 ไรหว่�า) 2 บอม่ละก็�น ก็�คั�อ 21 ก็�บ 42 เร*�ม่ม่��ว่แล�ว่หว่ะ ต้�อเลยๆ

Packet นะคั�บ จะม่� Format ของี้ม่�นอย-�ก็�คั�อ

[HEADER]

[DATASIZE]

[DATA]

HEADER ของี้โยว่ก็�งี้จะเป็!น AA55 จบด้�ว่ย 55AA นะคั�บDATASIZE ก็� โห ต้าม่ช่��อเลยคัร�บ Size ของี้ จ�อม่-ลม่านอ�ะคั�บ (เด้�ว่สอนว่*ธิ�น�บ)

DATA ก็� โห (อ�ก็ละ) ต้าม่ช่��อเลย ... ข�อม่-ลงี้�ย!!

ผม่จะเอาต้�ว่ย�างี้ของี้ Packet Login ใน Yulgang ม่านะคั�บ

00 80 [Header]

24 00 [Size]

09 00 [ID LEN = 9] หร�อ 9 bytes

?? ?? ?? ?? ?? ?? ?? ?? ?? [ID = ???????]

09 00 [Password LEN = 9]

Page 8: เขียนบอทด้วย VB6

?? ?? ?? ?? ?? ?? ?? ?? ?? [Password = ?????????]

00 00 00 00 00 00 00

00 00 00 00 00 00 00

0 น��ผม่เคัยลองี้แบบ 10 ต้�ว่ หร�อ 14 ต้�ว่ก็�ได้�นะคั�บ น�าจะเหม่�อนก็�น แต้�จะเป็ล��ยน DATASIZE

จาก็ที่��เห�นนะคั�บ Header ของี้ Login เน��ย จะต้�างี้ก็�นจาก็ ข�อม่-ลธิรรม่ด้า AA55 เป็!น 0080 แที่นหนะคั�บ - Size นะคั�บ ที่��เห�นน��จะเป็!น 24 00 เราจะคั*ด้ย�งี้งี้�ยหรอ ก็�คั�อ ต้�ด้ส-น 2 ต้�ว่ออก็เลยคั�บ เหล�อ 24 แล�ว่ให�เราเป็:ด้ Calculator ออก็ม่า Accessories > Calculator อ�านะคั�บ ก็ด้ที่�� View ->

Scientific แล�ว่เล�อก็หน�าไป็ที่�� Hex ใส� 24 เข�าป็าย แล�ว่เป็ล��ยนหน�าเป็!น Dec แล�ว่คั&ณจาเห�นว่�า ม่�นเที่�าก็�บ 36 เพี่ราะว่�า:

00 80 24 00 09 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? 09 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00

ลองี้น�บก็ล�งี้จาก็ 00 80 24 00 ด้-นะคั�บ จะได้� 36 ต้�ว่คั�บ (น�บที่�ละ 2 หนะ) ก็�จะได้� 36 ช่�ว่ๆ คั�บ ถุ�าเที่�าก็�บอย�างี้อ��น น�ด้ผม่ม่าต้บก็ระบาลเลยคั�บ

ว่*ธิ�แป็ลงี้ Hex เป็!น Decimal ในห�ว่เองี้นะคั�บ ไม่�ต้�องี้ไช่�เคัร��องี้คั*ด้เลข

เป็!นย�งี้งี้�ยแล�ว่อ�าา ขอคั*ด้เเป็ป็น.งี้ เด้�ว่ม่าเข�ยนต้�อ ม่าละๆๆจาก็ต้�ว่อย�างี้นะคั�บ DATASIZE = 24 00 แล�ว่ ม่าได้� 36 นะคั�บต้��งี้ 24 เลยคั�บ (ไม่�ต้�องี้ 00 เพี่ราะที่��บอก็ไป็นะคั�บว่�า 00 ไม่�ม่�คั�า) แล�ว่เอา 16 เน��ย ม่า X ก็�บ 2 (เพี่ราะเราก็$าล�งี้แป็ลงี้ ฐาน 16 อย-�) จะได้� 32 นะคั�บ + 4 ได้� 36

ม่าด้-งี้�ายๆ นะคั�บ:

24

2 :

จาก็ฝั่<� งี้ 2 นะคั�บ ต้�องี้เอาไป็ X ก็�บ 16 ได้�ม่าเป็!น 32 [2 X16 = 32]

4:

Page 9: เขียนบอทด้วย VB6

ต้�องี้เอาไป็บว่ก็ก็�บคั�าที่��ได้�จาก็ หล�ก็แรก็ ก็�คั�อ 32 ได้� ม่าเป็!น 36 [4 + 32 = 36]

- - - - - - - - - - - 

CHAPTER 3

- - - - - - - - - - - 

Chapter 3 เก็��ยว่ก็�บพี่ว่ก็ Code ใน VB นะคั�บ ม่าเร*�ม่ก็�นเลย [zzzZZZZ นอนก็�อน เด้�ว่ต้��นม่าเข�ยน]

อ�า โว่�ว่ๆๆ เย�เย� ต้าสว่�างี้แล�ว่คั�บ ถุ.งี้ไหนแล�ว่น�ออ.... โอ�ว่ Code อ�ะหรอ

คั�บ ต้อนแรก็ก็� แน�นอน เป็:ด้ Project เต้ร�ยม่หน�าไรให�เร�ยบร�อย เราต้�องี้ก็าร 3 อย�างี้นะคั�บคั�อ 

ช่�องี้ Textboxt 2 ช่�องี้ เพี่��อใส� Username และ Password สาม่ารถุใส� Label ข�างี้หน�าหร�อข�างี้หร�อบน ต้รงี้ไหหนก็�เร��องี้ของี้คั&ณนะคั�บ ให�ร- �คั�บว่�าเป็!นช่�องี้ User และ ช่�องี้พี่าส (น.ก็ถุ.งี้บอที่ที่�าน Fireboy แล�ว่จะงี้�ายข.�นนะคั�บ) 

ต้�อม่าก็� Winsock คั�บ ส�รางี้ไว่�ที่��ไหนก็�ได้�

ต้�อม่าคั�อ ComboBox นะคั�บ เพี่��อเล�อก็ Server คั�บ (เหม่�อนเด้*ม่นะคั�บ คัว่รใส� Label ว่�า Server

Select ไรป็ระม่านน��น) โยว่ก็�งี้จะม่�อย-� 3 ต้�ว่คั�บ เหม่�อนของี้พี่�� FireBoy อ�ก็นะคั�บ จะม่� THAI1,2

และ 3 แนะน$านะคั�บให�ใส�ว่�า Select Server ใน Caption ของี้ Combo Box แล�ว่ต้รงี้ List ของี้ ComboBox ให�ใส�เป็!น Serv1, Serv 2, Serv 3 หร�อเหม่�อนพี่�� FireBoy THAI 1, 2 , 3.

ส&ด้ที่�ายที่��ไม่�ส&ด้ม่าก็นะคั�บ คั�อ ป็&=ม่ Login สร�างี้ข&�นม่าแล�ว่ใส� ใส� Caption ว่�า Login (ผม่ต้��งี้ช่��อว่�า cmdLogin และ Caption น�� Login นะคั�บ)

Code ต้าม่น��คั�บ

CODE: SELECT ALL

Private Sub cmdLogin_Click()

Page 10: เขียนบอทด้วย VB6

'ส$าหร�บคันที่��ต้อนแรก็ส�รางี้เป็!นจอเล�ก็แล�ว่พี่อก็ด้ Login จะเป็!นจอใหญ่� (เหม่�อนพี่�� FireBoy

อ�ก็) 

'ให�เอา "'" ออก็ละก็�นคั�บ       'Form1.WindowState = 2

   If cmdLogin.Caption = "Login" Then 'ด้-ว่�า Caption เป็!น Login ม่��ย          Select Case SvrSelect.ListIndex 'เล�อก็ Case ของี้ Combobox คั�บ(ผม่ต้��งี้ช่��อว่�า SvrSelect)

        Case 0

        Winsock1.Connect "203.144.179.133", 16100 'IP ที่�� 1        Case 1

        Winsock1.Connect "203.144.179.132", 16100 'IP ที่�� 2        Case 2

        Winsock1.Connect "203.144.179.131", 16100 'IP ที่�� 3    End Select

    

      cmdLogin.Caption = "Logout" 'เป็ล��ยน Caption เป็!น Logout เหม่�อนของี้พี่��ไฟ้นะคั�บ Connect

เป็!น Disconnect.

   Else

         Winsock1.Close

         cmdLogin.Caption = "Login" 'เป็ล��ยนก็ล�บเป็!น Login อ�ก็คัร��งี้   End If

End Sub

ให�ลองี้ Test ด้-คั�บ ว่�าม่� Error อะไรม่��ย :!: 

เราจะร- �ได้�ว่�าเราต้�อเข�า Serv ต้*ด้ม่��ย เราต้�องี้ลองี้ส�งี้ Packet ไป็ด้-คั�บ 

Function A2Hex

CODE: SELECT ALL

Public Function a2hex(alpha, length)

   hextemplate = "0123456789ABCDEF"

        

Page 11: เขียนบอทด้วย VB6

   alpha = Right("00000000" & UCase(alpha), length)

   If Len(alpha) = 2 Then

      ahindex = InStr(1, hextemplate, Left(alpha, 1)) - 1

      alindex = InStr(1, hextemplate, Right(alpha, 1)) - 1

      a2hex = (ahindex * (16 ^ 1)) + (alindex * (16 ^ 0))

   ElseIf Len(alpha) = 4 Then

      lb = Left(alpha, 2)

      hb = Right(alpha, 2)

      hx = a2hex(hb, 2) * (16 ^ 2) + a2hex(lb, 2)

      a2hex = hx

   ElseIf Len(alpha) = 8 Then

      aH = a2hex(Right(alpha, 4), 4)

      aL = a2hex(Left(alpha, 4), 4)

      a2hex = (aH * (16 ^ 4)) + aL

   End If

End Function

Function BuildPacket นะคั�บ

CODE: SELECT ALL

Public Function ฺี�BuildPacket(ByVal strPacket As String) As Byte()

Dim i As Long

Dim Hstr As String

Hstr = Replace(strPacket, " ", "")

Dim pHex() As Byte

ReDim Preserve pHex((Len(Hstr) / 2 - 1))

For i = 0 To Len(Hstr) / 2 - 1

pHex(i) = A2Hex(Mid(Hstr, (i * 2) + 1, 2), 2)

Next

Size = CInt(Len(strPacket) / 2)

BuildPacket = pHex

End Function

จาก็น��นเป็:ด้ Code ของี้ Winsock ม่า แล�ว่ใส�เป็!น

Page 12: เขียนบอทด้วย VB6

CODE: SELECT ALL

Private Sub Winsock1_Connect()

   If Winsock1.State = sckConnected Then

      TestPacket = BuildPacket("F4 44 01 00 00")

      Winsock1.SendData TestPacket

   End If

End Sub

และ

CODE: SELECT ALL

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

   Dim din() As Byte

   Winsock1.GetData din, , bytesTotal

   For i = 0 To bytesTotal - 1

      h = din(i)

      hx = Hex(h)

      strBuffer = strBuffer & IIf(h < 16, "0" & hx, hx)

   Next

End Sub

เอาโป็รแก็รม่ด้�ก็ Packet ม่าด้�ก็ด้-เว่ลาเราส�งี้ ถุ�า Serv ส�งี้ก็ล�บม่าแสด้งี้ว่�าต้*ด้แล�ว่- - ว่*ธิ�ด้�ก็ Packet Chapter ต้�อไป็คั�บ - - คั�อยก็ล�บม่าเร��องี้ Code อ�ก็ที่� 

แนะน$า: ให�ลองี้ที่��งี้ 3 IP นะคั�บข$าๆ : F4 44 01 00 00 เป็!น Packet Login ของี้ TS

- - - - - - - - - - -

Page 13: เขียนบอทด้วย VB6

CHAPTER 4

- - - - - - - - - - -

ต้*ด้ต้�อก็�บ Server ได้�แล�ว่ ได้�เว่ลาด้�ก็ข�อม่-ลเพี่��อส�งี้ไป็ให�ม่�น

WPEPro ด้-ต้รงี้ Download คัร�บ

ว่*ธิ�ก็าร (ส$าหร�บ wpepro)

1 เป็:ด้โป็รแก็รม่ yulgang ข.�นม่า2 เป็:ด้โป็รแก็รม่ wpepro 

3 ต้รว่จสอบว่�า wpepro ที่$าก็ารด้�ก็ packet ในร-ป็แบบไหน โด้ยเล�อก็คั$าส��งี้ view>> option

แล�ว่ที่$าก็ารคัล*@ก็ถุ-ก็ต้�ว่เล�อก็ที่&ก็ช่�องี้ที่��งี้ใน winsock 1.1 และ winsock 2.0

4 ที่$าก็ารเล�อก็โป็รแก็รม่ที่��จะที่$าก็ารด้�ก็ข�อม่-ลที่��ส�งี้เล�อก็เม่น- target Program>> แล�ว่เล�อก็ ThaiClien.exe

ที่�� title bar จะข.�นช่��อโป็รแก็รม่ที่��เราเล�อก็ไว่�5 ที่$าก็ารด้�ก็ข�อม่-ลโด้ยก็ารก็ด้ป็&=ม่ > (start logging)

6 เข�าหน�าเก็ม่ แล�ว่ก็ระที่$าก็ารต้�างี้ๆ ที่��เราต้�องี้ก็ารด้�ก็ เช่�น login game เด้*น ต้� น��งี้ ฯลฯ จนเป็!นที่��พี่อใจ = =

7 ออก็ม่าหน�าโป็รแก็รม่ wpe ให�ที่$าก็ารก็ด้ป็&=ม่ (stop logging) จะม่�ข�อม่-ลแพี่�คัเก็จต้�างี้ๆ ที่��เราด้�ก็ไว่�ได้� ซ.�งี้ม่�ที่��งี้เคัร��องี้เราส�งี้ไป็ แล�ว่ เซ*บส�งี้ม่า

คั$าแนะน$า เราสาม่ารถุด้�ก็ข�อม่-ลช่�ว่งี้ไหนก็�ไม่� ไม่�ต้�องี้เร*�ม่ด้�ก็ต้��งี้แต้� login ให�ด้�ก็เฉพี่าะช่�ว่งี้ที่��เราต้�องี้ก็ารจะเป็!นก็ารงี้�ายต้�อก็ารหา packet ที่��ต้�องี้ก็ารต้�อไป็เป็!นว่*ธิ�ก็ารอ�านแพี่�คัเก็จ เอาไว่�จะม่าเข�ยนให�เพี่*�ม่คัร�บไป็ลองี้เล�นๆ ด้-ก็�อนนะ

Credit คั&ณ tdech แห�งี้เว่�บบอร3ด้ yglight คั�บ

Tip: ถุ�าช่��ว่หน�อยก็� ด้�ก็ผ�านบอที่ ที่�าน FireBoy เลย ไม่�ต้�องี้ม่าน��งี้ ByPass

...: ไป็ด้-ก็าร ByPass ในคัว่าม่คั*ด้ของี้ผม่ด้- ต้รงี้น��คั�บ (เฉพี่าะ YGB Member นะคั�บ) 

- - - - - - - - - - -

Page 14: เขียนบอทด้วย VB6

CHAPTER 5 

- - - - - - - - - - -

ม่าเร*�ม่ช่�ว่งี้ Login ก็�นนะคั�บ, จก็ packet ที่��ผม่เอาต้�ว่อย�างี้ม่าโช่ว่3ใน Chapter 2 นะคั�บ น�านแหละ คั�อ Packet ที่��ต้�องี้ส�งี้ไป็เพี่��อ Login 

00 80 [Header]

24 00 [Size]

09 00 [ID LEN = 9] หร�อ 9 bytes

?? ?? ?? ?? ?? ?? ?? ?? ?? [ID = ???????]

09 00 [Password LEN = 9]

?? ?? ?? ?? ?? ?? ?? ?? ?? [Password = ?????????]

00 00 00 00 00 00 00

00 00 00

คัร�บ Packet ช่&ด้ข�างี้บนน��แหละคั�บ ที่��เราต้�องี้ส�งี้ให� Server ส*�งี้ที่��ต้�องี้ที่$านะคัร�บ คั�อต้�องี้ที่$าให� Winsock เน��ย ส�งี้ Packet ต้าม่ข�างี้บนไป็โด้ยไช่�ว่*ธิ�เด้*ม่นะคั�บ เหม่�อนต้อนที่��เราลองี้ที่$า TestPacket ก็�นงี้�ยคั�บ ผม่จะยก็ต้�ว่อย�างี้ไอด้�เป็!น test Password ก็� test นะคั�บ จะเข�ยนด้�งี้น��

CODE: SELECT ALL

Private Sub Winsock1_Connect()

   If Winsock1.State = sckConnected Then

      LoginPrompt = BuildPacket("00 80 1A 00 04 00 74 65 73 74 04 00 74 65 73 74 00 00 00 00 00 00

00 00 00 00")

      Winsock1.SendData LoginPrompt

   End If

End Sub

ถุ�าแบ�งี้ออก็ม่านะคัร�บก็�จะเป็!น

00 80 [Header]

1A 00 [Size]

Page 15: เขียนบอทด้วย VB6

04 00 [ID LEN = 4] หร�อ 4 bytes

74 65 73 74 [ID = test]

04 00 [Password LEN = 4]

74 65 73 74 [Password = test]

00 00 00 00 00 00 00

00 00 00

ให�ลองี้ส�งี้ไป็ด้-นะคัร�บ แล�ว่ด้-ว่�าเว่ลาแป็ล เป็!น Ascii จะม่�เข�ยนว่�า test test ไรป็ระม่านน��อย-�หร�อป็ล�าว่

ต้�อม่านะคั�บ เป็!น code ที่��ผม่น��งี้เข�ยนที่��งี้คั�นนะคั�บ ขอบอก็เลยว่�า งี้งี้ที่��ส&ด้ของี้ๆ code น��เป็!นเหม่�อนก็�บอ�นข�างี้บนนะคั�บ แต้�ม่�นจะอ�านจาก็ช่�องี้ Username และ Password แล�ว่ส�งี้ ม่าให�ผม่ไป็ไช่�ขโม่ยของี้ของี้คั&ณคัร�บ เย�ย ไม่�ไช่� ม่�นจะอ�าน จาก็ช่�องี้แล�ว่เเอไป็ต้�อก็�บช่&ด้ Packet พี่ร�อม่ส�งี้เลยคัร�บ (อ�ก็แล�ว่นะคัร�บ ให�น.ก็ถุ.งี้บอที่ ygb แล�ว่จะเข�าใจคัร�บ)

ต้�อเลยนะคั�บ ต้�อจาก็อ�นที่��แล�ว่เลย ให�ลบอ�น test ออก็ก็�อนนะคั�บ เพี่ราะอ�นน��เป็!นอ�นใหม่�เลย

Function n2h

CODE: SELECT ALL

Function n2h(number, nb)

For i = 1 To (nb * 2)

zerotem = zerotem & "0"

Next

rn = Right(zerotem & Hex(number), (nb * 2))

out = ""

For i = 1 To Len(rn) Step 2

out = Mid(rn, i, 2) & out

Next

n2h = out

End Function

Page 16: เขียนบอทด้วย VB6

Function Asc2Hex

CODE: SELECT ALL

Private Function Asc2Hex(asc1, length)

    Asc2Hex = ""

    For i = 1 To length

        Asc2Hex = Asc2Hex + Trim(Hex(Asc(Mid(asc1, i, 1))))

    Next i

End Function

CODE: SELECT ALL

Private Sub Winsock1_Connect()

Dim a

Dim b

Dim c

Dim d

If Winsock1.State = sckConnected Then

     a = Len(n2h(Len(Text2.Text), 2)) / 2

     b = Len(Asc2Hex(Text2.Text, Len(Text2.Text))) / 2

     c = Len(n2h(Len(Text1.Text), 2)) / 2

     d = Len(Asc2Hex(Text1.Text, Len(Text1.Text))) / 2

      ploginprompt = BuildPacket("0080" & n2h(a + b + c + d + 10, 2) & n2h(Len(Text2.Text), 2) &

Asc2Hex(Text2.Text, Len(Text2.Text)) & n2h(Len(Text1.Text), 2) & Asc2Hex(Text1.Text,

Len(Text1.Text)) & "00000000000000000000")

  

Winsock1.SendData ploginprompt

'ต้�อด้�ว่ย Packet ย�นย�นว่�าส�งี้ไอด้�นะคั�บDoEvents

   'ให� Delay ส�ก็น*ด้ส3น.งี้ (ถุ�าช่�าไป็ก็�ลด้จ$านว่นต้�ว่เลขคั�บ)

    For i = 1 To 90000000

   Next i

follow = BuildPacket("16800000")

Page 17: เขียนบอทด้วย VB6

Winsock1.SendData follow

DoEvents

End If

End Sub

Credit อย�างี้หน�ก็เลย ให�ที่�านน�าผม่นะคั�บ ช่�ว่ยเยอะม่าก็เลย

Note: User = Text2 Password = Text1

ถุ�าลองี้ใส� User และ Password และที่$าอะไรให�เร�ยบร�อยนะคั�บ ไป็ด้�ก็ Packet ด้- Server จะส�งี้ Packet ก็ล�บม่าให�เราเล�อก็ Server ถุ�าไช่� WPE Pro จะไม่�เห�นเป็!นภาษไที่ยนะคั�บ แต้�ถุ�าเห�น Packet

ยาว่ๆ ต้อบม่าก็�น�าจะไช่� :D Login ได้�แล�ว่งี้�ะ ม่าถุ.งี้ต้อนเล�อก็ Serv และต้�ว่ละคัรก็�น..... ต้อนน��ผม่แก็ะ Packet ที่�อนน��อย-�นะคั�บ ไก็�ลเส�ด้แล�ว่คั�บ แต้�อธิ*บายส�ก็น*ด้ก็�อนด้�ก็ว่�า....

- - - - - - - - - - - - > > > > > > > > > > > > > > > > > >

CHAPTER 6 - ||| Connecting to ther Game Server |||

- - - - - - - - - - - - > > > > > > > > > > > > > > > > > >

น��ก็�แก็�ใหม่�ม่าเป็!น Chapter 6 เลยนะคั�บ ที่��บอก็ไป็ใน Chapter ข�างี้บนก็�เป็!น ว่*ธิ� Login และ ย�นย�น ว่�า login อย�างี้สม่บ-ลย3แล�ว่ หร�อป็=าว่ว่�า... เอาเป็!นว่�าผ�าน ช่�ว่งี้ต้�นๆ ของี้ก็าร Login

แล�ว่ละก็�นนะคั�บ Chapter น��นะคั�บ จะอธิ*บายต้�นๆ เก็��ยว่ก็�บ ก็ารเล�อก็ Server และ Channel นะคั�บ แล�ว่น��คั�อ IP ของี้ แต้�ละ Server นะคั�บ (หร�อว่�า IP ที่��ต้�องี้ Redirect เข�าไป็จาก็ Login Server

น��นเองี้)

Server IP , Port

ป็ระก็าศ*ต้ล*ข*ต้นภา:

ป็ระก็าศ*ต้ล*ข*ต้นภา 01 = 203.144.179.177 , 16000

ป็ระก็าศ*ต้ล*ข*ต้นภา 02 = 203.144.179.177 , 16001

ป็ระก็าศ*ต้ล*ข*ต้นภา 03 = 203.144.179.178 , 16000

ป็ระก็าศ*ต้ล*ข*ต้นภา 04 = 203.144.179.178 , 16001

Page 18: เขียนบอทด้วย VB6

ป็ระก็าศ*ต้ล*ข*ต้นภา 05 = 203.144.179.179 , 16000

ป็ระก็าศ*ต้ล*ข*ต้นภา 06 = 203.144.179.179 , 16001

ป็ระก็าศ*ต้ล*ข*ต้นภา 07 = 203.144.179.180 , 16000

ป็ระก็าศ*ต้ล*ข*ต้นภา 08 = 203.144.179.180 , 16001

ป็ระก็าศ*ต้ล*ข*ต้นภา 09 = 203.144.179.181 , 16000

ป็ระก็าศ*ต้ล*ข*ต้นภา 10 = 203.144.179.181 , 16001

ม่ายาจ�นที่ราพี่*ช่*ต้:

ม่ายาจ�นที่ราพี่*ช่*ต้ 01 = 203.144.179.168 , 16000

ม่ายาจ�นที่ราพี่*ช่*ต้ 02 = 203.144.179.168 , 16001

ม่ายาจ�นที่ราพี่*ช่*ต้ 03 = 203.144.179.169 , 16000

ม่ายาจ�นที่ราพี่*ช่*ต้ 04 = 203.144.179.169 , 16001

ม่ายาจ�นที่ราพี่*ช่*ต้ 05 = 203.144.179.170 , 16000

ม่ายาจ�นที่ราพี่*ช่*ต้ 06 = 203.144.179.170 , 16001

ม่ายาจ�นที่ราพี่*ช่*ต้ 07 = 203.144.179.171 , 16000

ม่ายาจ�นที่ราพี่*ช่*ต้ 08 = 203.144.179.171 , 16001

ม่ายาจ�นที่ราพี่*ช่*ต้ 09 = 203.144.179.172 , 16000

ม่ายาจ�นที่ราพี่*ช่*ต้ 10 = 203.144.179.172 , 16001

อ�สน�ขย��พี่ส&ธิา:

อ�สน�ขย��พี่ส&ธิา 01 = 203.144.179.159 , 16000 

อ�สน�ขย��พี่ส&ธิา 02 = 203.144.179.159 , 16001

อ�สน�ขย��พี่ส&ธิา 03 = 203.144.179.160 , 16000

อ�สน�ขย��พี่ส&ธิา 04 = 203.144.179.160 , 16001

อ�สน�ขย��พี่ส&ธิา 05 = 203.144.179.161 , 16000

อ�สน�ขย��พี่ส&ธิา 06 = 203.144.179.161 , 16001

อ�สน�ขย��พี่ส&ธิา 07 = 203.144.179.162 , 16000

อ�สน�ขย��พี่ส&ธิา 08 = 203.144.179.162 , 16001

อ�สน�ขย��พี่ส&ธิา 09 = 203.144.179.163 , 16000

Page 19: เขียนบอทด้วย VB6

อ�สน�ขย��พี่ส&ธิา 10 = 203.144.179.163 , 16001

พี่*ช่*ต้ส&ร*ย�นต้3:

พี่*ช่*ต้ส&ร*ย�นต้3 01 = 203.144.179.141 , 16000

พี่*ช่*ต้ส&ร*ย�นต้3 02 = 203.144.179.141 , 16001

พี่*ช่*ต้ส&ร*ย�นต้3 03 = 203.144.179.142 , 16000

พี่*ช่*ต้ส&ร*ย�นต้3 04 = 203.144.179.142 , 16001

พี่*ช่*ต้ส&ร*ย�นต้3 05 = 203.144.179.143 , 16000

พี่*ช่*ต้ส&ร*ย�นต้3 06 = 203.144.179.143 , 16001

พี่*ช่*ต้ส&ร*ย�นต้3 07 = 203.144.179.144 , 16000

พี่*ช่*ต้ส&ร*ย�นต้3 08 = 203.144.179.144 , 16001

พี่*ช่*ต้ส&ร*ย�นต้3 09 = 203.144.179.145 , 16000

พี่*ช่*ต้ส&ร*ย�นต้3 10 = 203.144.179.145 , 16001

สว่รรคั3ที่ลายป็ฐพี่�:

สว่รรคั3ที่ลายป็ฐพี่� 01 = 203.144.179.150 , 16000

สว่รรคั3ที่ลายป็ฐพี่� 02 = 203.144.179.150 , 16001

สว่รรคั3ที่ลายป็ฐพี่� 03 = 203.144.179.151 , 16000

สว่รรคั3ที่ลายป็ฐพี่� 04 = 203.144.179.151 , 16001

สว่รรคั3ที่ลายป็ฐพี่� 05 = 203.144.179.152 , 16000

สว่รรคั3ที่ลายป็ฐพี่� 06 = 203.144.179.152 , 16001

สว่รรคั3ที่ลายป็ฐพี่� 07 = 203.144.179.153 , 16000

สว่รรคั3ที่ลายป็ฐพี่� 08 = 203.144.179.153 , 16001

สว่รรคั3ที่ลายป็ฐพี่� 09 = 203.144.179.154 , 16000

สว่รรคั3ที่ลายป็ฐพี่� 10 = 203.144.179.154 , 16001

CODE: SELECT ALL

ถุ�าผ*ด้งี้�ยก็�ช่�ว่ยบอก็ด้�ว่ยนะคั�บ ผม่ที่$าแคั�บางี้เซฟ้เองี้งี้�บ เห�นม่�นเป็งี้ Pattern เลยพี่อเด้า

Page 20: เขียนบอทด้วย VB6

ได้�...

ที่��ม่าของี้ Packet 0C 80 0C 00 05 00 00 00 04 00 00 00 01 00 00 00 น�� ม่าจาก็ รห�สด้�งี้น��นะคั�บ

ป็ระก็าศ*ต้ล*ข*ต้นภา = 5

ม่ายาจ�นที่ราพี่*ช่*ต้ = 4

อ�สน�ขย��พี่ส&ธิา = 3

พี่*ช่*ต้ส&ร*ย�นต้3 = 1

สว่รรคั3ที่ลายป็<ฐพี่� = 2

แล�ว่ม่�นจะเป็!น packet ย�งี้งี้�ยหรอคั�บ ก็�คั�อว่�า จะม่�ร-ป็แบบอย�างี้น��คั�บ

0C 80 0C 00 0X 00 00 00 0Y 00 00 00 01 00 00 00

X = - >> รห�สป็ระจ$าเซ*ฟ้นะคั�บ ถุ�าเป็!นพี่*ช่*ต้ส&ร*ย�นต้3 ก็�เป็!น 1 , จะ = 0C 80 0C 00 01....

Y = - >> เป็!นเซ*ฟ้เว่อร3ย�อยนะคั�บ หร�อเร�ยก็ว่�า Channel , Sub Server ไรก็�ว่�าป็ายนะคั�บ.. ก็�จะออก็ม่าเป็!น 0C 80 0C 00 0X 00 00 00 05.... ส$าหร�บ Channel 5

ยก็ต้�ว่อย�างี้ ป็ระก็าศ*ต้ล*ข*ต้นภา 7 นะคั�บ ก็� จะเป็!น

CODE: SELECT ALL

0C 80 0C 00 05 00 00 00 07 00 00 00 01 00 00 00

เม่��อคั�นต้อนนอนงี้�ะ ผม่คั*ด้ออก็ว่�าหล�งี้จาก็ส�งี้ Packet Submit (16800000) ไป็ แล�ว่จะม่�บอก็พี่ว่ก็ Server ที่��ม่� ช่��อของี้ม่�นอ�านะคั�บ แต้�ผม่เพี่*�งี้ร- �เลย ว่�า ม่�นได้�บอก็ สถุาณะ และ เป็อเซ�นที่��ว่�างี้ ของี้ เซ*ฟ้นะคั�บ ต้อนแรก็ผม่เห�นม่�นยาว่ ใหญ่�ๆ ย�ก็ๆ เลยไม่�อยาก็ไป็สนใจม่�นอ�ะคั�บ แล�ว่ว่�นไหนว่�างี้ๆ แก็ะได้�จะม่าลงี้ให�คั�บ....

อะเห�อ... ไม่�ได้�ม่าเข�ยนต้��งี้นาน.. คั*ด้ออก็แล�ว่คั�บ ส$าหร�บ code เล�อก็ Server

Page 21: เขียนบอทด้วย VB6

code ล�าส&ด้น��เราที่$าถุ.งี้ไหนหน�า... อDอคั&ณต้รงี้ 1680000 งี้�ะ ก็�คั�อ ต้�องี้ให�ม่�นส�งี้ Packet เล�อก็ Server แล�ว่อ�าด้* งี้��นก็� code เราต้�องี้ต้�อจาก็ 

follow = BuildPacket("16800000")

Winsock1.SendData follow

DoEvents

End If

End Sub

ให�ลบ End If และ End Sub ออก็นะคั�บ แล�ว่หล�งี้จาก็ DoEvents ให�ใส�น��ป็ายคั�บ

Note: ของี้ผม่น��เร�ยงี้ ComboBox ต้าม่ Order ของี้ IP List เลยนะคั�บ (ป็ระก็าศ*ต้ ถุ.งี้ สว่รรคั3 งี้�บ ข.�นไป็ด้-...)

CODE: SELECT ALL

         Select Case Combo1.ListIndex

         Case 0

         Submit = BuildPacket("0C800C00050000000100000001000000")

            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

         Case 1

         Submit = BuildPacket("0C800C00050000000200000001000000")

                     For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

         Case 2

         Submit = BuildPacket("0C800C00050000000300000001000000")

                     For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

         Case 3

Page 22: เขียนบอทด้วย VB6

         Submit = BuildPacket("0C800C00050000000400000001000000")

                     For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

         Case 4

         Submit = BuildPacket("0C800C00050000000500000001000000")

                     For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

         Case 5

         Submit = BuildPacket("0C800C00050000000600000001000000")

                     For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

         Case 6

         Submit = BuildPacket("0C800C00050000000700000001000000")

                     For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

         Case 7

         Submit = BuildPacket("0C800C00050000000800000001000000")

                     For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

         Case 8

         Submit = BuildPacket("0C800C00050000000900000001000000")

                     For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

         Case 9

Page 23: เขียนบอทด้วย VB6

         Submit = BuildPacket("0C800C00050000000A00000001000000")

                     For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

         

                Case 10

                Submit = BuildPacket("0C800C00040000000100000001000000")

                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                Case 11

                Submit = BuildPacket("0C800C00040000000200000001000000")

                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                Case 12

                Submit = BuildPacket("0C800C00040000000300000001000000")

                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                Case 13

                Submit = BuildPacket("0C800C00040000000400000001000000")

                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                Case 14

                Submit = BuildPacket("0C800C00040000000500000001000000")

                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

Page 24: เขียนบอทด้วย VB6

                Case 15

                Submit = BuildPacket("0C800C00040000000600000001000000")

                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                Case 16

                Submit = BuildPacket("0C800C00040000000700000001000000")

                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                Case 17

                Submit = BuildPacket("0C800C00040000000800000001000000")

                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                Case 18

                Submit = BuildPacket("0C800C00040000000900000001000000")

                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                Case 19

                Submit = BuildPacket("0C800C00040000000A00000001000000")

                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                

                        Case 20

                        Submit = BuildPacket("0C800C00030000000100000001000000")

                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

Page 25: เขียนบอทด้วย VB6

            DoEvents

                        Case 21

                        Submit = BuildPacket("0C800C00030000000200000001000000")

                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                        Case 22

                        Submit = BuildPacket("0C800C00030000000300000001000000")

                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                        Case 23

                        Submit = BuildPacket("0C800C00030000000400000001000000")

                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                        Case 24

                        Submit = BuildPacket("0C800C00030000000500000001000000")

                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                        Case 25

                        Submit = BuildPacket("0C800C00030000000600000001000000")

                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                        Case 26

                        Submit = BuildPacket("0C800C00030000000700000001000000")

                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

Page 26: เขียนบอทด้วย VB6

            DoEvents

                        Case 27

                        Submit = BuildPacket("0C800C00030000000800000001000000")

                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                        Case 28

                        Submit = BuildPacket("0C800C00030000000900000001000000")

                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                        Case 29

                        Submit = BuildPacket("0C800C00030000000A00000001000000")

                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                

                                Case 30

                                Submit = BuildPacket("0C800C00010000000100000001000000")

                                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                Case 31

                                Submit = BuildPacket("0C800C00010000000200000001000000")

                                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                Case 32

                                Submit = BuildPacket("0C800C00010000000300000001000000")

                                            For i = 1 To 9000000

            Next i

Page 27: เขียนบอทด้วย VB6

            Winsock1.SendData Submit

            DoEvents

                                Case 33

                                Submit = BuildPacket("0C800C00010000000400000001000000")

                                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                Case 34

                                Submit = BuildPacket("0C800C00010000000500000001000000")

                                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                Case 35

                                Submit = BuildPacket("0C800C00010000000600000001000000")

                                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                Case 36

                                Submit = BuildPacket("0C800C00010000000700000001000000")

                                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                Case 37

                                Submit = BuildPacket("0C800C00010000000800000001000000")

                                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                Case 38

                                Submit = BuildPacket("0C800C00010000000900000001000000")

                                            For i = 1 To 9000000

            Next i

Page 28: เขียนบอทด้วย VB6

            Winsock1.SendData Submit

            DoEvents

                                Case 39

                                Submit = BuildPacket("0C800C00010000000A00000001000000")

                                            For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                

                                        Case 40

                                        Submit = BuildPacket("0C800C00020000000100000001000000")

                                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                        Case 41

                                        Submit = BuildPacket("0C800C00020000000200000001000000")

                                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                        Case 42

                                        Submit = BuildPacket("0C800C00020000000300000001000000")

                                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                        Case 43

                                        Submit = BuildPacket("0C800C00020000000400000001000000")

                                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                        Case 44

                                        Submit = BuildPacket("0C800C00020000000500000001000000")

                                                    For i = 1 To 9000000

Page 29: เขียนบอทด้วย VB6

            Next i

            Winsock1.SendData Submit

            DoEvents

                                        Case 45

                                        Submit = BuildPacket("0C800C00020000000600000001000000")

                                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                        Case 46

                                        Submit = BuildPacket("0C800C00020000000700000001000000")

                                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                        Case 47

                                        Submit = BuildPacket("0C800C00020000000800000001000000")

                                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                        Case 48

                                        Submit = BuildPacket("0C800C00020000000900000001000000")

                                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                                        Case 49

                                        Submit = BuildPacket("0C800C00020000000A00000001000000")

                                                    For i = 1 To 9000000

            Next i

            Winsock1.SendData Submit

            DoEvents

                End Select

                

    For i = 1 To 9000000

Page 30: เขียนบอทด้วย VB6

    Next i

    Winsock2.Close

       Select Case Combo1.ListIndex

       Case 0

        Winsock2.Connect "203.144.179.177", 16000

        Case 1

        Winsock2.Connect "203.144.179.177", 16001

        Case 2

        Winsock2.Connect "203.144.179.178", 16000

        Case 3

        Winsock2.Connect "203.144.179.178", 16001

        Case 4

        Winsock2.Connect "203.144.179.179", 16000

        Case 5

        Winsock2.Connect "203.144.179.179", 16001

        Case 6

        Winsock2.Connect "203.144.179.180", 16000

        Case 7

        Winsock2.Connect "203.144.179.180", 16001

        Case 8

        Winsock2.Connect "203.144.179.181", 16000

        Case 9

        Winsock2.Connect "203.144.179.181", 16001

               

               Case 10

                Winsock2.Connect "203.144.179.168", 16000

                Case 11

                Winsock2.Connect "203.144.179.168", 16001

                Case 12

                Winsock2.Connect "203.144.179.169", 16000

                Case 13

                Winsock2.Connect "203.144.179.169", 16001

                Case 14

                Winsock2.Connect "203.144.179.170", 16000

                Case 15

                Winsock2.Connect "203.144.179.170", 16001

Page 31: เขียนบอทด้วย VB6

                Case 16

                Winsock2.Connect "203.144.179.171", 16000

                Case 17

                Winsock2.Connect "203.144.179.171", 16001

                Case 18

                Winsock2.Connect "203.144.179.172", 16000

                Case 19

                Winsock2.Connect "203.144.179.172", 16001

                

                               Case 20

                            Winsock2.Connect "203.144.179.159", 16000

                            Case 21

                            Winsock2.Connect "203.144.179.159", 16001

                            Case 22

                            Winsock2.Connect "203.144.179.160", 16000

                            Case 23

                            Winsock2.Connect "203.144.179.160", 16001

                            Case 24

                            Winsock2.Connect "203.144.179.161", 16000

                            Case 25

                            Winsock2.Connect "203.144.179.161", 16001

                            Case 26

                            Winsock2.Connect "203.144.179.162", 16000

                            Case 27

                            Winsock2.Connect "203.144.179.162", 16001

                            Case 28

                            Winsock2.Connect "203.144.179.163", 16000

                            Case 29

                            Winsock2.Connect "203.144.179.163", 16001

                                            

                                            Case 30

                                        Winsock2.Connect "203.144.179.141", 16000

                                        Case 31

                                        Winsock2.Connect "203.144.179.141", 16001

                                        Case 32

                                        Winsock2.Connect "203.144.179.142", 16000

Page 32: เขียนบอทด้วย VB6

                                        Case 33

                                        Winsock2.Connect "203.144.179.142", 16001

                                        Case 34

                                        Winsock2.Connect "203.144.179.143", 16000

                                        Case 35

                                        Winsock2.Connect "203.144.179.143", 16001

                                        Case 36

                                        Winsock2.Connect "203.144.179.144", 16000

                                        Case 37

                                        Winsock2.Connect "203.144.179.144", 16001

                                        Case 38

                                        Winsock2.Connect "203.144.179.145", 16000

                                        Case 39

                                        Winsock2.Connect "203.144.179.145", 16001

                                                            Case 30

                                                    Winsock2.Connect "203.144.179.150", 16000

                                                    Case 31

                                                    Winsock2.Connect "203.144.179.150", 16001

                                                    Case 32

                                                    Winsock2.Connect "203.144.179.151", 16000

                                                    Case 33

                                                    Winsock2.Connect "203.144.179.151", 16001

                                                    Case 34

                                                    Winsock2.Connect "203.144.179.152", 16000

                                                    Case 35

                                                    Winsock2.Connect "203.144.179.152", 16001

                                                    Case 36

                                                    Winsock2.Connect "203.144.179.153", 16000

                                                    Case 37

                                                    Winsock2.Connect "203.144.179.153", 16001

                                                    Case 38

                                                    Winsock2.Connect "203.144.179.154", 16000

                                                    Case 39

                                                    Winsock2.Connect "203.144.179.154", 16001

                                                    End Select

End If

Page 33: เขียนบอทด้วย VB6

End Sub

Note : ไป็ต้�องี้ก็ล�ว่ code เส�ยร-ป็คัร�บ ต้อนเอาไป็ว่างี้ใน vb ม่�นเข�าร-ป็เองี้คัร�บ ขออธิ*บาย code ก็�อนน*ด้น.งี้นะคั�บ คั�อว่�า case ช่&ด้ แรก็ (พี่ว่ก็ 0C800C00020000000900000001000000) ที่��ม่�นส�งี้เล�อก็ Server นะคั�บ ก็�จะไป็อ�านจาก็ combo box

ว่�าเป็!น อ�นไหนแล�ว่ คั�อยส�รางี้และส�งี้ Packet ไป็ ส�ว่น case ช่&ด้สองี้เน��ย จะเป็!น case ที่��ให� Winsock 2 เน��ย Connect เข�าไป็ใน GameServer ... แน�นอนนะคั�บ ต้�องี้ส�รางี้ Winsock เพี่*�ม่อ�ก็ต้�ว่น.งี้ แล�ว่จะเอา code ม่าฝั่าก็ต้�อนะคั�บ 

- - - - - - - - - - - - > > > > > > > > > > > > > > > > > >

CHAPTER 7 - ||| WTF is THIS!! ... After Connected - -* |||

- - - - - - - - - - - - > > > > > > > > > > > > > > > > > > 

ที่��เข�ยนม่าน��ก็�เร*�ม่จะเยอะแล�ว่นะคั�บ เราได้�ส�งี้ Packet ไป็แล�ว่ 3 ช่&ด้ ก็�คั�อ Login , ต้�ว่ย�นย�น , และต้�ว่เล�อก็ Server นะคั�บ คัราว่น��ละคัร�บ ป็ญ่หาใหญ่�เลยคั�บ เพี่ราะว่�า Packet ต้�อไป็เน��ย ก็�คั�อ เหม่�อนก็�บไรหว่�า... เอางี้�ยด้�อ�ะก็�ป็ระม่านว่�า ต้�องี้ม่� Private Code อ�ะคั�บ ม่�ร-ป็แบบด้�งี้น�� 

AA55 [Header] 

4E00 [ น�าจะ Command ] 

0000 [อ�นน�� ถุ.งี้ 4800 ไม่�ม่�ว่�นเป็ล��ยนงี้�บ อย�าสนใจม่�นเลย] 

0100 

4800 

XXXXXXXXX [ ID ] 

00000000000000000000 [0] 

00000000000000000000 

XXXXXXXXX [Password] 

000000000000000000 

XXXX [Private Code] <<<< เม่�นน*ด้น.งี้ 0600 [Channel] 

XXX.XXX.XXX.XXX [Local IP] - ไช่� Function Asc2Hex(Winsock1.LocalIP, Len(Winsock1.LocalIP)) 

0000000000000000 [0] 

Page 34: เขียนบอทด้วย VB6

55AA [Footer] 

Comment: 

ที่��อ��นๆ ผม่ไม่�ก็ล�ว่คัร�บ ผม่ร- �หม่ด้แล�ว่ว่�าคั�ออะไร แต้�ต้�ว่ Private code ส*คัร�บ ป็<ญ่หาที่��ผม่ว่�า... 

[ Private Code คั�อ อะไร?] 

ผม่เองี้น��ร- �คัร�บ ว่�าคั�ออะไร แต้�ย�งี้ไม่�ร- �ว่�าที่$างี้านอย�างี้ไร... เม่��อก็�อนนะคั�บ จะเป็!น เลข Version

โด้ยต้รงี้เลยคัร�บ (_เหม่�อน Build = XXXXX ของี้พี่��ไฟ้คั�บ_) แต้�เด้�6ยว่น�� โยว่ก็งี้�ได้� เข�ารห�สม่�นไป็แล�ว่ โด้ยที่�� เอา Username ก็�บ Password ม่าคั$านว่ณก็�บคั�า Protocal หร�อ Build น��นแหละ 

[ จะหาม่�นได้�อย�างี้ไรหละ? ] 

ก็�ต้�องี้ Debug ต้�ว่เก็ม่อ�ะคั�บ ด้�บ�คัก็�คั�อ ไป็ด้-ก็ารที่$างี้านของี้โป็รแก็รม่ ในภาษา Assembly ซ.�งี้ผม่ย�งี้ไม่�คั�อยช่$านาน หร�อย�งี้ไม่�คั�อยจะเข�าใจเลย... เข�าเร��องี้ - ก็�ต้�องี้ไป็ที่��ส�ว่นที่��ม่�นที่$างี้านแล�ว่เอา code ม่า แป็ล หร�อ เล�ยนแบบม่าไช่�ใน โป็รแก็รม่ของี้เรา แต้�ผม่คังี้ไม่�ม่าน��งี้แป็ลหรอก็คั�บ ผม่ว่�าจะที่$าเหม่�อน YGFusion ก็�คั�อ ก็ารเอา Function ที่��เป็!น Assembly ม่าไช่�เลย อย�าก็ร- �ว่*ธิ� ด้-ข�างี้ล�างี้คั�บ อาจจะ งี้งี้ๆ หน�อยนะคั�บ ช่�ว่งี้น��

Note : http://members.optusnet.com.au/~draw3d/assembly.html Mixing Assembly with VB 

แล�ว่ในที่��ส&ด้นะคัร�บ ผม่ก็�แก็�ได้�แล�ว่ ต้�องี้ขอบคั&ณ ที่�าน huntersack ม่าก็ๆเลย นะคัร�บ ที่��ม่าช่�ว่ยผม่คัร��งี้น�� ที่$าให�ผม่สว่�างี้ข.�นเยอะเลย 

ก็�ก็ารหาเจ�าต้�ว่น�� ม่�นต้�องี้เอาม่า (ใบ�ให� ม่�อย&� 3 ต้�ว่อ�ก็ษร) ไช่�แล�ว่คัร�บ เอา ID ของี้เรา ม่า Xor

ต้�ว่ Build ม่�น ต้อนที่�าน huntersack ม่าบอก็ผม่น��ผม่ย*�ม่จนป็าก็ฉ�ก็เลยคัร�บ แล�ว่ก็�น��งี้เซ�งี้ไป็ด้�ว่ยที่��ไม่�ยอม่ลองี้ที่$าต้��งี้แต้�แรก็... (เราม่�นโงี้�จ�งี้) 

แล�ว่จะเอา code ม่าฝั่าก็นะคัร�บ