วิดีโอ YouTube บางรายการที่แสดงบอทในการดำเนินการ: โดยฉันโดยผู้เล่นคนอื่น
รองรับรถถังไม่กี่คัน: AC, Fighter, Ram Ani, Dragon, Sniper, Predator ตั้งเป้าหมายและติดตามศัตรูโดยอัตโนมัติ ยังไม่หลบกระสุนเลย
เพื่อสร้างส่วนขยาย tampermonkey:
{ cat src/ext.meta.js & node build.js ;} | cat > extension_bundle.js
ในการเรียกใช้เวอร์ชันที่ไม่มีหัวและสร้างบอทนักสู้ในการใช้ Sandbox:
node src/headless.js --tank=fighter --party=diep.io/#93D6474700DDEC0D5013C7
หมายเหตุ: คุณสามารถเชื่อมต่อได้มากที่สุด 2 diep.io ต่อ IP สิ่งนี้สามารถข้ามได้โดยใช้เคล็ดลับกับการย่อย IP6
หมายเหตุ: นี่เป็นเพียงส่วนหนึ่งของ repo บอทเต็มรูปแบบที่ฉันตัดสินใจที่จะเปิดเผยต่อสาธารณะ บอทที่ใช้งานได้ (ดังที่เห็นในวิดีโอ YT) เป็นส่วนตัวด้วยเหตุผลด้านความปลอดภัย repo นี้มีวัตถุประสงค์เพื่อเป็นตัวอย่าง
บอทนี้ยังคงใช้งานได้ แต่มีความเข้มข้นน้อยกว่ามากและต้องมีการอัปเดตตัวแยกวิเคราะห์ (เนื่องจากการอัพเดทฟิลด์)
ฉันยังไม่ได้ถอดรหัสแพ็คเก็ต 0x00 อย่างเต็มที่ แต่ฉันสามารถแยกวิเคราะห์ได้อย่างเต็มที่ ~ 99.5% ของพวกเขาดังนั้นบอทจึงสามารถเล่นได้อย่างถูกต้อง
ตัวอย่างของ 0x00 แพ็คเก็ต:
< 29.834 00 f3 e9 39 01 eb 03 a8 30 0c 01 00 00 01 16 83 | ≤Θ9☺δ♥¿0♀☺ ☺▬â|
35 9b 41 07 80 3f 67 c9 24 68 50 29 c4 01 f1 03 |5¢A•Ç?g╔$hP)─☺±♥|
9e 43 00 01 00 dc 81 01 00 c6 0d 00 86 72 01 eb |₧C ☺ ▄ü☺ ╞↵ år☺δ|
03 c7 0a 00 01 13 ad b8 d4 45 1b ac 43 f4 45 01 |♥╟◙ ☺‼¡╕╘E←¼C⌠E☺|
e6 03 97 35 00 01 00 ba 6f 00 e2 01 00 bc 87 01 |µ♥ù5 ☺ ║o Γ☺ ╝ç☺|
01 ed 03 f6 11 00 01 00 a2 70 00 8a 02 00 a8 81 |☺φ♥÷◄ ☺ óp è☻ ¿ü|
01 01 f2 03 9d 1e 00 01 00 dc 83 01 03 a0 6f 01 |☺☺≥♥¥▲ ☺ ▄â☺♥áo☺|
f0 03 ed 06 00 01 00 9c 84 01 00 8b 0e 00 80 7d |≡♥φ♠ ☺ £ä☺ ï♫ Ç}|
01 e7 03 a5 7c 00 01 00 92 7a 00 22 00 94 6a 01 |☺τ♥Ñ| ☺ Æz " öj☺|
e9 03 81 1a 00 01 00 9e 74 03 be 73 01 ec 03 a4 |Θ♥ü→ ☺ ₧t♥╛s☺∞♥ñ|
1c 00 01 00 e4 79 03 d4 74 01 ea 03 a9 58 00 01 |∟ ☺ Σy♥╘t☺Ω♥⌐X ☺|
00 da 7d 03 8e 6e 01 ed 03 84 50 00 01 00 8a 88 | ┌}♥Än☺φ♥äP ☺ èê|
01 03 ec 72 01 |☺♥∞r☺|
อันนี้เราสามารถแยกวิเคราะห์ได้อย่างเต็มที่และมันหมายถึง:
var buffer = byteStringToBuffer ( "00 f3 e9 39 01 eb 03 a8 30 ... the rest ..." )
var parser = new Parse ( buffer )
console . log ( parser . parseInbound ( ) )
( { kind : 0 ,
updateId : 947443 ,
deletes : [ '491#6184' ] ,
upcreates :
[ { entityId : '1#0' ,
updateKind : 2 ,
agentPosY : 19.4011287689209 ,
weirdBytes2 : - 947192 ,
agentPosX : - 677.25634765625 } ,
{ entityId : '497#8606' ,
updateKind : 2 ,
objPosY : 8302 ,
objAngle : 867 ,
objPosX : 7299 } ,
{ entityId : '491#1351' ,
updateKind : 2 ,
agentPosX2 : 6807.08447265625 ,
agentPosY2 : 7816.458984375 } ,
{ entityId : '486#6807' ,
updateKind : 2 ,
objPosY : 7133 ,
objAngle : 113 ,
objPosX : 8670 } ,
{ entityId : '493#2294' ,
updateKind : 2 ,
objPosY : 7185 ,
objAngle : 133 ,
objPosX : 8276 } ,
{ entityId : '498#3869' ,
updateKind : 2 ,
objPosY : 8430 ,
objPosX : 7120 } ,
{ entityId : '496#877' ,
updateKind : 2 ,
objPosY : 8462 ,
objAngle : - 902 ,
objPosX : 8000 } ,
{ entityId : '487#15909' ,
updateKind : 2 ,
objPosY : 7817 ,
objAngle : 17 ,
objPosX : 6794 } ,
{ entityId : '489#3329' ,
updateKind : 2 ,
objPosY : 7439 ,
objPosX : 7391 } ,
{ entityId : '492#3620' ,
updateKind : 2 ,
objPosY : 7794 ,
objPosX : 7466 } ,
{ entityId : '490#11305' ,
updateKind : 2 ,
objPosY : 8045 ,
objPosX : 7047 } ,
{ entityId : '493#10244' ,
updateKind : 2 ,
objPosY : 8709 ,
objPosX : 7350 } ] } )
เครดิตไปที่ CX สำหรับงานต้นฉบับของเขาใน DIEP.IO Packet Reverse Engineering รหัสบางส่วนของเขาได้รับการยืมที่นี่