elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24
131  Programación / Scripting / Re: [Python] Error leer archivo en: 1 Mayo 2012, 11:39 am
:P Si sé que en Py 3.X cambia el input y raw_input() solo quería saber tu versión de Python para saber si estabas usando bien el input o no :P
132  Programación / Scripting / Re: Texto sin mayuslculas en python en: 1 Mayo 2012, 08:33 am
Bueno, primer tienes que recorrer letra por letra, supongo que el que tienes es correcto,
Código
  1. sEstado = 0
  2. sString = "holag"
  3. for f in sString:
  4.  if( sString.islower() ):
  5.    sEstado = 1
  6.    break
  7.  
  8. print "Es una cadena minuscula.\n" if (sEstado) else "Es una cadena mayuscula.\n"
Para que recorrer cada letra ?:
Código
  1. print "Es cadena minuscula" if (raw_input("Texto en MINUSCULAS:").islower()) else "Es cadena mayuscula"

Saludos, Javier.
133  Programación / Scripting / Re: [Python] Error leer archivo en: 1 Mayo 2012, 08:19 am
Hola, buen día !

Recuerda es no es una buena práctica abrir archivos (open()) y no usar close()
Otra cosa que me llama la atención de tu código es esto:
Código
  1. sure=input("Are you sure?")
  2. if sure==no:
  3. print("Ok")
  4. elif sure==yes:
Que versión de Python usas ? , pues en la 2.7 que es una de las más usadas eso daría error... Pero por tu forma de usar el print, debes usar Python 3.X
Pues :
input = para valores numéricos
raw_input = para valores alfanuméricos

Y pues cuando realizas la comparación , la condición igual está errada, pues como indicaba anteriormente... input no es comparable con un texto, y pues al no usar comillas en tu condición, el código entenderá que "no" es una variable y no un string, lo mismo con el "yes".

Bueno ese sería mi aporte :P

Saludos, Javier.
134  Programación / Scripting / Re: [Código-Python]Código Ofuscado nº2 JaAViEr|0x5d [Actualizado] en: 29 Abril 2012, 01:40 am
No creo que mis códigos estén a tu altura, serán como un juego de niños para ti. Aun así me harías un gran favor explicándome como funciona tu código, me estoy volviendo loco.

Un saludo.
a que altura ? si no tengo mucho nivel aún en Python :-/ , ahora voy de salida, apenas vuelva mañana te explico el código sin ofuscar (:

Saludos, Javier.
135  Programación / Scripting / Re: [Código-Python]Código Ofuscado nº2 JaAViEr|0x5d [Actualizado] en: 28 Abril 2012, 22:07 pm
Ya tengo que hacer este fin de semana, descifrar ese codigo endiablado  >:D >:D

Por cierto, gracias por colgarlo me sera de mucha ayuda si soy capaz de entenderlo, yo también me pondré manos a la obra, el siguiente paso es hacer un juego en python ofuscado ;)

Un saludo.
Apenas lo hagas postealo :D y luego yo te posteo el código original ;D

Saludos, Javier.
136  Programación / Scripting / [Código-Python]Enviando y recibiendo cookies por consola - JaAViEr|0x5d en: 28 Abril 2012, 08:34 am
Hola, buen día !

Hoy, estuve leyendo acerca de las preciadas cookies, antes de continuar, por si alguien no sabe que son las cookies, consultemos a la ya famosa Wikipedia:
Citar
Los cookies enInformática sirven para:
  • Llevar el control de usuarios: cuando un usuario introduce su nombre de usuario y contraseña, se almacena una cookie para que no tenga que estar introduciéndolas para cada página del servidor. Sin embargo, una cookie no identifica a una persona, sino a una combinación de computador-navegador-usuario.
  • Conseguir información sobre los hábitos de navegación del usuario, e intentos de spyware, por parte de agencias de publicidad y otros. Esto puede causar problemas de privacidad y es una de las razones por la que las cookies tienen sus detractores.
Para la info completa aquí !

Bien, con este tema rápidamente me vinieron a la mente varias ideas para programar con respecto al caso. Me puse manos a la obra y pues por ahora conseguí un humilde programa de 68 líneas (sin reducir nada).

El código lo que hace es enseñarnos 3 opciones:
  • Ver cookies.
  • Enviar cookies.
  • Salir.
