send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Python\Tkinter] Consola de comandos Kyurem V2.0

  • 0 Respuestas
  • 926 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Razel

  • *
  • Underc0der
  • Mensajes: 6
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Agosto 17, 2013, 11:52:08 am »
Hola a todos!,

Les traigo la nueva versión de mi consola de comandos hecha en python.

Esta vez, la traigo programada en Tkinter con nuevas cosas, diseño, estética y comandos! , opinar, y comenten cosas a mejorar!

 
[]  COMANDOS                                              Kyurem v2.0


   HELP:            Muestra la lista de comandos de la shell
   -H:              Muestar la lista de los comandos de la shell
   DEL:             Elimina el archivo marcado
   XDEL:            Elimina la carpeta marcada
   TIME:            Muestra la hora y fecha del sistema
   PRINT:           Muestra mensajes en la pantalla
   READ:            Abre el archivo en modo escritura
   IPCONFIG         Muestra la IP privada del sistema
   EXEC             Ejecuta un proceso del sistema
   WANT:            Buasca un todos los archivo con extension a elegir
   DIR:             Muestra el directorio actual')
   CD:              Cambia de directorio al directorio selecionado
   LAST:            Muestra la fecha de la ultima midificacion del un archivo marcado
   EXIT:            Sale de la consola de comandos

