diep_bot
1.0.0
一些YouTube视频显示了机器人的行动:由我,另一个玩家。
支持很少的坦克:交流电,战斗机,拉姆·阿尼,龙,狙击手,捕食者。自动瞄准并跟随敌人。不过,还没有躲避子弹。
构建Tampermonkey扩展名:
{ cat src/ext.meta.js & node build.js ;} | cat > extension_bundle.js
要运行无头版本并在沙盒中创建一个战斗机机器人:
node src/headless.js --tank=fighter --party=diep.io/#93D6474700DDEC0D5013C7
注意:每个IP最多可以具有2个diep.io连接。可以通过使用IP6子量的技巧绕过这一点。
注意:这只是我决定公开的完整机器人存储库的一部分。出于安全原因,工作机器人(如YT视频中看到)是私人的。此存储库是出于说明目的。
该机器人仍然有效,但详尽不足,需要更新解析器(由于字段更新)。
我还没有完全解密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数据包反向工程上的原始作品。他的一些代码在这里借了。