Con la primera opción, nos pedirá una URL y nos devolverá las cookies contenidas en dicho sitio, posteriormente nos da la opción de poder almacenarla en un archivo.

Mientras que la segunda opción nos permitirá enviar una o más cookies a algún sitio web(NO ME HAGO RESPONSABLE DEL MAL USO QUE LE PUEDAN DAR), dándonos la opción de guardar la salida del HTML en un archivo local o simplemente mostrarlo en consola.

Si piensan en: Y para que guardarlo ? , podría ser para ver si algún logueo se realiza de forma correcta, si algunos datos varían con cada cookie, etc. A su imaginación lo dejo !

La tercera opción no tiene mucha ciencia, no creo que haya que explicarla jajaja. Bien, sin más preámbulos, el código:
Código
  1. # -*- coding: utf-8 -*-
  2. #Autor: JaAViEr|0x5d
  3. #Web: http://www.rootcodes.com
  4. #Twitter: @0x5d
  5.  
  6. import urllib2, re, sys
  7.  
  8. while True:
  9. print"""
  10. ¡ Obtén o envía cookies desde Python !
  11.  
  12. 1.- Ver cookies.
  13. 2.- Enviar cookies.
  14. 3.- Salir.
  15. """
  16. try:
  17. opc = input("Opción ::> ")
  18. if opc in range(1,4):
  19. if opc == 3:
  20. break
  21. elif opc==1:
  22. try:
  23. url = raw_input("URL :: > http://")
  24. headers = urllib2.urlopen("http://%s"%url).info()
  25. cookie = re.findall("Set-Cookie:(.*)",str(headers))[0]
  26. if cookie:
  27. print "Cookie obtenida:\n", cookie
  28. save_q = raw_input("Guardar la cookie en un archivo?(TXT) (s/n) ::>").lower()
  29. if save_q=="s":
  30. try:
  31. archivo = open("%s.txt"%raw_input("Archivo : "),"w")
  32. archivo.write(str(cookie))
  33. archivo.close()
  34. print "Archivo guardado con éxito!"
  35. except:
  36. print "No se pudo guardar el archivo..."
  37. else:
  38. print "No se obtuvo cookies..."
  39. except:
  40. print "No se pudo conectar"
  41. elif opc==2:
  42. print "Recuerda separar cada cookie con un punto y coma (;) !"
  43. try:
  44. url = raw_input("URL :: > http://")
  45. cookie_tosend = raw_input("Cookies: ")
  46. save_cookies = urllib2.build_opener()
  47. save_cookies.addheaders.append(('Cookie', cookie_tosend))
  48. abrir_web = save_cookies.open("http://%s"%url)
  49. try:
  50. q_show = raw_input("Desea volcar el html en un archivo?(HTML) (s/n) ::> ")
  51. if q_show=="s":
  52. try:
  53. save_output = open("%s.html"%raw_input("Archivo de salida(sin .html):"),"w")
  54. save_output.write(abrir_web.read())
  55. save_output.close()
  56. print "Archivo guardado con éxito !"
  57. except:
  58. print "No se pudo guardar el archivo..."
  59. else:
  60. print abrir_web.read()
  61. except:
  62. print "Ocurrió un problema inesperado..."
  63. except:
  64. print "Error inesperado..."
  65. else:
  66. print "No existe dicha opcion"
  67. except:
  68. print "Por favor ingresa un número"