Código: Python
  1. # -*- coding: cp1252 -*-
  2. from Tkinter import *
  3. from datetime import *
  4. import commands
  5. import datetime
  6. import socket
  7. import shutil
  8. import glob
  9. import time
  10. import sys
  11. import os
  12.  
  13.  
  14.  
  15.  
  16. root = Tk()
  17. #imagen1=PhotoImage(file="font.gif")
  18. root["background"] = 'black' #bg="black"
  19. root.title("Kyurem")
  20. root.geometry("1250x1000")
  21.  
  22.  
  23. def bluecollor():
  24.     list1["foreground"] = 'blue'
  25.  
  26. def redcolor():
  27.     list1["foreground"] = 'red'
  28.  
  29. def whitecolor():
  30.     list1["foreground"] = 'white'
  31.    
  32. def griscolor():
  33.     list1["foreground"] = 'grey'
  34.  
  35. def narancolor():
  36.     list1["foreground"] = 'orange'
  37.  
  38. def amancolor():
  39.     list1["foreground"] = 'yellow'
  40.  
  41. def aman2color():
  42.     list1["foreground"] = 'green'
  43.  
  44. def bcolor():
  45.     list1["foreground"] = 'black'
  46.  
  47.  
  48.  
  49.  
  50.  
  51. def bluecollor2():
  52.     list1["background"] = 'blue'
  53.  
  54. def redcolor2():
  55.     list1["background"] = 'red'
  56.  
  57. def whitecolor2():
  58.     list1["background"] = 'white'
  59.    
  60. def griscolor2():
  61.     list1["background"] = 'grey'
  62.  
  63. def narancolor2():
  64.     list1["background"] = 'orange'
  65.  
  66. def amancolor2():
  67.     list1["background"] = 'yellow'
  68.  
  69. def aman2color2():
  70.     list1["background"] = 'green'
  71.  
  72. def bcolor2():
  73.     list1["background"] = 'black'
  74.  
  75.  
  76. menu_general = LabelFrame(root, background = "#2E2E2E") # el LabelFrame es necesario como base para apoyar los menus sobre el
  77. menu_general.pack(side = TOP, fill = X)
  78.  
  79. time1 = ''
  80. clock = Label(menu_general, font=('ubuntu', 10, 'bold'), bg='#3C3B37',fg='white', bd=0)
  81. clock.pack(side = RIGHT)
  82.  
  83. def tick():
  84.     global time1
  85.     time2 = time.strftime('%H:%M:%S')
  86.     if time2 != time1:
  87.         time1 = time2
  88.         clock.config(text=time2,background = "#585858")
  89.     clock.after(200, tick)
  90.  
  91. boton_menu_archivo = Menubutton(menu_general, text = "Color de la fuente", foreground = "white", background = "#585858",
  92.                                 activebackground = "#424242", activeforeground = "#585858")  #creamos el boton del menu del cual despus desplegamos los menus
  93. boton_menu_archivo.pack(side = LEFT) #ahora si es verdaderamente visible
  94.  
  95. menu_archivo = Menu(boton_menu_archivo, background = "#424242", foreground = "#23A3FF",
  96.                     activebackground = "#474AFF", activeforeground = "#70DBFF")
  97. menu_archivo.add_command(label = "Color de fuente Azul", compound = LEFT, command = bluecollor)
  98. menu_archivo.add_command(label = "Color de fuente Rojo", compound = LEFT, command = redcolor)
  99. menu_archivo.add_command(label = "Color de fuente Blanco", compound = LEFT, command = whitecolor)
  100. menu_archivo.add_command(label = "Color de fuente Gris", compound = LEFT, command = griscolor)
  101. menu_archivo.add_command(label = "Color de fuente naranja", compound = LEFT, command = narancolor)
  102. menu_archivo.add_command(label = "Color de fuente Amarillo", compound = LEFT, command = amancolor)
  103. menu_archivo.add_command(label = "Color de fondo  Verde", compound = LEFT, command = aman2color)
  104. menu_archivo.add_command(label = "Color de fondo  Negro", compound = LEFT, command = bcolor)
  105. menu_archivo.add_separator()
  106. menu_archivo.add_command(label = "Exit", compound = LEFT, command = root.destroy)
  107.  
  108. boton_menu_archivo["menu"] = menu_archivo
  109.  
  110.  
  111.  
  112.  
  113.  
  114. boton_menu_archivo2 = Menubutton(menu_general, text = "Color de Fondo", foreground = "white", background = "#585858",
  115.                                 activebackground = "#424242", activeforeground = "#585858")  #creamos el boton del menu del cual despus desplegamos los menus
  116. boton_menu_archivo2.pack(side = LEFT) #ahora si es verdaderamente visible
  117.  
  118. menu_archivo2 = Menu(boton_menu_archivo2, background = "#424242", foreground = "#23A3FF",
  119.                     activebackground = "#474AFF", activeforeground = "#70DBFF")
  120. menu_archivo2.add_command(label = "Color de fondo Azul", compound = LEFT, command = bluecollor2)
  121. menu_archivo2.add_command(label = "Color de fondo  Rojo", compound = LEFT, command = redcolor2)
  122. menu_archivo2.add_command(label = "Color de fondo  Blanco", compound = LEFT, command = whitecolor2)
  123. menu_archivo2.add_command(label = "Color de fondo  Gris", compound = LEFT, command = griscolor2)
  124. menu_archivo2.add_command(label = "Color de fondo  naranja", compound = LEFT, command = narancolor2)
  125. menu_archivo2.add_command(label = "Color de fondo  Amarillo", compound = LEFT, command = amancolor2)
  126. menu_archivo2.add_command(label = "Color de fondo  Verde", compound = LEFT, command = aman2color2)
  127. menu_archivo2.add_command(label = "Color de fondo  Negro", compound = LEFT, command = bcolor2)
  128. menu_archivo2.add_separator()
  129. menu_archivo2.add_command(label = "Exit", compound = LEFT, command = root.destroy)
  130.  
  131. boton_menu_archivo2["menu"] = menu_archivo2
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. def colocar_scrollbar(listbox,scrollbar):
  140.     scrollbar.config(command=listbox.yview)
  141.     listbox.config(yscrollcommand=scrollbar.set)
  142.     scrollbar.pack(side=RIGHT, fill=Y)
  143.     listbox.pack(side=LEFT, fill=Y)
  144.  
  145.  
  146.  
  147. frame1=Frame(root,bg="black")
  148. frame1.place(x=30, y=50) # <-> -|^ x= -> y= -|^
  149. #frame1.pack()
  150. scroll1=Scrollbar(frame1)
  151. list1=Listbox(frame1,bg="black",fg='green',width=170,height=33,font=("Helvetica", 10))
  152. #list1.pack()
  153. colocar_scrollbar(list1,scroll1)
  154. mivalor=StringVar()
  155. copi2=StringVar()
  156. copi3=StringVar()
  157.  
  158. #Label(root,image=imagen1).pack()
  159.  
  160. e1=Entry(root,textvar=mivalor,width=150,bg="black",fg="green", font=("Helvetica", 10)).place(x=30, y=630) # <-> -|^ x= -> y= -|^
  161.  
  162. e2=Entry(root,textvar=copi2,width=72,bg="black",fg="green", font=("Helvetica", 10)).place(x=30, y=700)
  163. e3=Entry(root,textvar=copi3,width=72,bg="black",fg="green", font=("Helvetica", 10)).place(x=578, y=700)
  164.  
  165.  
  166. list1.insert(END, "")
  167. list1.insert(END, " Kyurem v2.0")
  168. list1.insert(END, " -----------------------------------------------------------------------------------------------------------------------")
  169. list1.insert(END, " Kyurem Consola de comandos en python")
  170. list1.insert(END, " By Razel")
  171. list1.insert(END, "")
  172. list1.insert(END, "")
  173.  
  174.  
  175.  
  176. def copyfuncion():
  177.     arc1 = copi2.get()
  178.     arc2 = copi3.get()
  179.  
  180.     try:
  181.         shutil.copy(arc1, arc2)
  182.         list1.insert(END,"")
  183.         list1.insert(END,"El archivo a sido copiado.")
  184.         list1.insert(END,"")
  185.  
  186.         list1.insert(END, "")
  187.         list1.insert(END, os.getcwd()+">")
  188.  
  189.     except:
  190.         list1.insert(END,"")
  191.         list1.insert(END,"ERROR El arhivo no a sido copiado.")
  192.         list1.insert(END,"")
  193.  
  194.         list1.insert(END, "")
  195.         list1.insert(END, os.getcwd()+">")
  196.    
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203. list1.insert(END, os.getcwd()+">")
  204.  
  205. def insertar_en_listbox():
  206.  
  207.     if mivalor.get() != '':
  208.        
  209.         if mivalor.get() == "help":
  210.            
  211.             list1.insert(END,'')
  212.             list1.insert(END,'HELP:            Muestra la lista de comandos de la shell')
  213.             list1.insert(END,"-H:              Muestar la lista de los comandos de la shell")
  214.             list1.insert(END,'DEL:             Elimina el archivo marcado')
  215.             list1.insert(END,'XDEL:            Elimina la carpeta marcada')
  216.             list1.insert(END,'TIME:            Muestra la hora y fecha del sistema')
  217.             list1.insert(END,'PRINT:           Muestra mensajes en la pantalla')
  218.             list1.insert(END,'READ:            Abre el archivo en modo escritura')
  219.             list1.insert(END,'IPCONFIG         Muestra la IP privada del sistema')
  220.             list1.insert(END,'EXEC             Ejecuta un proceso del sistema')
  221.             list1.insert(END,'WANT:            Buasca un todos los archivo con extension a elegir')
  222.             list1.insert(END,'DIR:             Muestra el directorio actual')
  223.             list1.insert(END,'CD:              Cambia de directorio al directorio selecionado')
  224.             list1.insert(END,'LAST:            Muestra la fecha de la ultima midificacion del un archivo marcado')
  225.             list1.insert(END,'EXIT:            Sale de la consola de comandos')
  226.  
  227.             list1.insert(END, "")
  228.             list1.insert(END, os.getcwd()+">")
  229.  
  230.         if mivalor.get() == "-h":
  231.            
  232.             list1.insert(END,'')
  233.             list1.insert(END,'HELP:            Muestra la lista de comandos de la shell')
  234.             list1.insert(END,"-H:              Muestar la lista de los comandos de la shell")
  235.             list1.insert(END,'DEL:             Elimina el archivo marcado')
  236.             list1.insert(END,'XDEL:            Elimina la carpeta marcada')
  237.             list1.insert(END,'TIME:            Muestra la hora y la fecha del sistema')
  238.             list1.insert(END,'PRINT:           Muestra mensajes en la pantalla')
  239.             list1.insert(END,'READ:            Abre el archivo en modo escritura')
  240.             list1.insert(END,'IPCONFIG         Muestra la IP privada del sistema')
  241.             list1.insert(END,'EXEC             Ejecuta un proceso del sistema')
  242.             list1.insert(END,'WANT:            Buasca un todos los archivo con extension a elegir')
  243.             list1.insert(END,'DIR:             Muestra el directorio actual')
  244.             list1.insert(END,'CD:              Cambia de directorio al directorio selecionado')
  245.             list1.insert(END,'LAST:            Muestra la fecha de la ultima midificacion del un archivo marcado')
  246.             list1.insert(END,'EXIT:            Sale de la consola de comandos')
  247.            
  248.             list1.insert(END, "")
  249.             list1.insert(END, os.getcwd()+">")
  250.  
  251.         if mivalor.get() == "HELP":
  252.            
  253.             list1.insert(END,'')
  254.             list1.insert(END,'HELP:            Muestra la lista de comandos de la shell')
  255.             list1.insert(END,"-H:              Muestar la lista de los comandos de la shell")
  256.             list1.insert(END,'DEL:             Elimina el archivo marcado')
  257.             list1.insert(END,'XDEL:            Elimina la carpeta marcada')
  258.             list1.insert(END,'TIME:            Muestra la hora y la fecha del sistema')
  259.             list1.insert(END,'PRINT:           Muestra mensajes en la pantalla')
  260.             list1.insert(END,'READ:            Abre el archivo en modo escritura')
  261.             list1.insert(END,'IPCONFIG         Muestra la IP privada del sistema')
  262.             list1.insert(END,'EXEC             Ejecuta un proceso del sistema')
  263.             list1.insert(END,'WANT:            Buasca un todos los archivo con extension a elegir')
  264.             list1.insert(END,'DIR:             Muestra el directorio actual')
  265.             list1.insert(END,'CD:              Cambia de directorio al directorio selecionado')
  266.             list1.insert(END,'LAST:            Muestra la fecha de la ultima midificacion del un archivo marcado')
  267.             list1.insert(END,'EXIT:            Sale de la consola de comandos')
  268.             list1.insert(END, "")
  269.             list1.insert(END, os.getcwd()+">")
  270.  
  271.         if mivalor.get() == "-H":
  272.             list1.insert(END,'')
  273.             list1.insert(END,'HELP:            Muestra la lista de comandos de la shell')
  274.             list1.insert(END,"-H:              Muestar la lista de los comandos de la shell")
  275.             list1.insert(END,'DEL:             Elimina el archivo marcado')
  276.             list1.insert(END,'XDEL:            Elimina la carpeta marcada')
  277.             list1.insert(END,'TIME:            Muestra la hora y fecha del sistema')
  278.             list1.insert(END,'PRINT:           Muestra mensajes en la pantalla')
  279.             list1.insert(END,'READ:            Abre el archivo en modo escritura')
  280.             list1.insert(END,'IPCONFIG         Muestra la IP privada del sistema')
  281.             list1.insert(END,'EXEC             Ejecuta un proceso del sistema')
  282.             list1.insert(END,'WANT:            Buasca un todos los archivo con extension a elegir')
  283.             list1.insert(END,'DIR:             Muestra el directorio actual')
  284.             list1.insert(END,'CD:              Cambia de directorio al directorio selecionado')
  285.             list1.insert(END,'LAST:            Muestra la fecha de la ultima midificacion del un archivo marcado')
  286.             list1.insert(END,'TIME             Muestra la hora del sistema')
  287.             list1.insert(END,'EXIT:            Sale de la consola de comandos')
  288.             list1.insert(END, "")
  289.             list1.insert(END, os.getcwd()+">")
  290.  
  291.         if mivalor.get().startswith("del") == True:
  292.  
  293.             rut = mivalor.get()[4:]
  294.  
  295.             try:
  296.                 os.remove(rut)
  297.                 list1.insert(END,'EL archivo a sido eliminado con exito.')
  298.  
  299.             except:
  300.                 list1.insert(END,'ERROR El archivo no a podido ser eliminado.')
  301.  
  302.             list1.insert(END, "")
  303.             list1.insert(END, os.getcwd()+">")
  304.  
  305.         if mivalor.get().startswith("xdel") == True:
  306.  
  307.             arc1 = mivalor.get()[5:]
  308.             boo = True
  309.  
  310.             try:
  311.                 shutil.rmtree(arc1, boo)
  312.                 list1.insert(END, "\nLa carpeta a sido eliminada.")
  313.  
  314.             except:
  315.                 list1.insert(END,"ERROR La carpeta no a podido ser eliminado.")
  316.  
  317.             list1.insert(END, "")
  318.             list1.insert(END, os.getcwd()+">")
  319.                
  320.         if mivalor.get().startswith("read") == True:
  321.  
  322.             red = mivalor.get()[5:]
  323.  
  324.             try:
  325.                 archi = open(red,'r')
  326.                 linea=archi.readline()
  327.                 while linea!="":
  328.                     list1.insert(END,linea)
  329.                     linea=archi.readline()
  330.  
  331.             except:
  332.                 list1.insert(END,"ERROR El archivo no a podido ser abierto en mode lectura.")
  333.  
  334.             list1.insert(END, "")
  335.             list1.insert(END, os.getcwd()+">")
  336.  
  337.         elif mivalor.get().startswith("want") == True:
  338.  
  339.             arc = mivalor.get()[5:]
  340.  
  341.             try:
  342.  
  343.                 lista = glob.glob("*" + arc)
  344.                 list1.insert(END,"Archivos con extension " + arc + " en este directorio:")
  345.                 list1.insert(END,"")
  346.                 list1.insert(END,lista)
  347.                
  348.             except:
  349.                 list1.insert(END,"ERROR No se a encontrado el archivo con la extension que pide.")
  350.  
  351.             list1.insert(END, "")
  352.             list1.insert(END, os.getcwd()+">")
  353.  
  354.  
  355.         elif mivalor.get().startswith("dir") == True:
  356.  
  357.             arc = mivalor.get()[4:]
  358.             try:
  359.                 os.chdir(arc)
  360.                 list1.insert(END,"")
  361.                 list1.insert(END,"Directorio:", arc)
  362.                 list1.insert(END,"")
  363.  
  364.                 archis = os.listdir(arc)
  365.                 for imagen in archis:
  366.                     list1.insert(END,imagen)
  367.  
  368.             except:
  369.                
  370.                 list1.insert(END,"")
  371.                 list1.insert(END,"Directorio actual:", os.getcwd())
  372.                 list1.insert(END,"")
  373.                
  374.  
  375.                 archis = os.listdir(os.getcwd())
  376.                 for imagen in archis:
  377.                     list1.insert(END,imagen)
  378.  
  379.             list1.insert(END, "")
  380.             list1.insert(END, os.getcwd()+">")
  381.                    
  382.         elif mivalor.get().startswith("cd") == True:
  383.  
  384.             arc = mivalor.get()[3:]
  385.             try:
  386.                 os.chdir(arc)
  387.             except:
  388.                 list1.insert(END,os.getcwd())
  389.                
  390.             list1.insert(END, "")
  391.             list1.insert(END, os.getcwd()+">")
  392.  
  393.         elif mivalor.get().startswith("last") == True:
  394.  
  395.             arcx = mivalor.get()[5:]
  396.  
  397.             try:
  398.                 metadata = os.stat(arcx)
  399.                 metadata.st_mtime
  400.                 time.localtime(metadata.st_mtime)
  401.  
  402.                 list1.insert(END,"")
  403.                 list1.insert(END,time.localtime(metadata.st_mtime))
  404.                 list1.insert(END,"")
  405.  
  406.             except:
  407.                 list1.insert(END,"ERROR Archivo no definido.")
  408.  
  409.             list1.insert(END, "")
  410.             list1.insert(END, os.getcwd()+">")
  411.  
  412.         elif mivalor.get().startswith("print") == True:
  413.  
  414.             rut = mivalor.get()[6:]
  415.  
  416.             list1.insert(END,rut)
  417.            
  418.             list1.insert(END, "")
  419.             list1.insert(END, os.getcwd()+">")
  420.  
  421.         elif mivalor.get().startswith('exec') == True:
  422.  
  423.             ejecutad = mivalor.get()[5:]
  424.  
  425.             os.startfile(ejecutad)
  426.  
  427.             list1.insert(END, "")
  428.             list1.insert(END, "...")
  429.  
  430.             list1.insert(END, "")
  431.             list1.insert(END, os.getcwd()+">")
  432.            
  433.  
  434.         elif mivalor.get() == 'time':
  435.  
  436.             list1.insert(END, '')
  437.  
  438.             list1.insert(END, datetime.datetime.now())
  439.  
  440.             list1.insert(END, "")
  441.             list1.insert(END, os.getcwd()+">")
  442.  
  443.         elif mivalor.get() == 'cls':
  444.             list1.delete(0, END)
  445.  
  446.         elif mivalor.get() == 'ipconfig':
  447.             list1.insert(END, "")
  448.             list1.insert(END, ([ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")][0]))
  449.  
  450.             list1.insert(END, "")
  451.             list1.insert(END, os.getcwd()+">")
  452.            
  453.            
  454.  
  455.         elif mivalor.get() == "exit":
  456.             exit()
  457.  
  458.                
  459.  
  460.  
  461.  
  462.     elif mivalor.get() == '':
  463.         list1.insert(END,"No se reconoce como un comando interno o externo")
  464.  
  465.  
  466.  
  467.  
  468.  
  469.        
  470.  
  471. Label(root,text='[+] Introduce la ruta del archivo a copiar:',fg='green', bg='black',font=("Helvetica", 10)).place(x=30, y=675)
  472. Label(root,text='[+] Introduce la ruta donde se copiara el archivo:',fg='green', bg='black',font=("Helvetica", 10)).place(x=578, y=675)
  473.        
  474.        
  475.  
  476. b1=Button(root,text="Enter",command=insertar_en_listbox, bg="black",fg="green", width=20).place(x=1100, y=630) # <-> -|^ x= -> y= -|^
  477. b2=Button(root,text="Copiar",command=copyfuncion, bg="black",fg="green", width=20).place(x=1100, y=700) # <-> -|^ x= -> y= -|^
  478.  
  479.  
  480.  
  481.  
  482. tick()
  483. clock.mainloop()
  484.  
  485.  
  486.  
  487. root.mainloop()

Comenten mejoras y opiniones  ;)
« Última modificación: Marzo 16, 2014, 08:56:41 pm por Expermicid »

 

¿Te gustó el post? COMPARTILO!



[Código] Yardas a metros - Metros a yardas [Python]

Iniciado por LucaSthefano

Respuestas: 0
Vistas: 1142
Último mensaje Mayo 29, 2011, 01:27:34 am
por LucaSthefano
[Código] Entero / No Entero [Ejercicio - Python]

Iniciado por LucaSthefano

Respuestas: 0
Vistas: 1097
Último mensaje Mayo 29, 2011, 01:24:09 am
por LucaSthefano
Python phpmyadmin "BruteForce"

Iniciado por linkgl

Respuestas: 2
Vistas: 2184
Último mensaje Agosto 19, 2011, 12:14:37 pm
por linkgl
Python Trojan - By "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 1
Vistas: 1751
Último mensaje Abril 03, 2010, 11:01:59 pm
por Dharok
Python keylogger - by "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 0
Vistas: 1727
Último mensaje Abril 07, 2010, 03:30:22 am
por d33k40