Hice el código lo más ordenado posible, manejando controles de error para todo, evitando un código desastroso (:

Pueden hacer la prueba del programa con esta url : Prueba Cookies

Envíen desde el programa, la cookie "name=Javier" y vean el resultado :D

Y como siempre... Espero sea de su agrado el código !

Fuente: http://rootcodes.com/pythonenviando-y-recibiendo-cookies-jaavier0x5d/

Saludos, Javier.
137  Programación / Scripting / [Código-Python]Código Ofuscado nº2 JaAViEr|0x5d [Actualizado] en: 27 Abril 2012, 05:18 am
Hola, buen día a todos nuevamente !

Estuve pensando en la gente que dice que Python es un lenguaje poco menos inofuscable(no sé si exista la palabra :P) y me pensé hacer un código ofuscado, pero sin depender de librerías :O , Python puro, ya que en la vez pasada lo hice vía base64 más algunas cositas -> http://www.rootcodes.com/pythoncalculadora-ofuscada

Ahora me propuse hacer otro código ofuscado, pero sin librerías ni nada. Es algo difícil de hacer(relativamente), ya que Python es un lenguaje estructurado, lo que facilita la lectura del código, así que ahí me las anduve ingeniando para que sea algo más engorroso :P, el código es el siguiente, espero sea de su 'agrado':
Código
  1. def ____(a_a_a):
  2. _____, ______, ________ = ([],[a_a_a],"")
  3. while ______[+False-True]!=False:     (_____
  4. , ______)=(_____+[______[False-True-True+True]%(True-False+True)],______+[______[-True+False+False**3]/(False+False+True*2)])
  5. for _ in _____[::-True]: ________+="%s"%_
  6. return (
  7. ________
  8. )
  9. (other_s
  10. ,t,
  11. _x_) = ([
  12. ],raw_input,
  13. [" "]
  14. )
  15. h = (
  16. [__
  17. for
  18. __
  19. in
  20. str(
  21. """abcdefghijkl
  22. mnopqrs
  23. tuvwxyz"""
  24. )
  25. ])
  26. ([(h.pop(),
  27. other_s.append("%s"%(
  28. ___)))for ___
  29. in
  30. """abcdefghijkl
  31. mnopqrs
  32. tuvwxyz"""
  33.  ]);
  34. ( [
  35. _x_.append(_i_.replace("\n",""))
  36. for _i_
  37. in
  38. other_s
  39. ] )
  40. for s_s in t(">"): print ____(_x_.index(s_s)),
  41.  
  42.  
Bien, y que hace ?
Te pedirá un texto y te devolverá la posición de cada letra, pero en Binario :P , espero que alguien más se anime a ofuscar código Python y lo suba :D


Fuente : http://rootcodes.com/pythoncodigo-ofuscado-jaavier0x5d/

Saludos, Javier ;D
138  Programación / Scripting / [Python]Técnicas para reducir código JaAViEr|0x5d en: 26 Abril 2012, 23:01 pm
Hola, buen día !
No encontré un mejor título XD, pero aquí voy...
En esta oportunidad pretendo seguir fomentando la reducción de código, aunque sea por unos cuantos caracteres, las formas que explicaré quizás no sean tan útiles para reducir mucho el source, pero si podrían usarlo para ofuscar códigos :P.

Bien, al grano ! . Como bien sabemos, hay varias funciones internas en nuestro amado Python, tales
como : int(), str(), raw_input(), input(), etc...

Entre esa lista podemos incluir nuestras funciones creadas vía "def". Bien, pero eso que tiene de
especial ? , ahora vamos a eso ...

Pondré un caso bien sencillo con el uso de def():
Código
  1. def funcion(parametro):
  2. print parametro
  3.  
  4. func = funcion
  5. print func
  6.  
Veremos que la salida es:
Código:
<function funcion at 0xb74a2454>
Bueno y eso qué dirán ustedes :P , aquí viene lo entretenido. Podemos insertar nuestra función dentro de una variable cualquiera y a partir de ese momento podemos llamar a dicha función por
el nombre de la variable... No se entiende ? , un ejemplo:
Código
  1. def funcion_sumar(primero, segundo):
  2. return primero+segundo
  3.  
  4. sumando = funcion_sumar
  5. print "Resultado:",sumando(1,2)
Salida:
Código:
Resultado: 3
Lo mismo podemos aplicar con las anteriores funciones mencionadas. Yo sinceramente la utilidad que le veo es más que nada para la ofuscación de códigos o para utilizar menos carácteres en
nuestro código, cuando llamamos muchas veces a la función.

 Bien, otra forma singular de llamar funciones podría ser insertar nuestras funciones en un diccionario, para quienes no saben a que me refiero con un diccionario:
 
Código
  1. diccionario = {"variable":valor}
Un sencillo ejemplo para que vean a que me refiero:
 
Código
  1. funciones = {"alfa":raw_input,"nums":input}
  2. print funciones['alfa']("Texto ::>")
  3. print funciones['nums']("Numero ::>")
  4.  
Bien, es una manera diferente, pero no es la mejor para optimizar nuestros códigos...
Una forma similar, pero más corta sería:
Código
  1. alfa, nums = (raw_input, input)
  2. print alfa("Texto ::>")
  3. print nums("Numero ::>")
Eso quiere decir que alfa = raw_input() y nums = input()

Lo bueno de esto es que no nos limita a solo usarlo con Python en Consola, podemos aplicarlo por
ejemplo al hermoso PyQT4, por ejemplo, para no tener que escribir QtGui.QPushButton("Valor",self)
cada vez que creamos un botón, o para no tener que escribir QtGui.QLabel("Valor",self) por cada
label, tampoco tener que escribir QtGui.QLineEdit("Valor",self) por cada LineEdit en el formulario.

Podemos usar las siguientes líneas:
Código
  1. label, inpt, boton =(QtGui.QLabel,QtGui.QLineEdit,QtGui.QPushButton)
Por lo que luego de eso para crear un QtGui.QLabel(); solo debemos llamarlo así:
Código
  1. label("New Label", self)
De igual forma es aplicable para cada elemento, también podríamos utilizarlo para ofuscar códigos en PyQT4, pero a eso si que no le veo más utilidad que proteger nuestro source QT4, un ejemplo
de lo que digo en PyQT4:
Código
  1. # -*- coding: utf-8 -*-
  2. # Autor : 0x5d ~> JaAViEr
  3. # Sitio Web ~> www.codigo.ga
  4. # Twitter ~> @javieresteban__
  5.  
  6. from PyQt4 import QtGui, QtCore
  7. import sys
  8.  
  9. class testeo(QtGui.QWidget):
  10.  def __init__(self, parent=None):
  11.    QtGui.QWidget.__init__(self, parent)
  12.    self.setWindowTitle("Bin to Dec | 0x5d")
  13.    label, inpt, boton =(QtGui.QLabel,QtGui.QLineEdit,QtGui.QPushButton)
  14.    self.label_binario = label("Binario :", self).setGeometry(2,15,59,17)
  15.    self.input_binario = inpt(self)
  16.    self.input_binario.setGeometry(60,10,230,27)
  17.    self.label_resultado = label("Resultado :", self).setGeometry(2,50,80,17)
  18.    self.input_salida = inpt(self)
  19.    self.input_salida.setGeometry(80,43,210,27)
  20.    self.input_salida.setReadOnly(True)
  21.    self.boton_limpiar = boton("Limpiar campos", self)
  22.    self.boton_limpiar.setGeometry(1,75,140,27)
  23.    self.boton_convertir = boton("Convertir", self)
  24.    self.boton_convertir.setGeometry(145,75,140,27)
  25.    self.connect(self.boton_limpiar, QtCore.SIGNAL("clicked()"), self.clear_inputs)
  26.    self.connect(self.boton_convertir, QtCore.SIGNAL("clicked()"), self.conversor)
  27.  
  28.  def clear_inputs(self):
  29.    self.input_binario.setText("")
  30.    self.input_salida.setText("")
  31.  
  32.  def conversor(self):
  33.    numero = str(self.input_binario.text())
  34.    t = 0
  35.    for i,h in zip(numero[::-1],range(0,len(numero))): t+=int(i)*2**int(h)
  36.    self.input_salida.setText(str(t))
  37.  
  38. app = QtGui.QApplication(sys.argv)
  39. form = testeo()
  40. form.show()
  41. app.exec_()
  42.  
Espero sea de su agrado el artículo :) !

Fuente : http://codigo.ga/python/python-tecnicas-reduccion-y-ofuscacion-de-codigo/

Saludos, Javier !
139  Programación / Ejercicios / Re: Volcado a un fichero HTML en Pyhton en: 26 Abril 2012, 21:29 pm
Lo siento si revivo un tema...
Utiliza open:
Código
  1. archivo = open("archivo.html","w")
  2. archivo.write("Linea nueva")
  3. archivo.close()
  4.  

Saludos !
140  Programación / Scripting / Re: [Python]Formas de saber si una palabra es palindromo en: 26 Abril 2012, 01:19 am
Alternativa recursiva:
Código
  1. def palindromo(s):
  2.    return (len(s)<2)or(s[0]!=s[-1])or(palindromo(s[1:-1]))
  3.  
  4. print palindromo(raw_input())
Muy buena !
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines